WARNING: This server provides a static reference view of the NetKernel documentation. Links to dynamic content do not work. For the best experience we recommend you install NetKernel and view the documentation in the live system .

Introduction

The Introspection REST API tool provides a mechanism to expose the rich runtime state of a NetKernel instance to external tools such as dashboards and management applications. It exposes all the relevant information available on NetKernel control panel and developer tools. The tool provides readonly output in HTML, XML and JSON formats. Access to the API is controlled through the Access Control tool.

HTML tool structure

The tool is user accessible via an icon on the Developer tools tab of the management console. By default output is in human readable HTML format but may be changed by clicking on the JSON or XML buttons at the top.

For convenience a navigation bar is provided next to the JSON and XML format buttons. Output is structured into a hierarchical structure with a top level root node which recursively links to child nodes containing the data in different categories.

HTML output is divided into two parts. Navigation of the structure is provided with child links to lower level nodes and information contained within the node is below, formatted as XML serialized HDS.

Exposing on alternate transports

The raw endpoint is contained within it's own space with the ee:introspect module. This makes it possible to expose the API through alternate transports such as NKP.

Message formats

Requests and Threads

  • locked-endpoints - endpoints which are not threadsafe and are blocking concurrent requests
    • class - class of endpoint
    • root-id - id of root request
    • active - milliseconds since issue
  • queue
    • priority - execution priority
    • request - request toString()
    • root-id - id of root request
    • state - current execution state
    • active - milliseconds since issue
  • threads
    • id - thread id
    • name - thread name
    • cpu - current CPU use by thread
    • isKernel - true if a kernel thread
    • state - execution state of thread
    • root - id of root request
    • request - request toString()
    • stack - java stack trace
  • roots
    • root-id - id of root request
    • status - detection of liveness of request
    • request - request toString()
    • duration - time since issue
    • active - time since last subrequest issued

Uptime

  • totalMilliseconds - number of milliseconds since boot
  • totalRootRequests - number of external root requests received
  • displayString - human readable uptime summary

Memory

  • baseline - Kb of heap after cache cull
  • peak - Kb of heap before cache cull
  • alloc - Kb of heap allocated
  • cacheSize - current cache size
  • cacheSizePeak - peak cache size before cull
  • cacheSizeTrough - lowest cache size after cull
  • cacheHitRate - cache hit rate
  • logRequests - logarithm of requests received per minute
  • requests - requests received per minute
  • time - time of data sample
  • cpu - cpu utilisation
  • gctime - GC cpu usage

Caching Layers

  • count - total number of entries
  • timeSinceLast - duration of statistics period
  • totalCPM - total cost per minute retrieved from cache
  • e - caching layer entry (top 100 displayed)
  • id - endpoint id
  • s - space toString()
  • c - count of cached responses
  • h - cache hits
  • p - percent hit rate
  • r - requests per min
  • tc - total cost cached
  • ac - average cost per response
  • cpm - cost per minute retrieved
  • cpmp - cost per minute as a percentage of total

Cache Cull

  • cull - cull event
  • time - time stamp of cull
  • type - EXPIRED (simply remove expired) or FULL
  • sizeBefore - number of items before cull
  • sizeAfter - number of items after cull
  • removeTarget - number of items to attempt to remove
  • removed - actual number removed
  • sizeThreshold - cache size that triggers cull
  • costThreshold - minimum response cost to cache
  • duration - duration in milliseconds of cull event
  • period - time since last cull in milliseconds
  • heap - heap size in bytes at start of cull

Kernel config

  • item - each configuration item
  • name - name of configuration item
  • value - value of configuration item

Environment

  • property - each system property
  • name - name of property
  • value - value of property

Runlevel

  • runlevel - current runlevel
  • runlevelmax - maximum runlevel

Deployment

  • module - each module
  • id - urn of module
  • runlevel - runlevel of module
  • src - source URI of module
  • jar - true if source is a jar
  • enabled - true if enabled

Endpoint Profiler

  • ep - each endpoint
  • p - endpoint package
  • n - endpoint name
  • c - request count
  • e - exception count
  • t - total time
  • a - average time

Root request profiler

  • ep - each endpoint/transport pair
  • r - transport class
  • rh - transport hash (used to resolve in space explorer)
  • m - owning module of transport
  • mh - module hash
  • e - resolved logical endpoint toString()
  • eh - endpoint hash
  • c - request count
  • t - total time for requests
  • a - average time per request

Endpoint state

  • fields - serialisation of each field in runtime state of endpoint - endpoint specific