HTTP WebSockets Interface
JSON Encapsulation
All JSON responses are encapsulated within a status structure.
Success:
{ status: 'success', data: $data }
Errors:
{ status: 'error', message: 'error string' }
Command Interface
The WebSocket command interface is based on a tag system.
The format of a command is:
$tag COMMAND [optional=parameters, ...]
URI's and Commands
Once a connection is upgraded to a websocket, the following text based commands are available.
/statistics/graphdata
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