HTTP WebSockets Interface

All JSON responses are encapsulated within a status structure.

Success:

{
  status: 'success',
  data: $data
}

Errors:

{
  status: 'error',
  message: 'error string'
}

The WebSocket command interface is based on a tag system.

The format of a command is:

$tag COMMAND [optional=parameters, ...]

Once a connection is upgraded to a websocket, the following text based commands are available.

The graphdata URI allows streaming and retrieval of statistics over a single websockets connection.

Command: subscribe

The subscribe command subscribes a WebSocket to receive periodic statistical updates. The $tag value will be used while streaming statistics (see OTSJsonStats).

Command format:

$tag SUBSCRIBE <$type=$item> [$type2=$item2] [$typeX=$itemX]

The value for tag:

  • The value for tag designates the tag of returned data in the above datatype.

Possible values for type:

  • pool
    • Refers to a $interfaceGroupID:$poolName pair, this is specified as the $item field
  • class
    • Refers to statistics regarding a class. The following is available in the $item field…
      • Class:$interfaceGroupID:$classID
  • basic
    • Refers to a basic counter. The following basic counters are available in the $item field…
      • Counter:ConfigManager:TotalPools
      • Counter:ConfigManager:TotalPoolMembers
      • Counter:ConfigManager:ClassPools:$interfaceGroupID,$classID
      • Counter:ConfigManager:TotalClassPools:$classID

Command: unsubscribe

WIP

Command format:

$tag UNSUBSCRIBE