Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titleNote

This page is being updated with protocol changes introduced in M4 (and are unchanged in release 0.5)

Protocol Header

The body segments of management messages are composed of sequences of binary-encoded data fields, in a manner consistent with the 0-10 version of the AMQP specification.

...

No Format
        +-----+-----+-----+-----+-----------------------+
        | 'A' | 'M' | '2' | 's' |          seq          |
        +-----+-----+-----+-----+------------+----------+
        | kind (uint8) 1=Object, 2=Event     |
        +------------------------------------+---------------------+
        | packageName (str8)              packageName (str8)                        |
        +----------------------------------------------------------+
        | className (str8)              className (str8)                          |
        +----------------------------------------------------------+
        | schema-hash (bin128)              schema-hash (bin128)                      |
        +-----------+--------------+-----------+-----------+----------+
        | propCnt   | statCntpropCount (uint16)                       | methodCnt | eventCnt  |
        +-----------+-------------------------+-----------+
        | statCount (uint16)                            |
        +-----------+------------------------------------+
        | propCnt property records                     methodCount (uint16)                              |
        +------------------------------------------------+----------------------------+
        | statCntpropCount statisticproperty records                                                  |
        +----------------------------------------------------------------------------+
        | methodCntstatCount methodstatistic records                                                   |
        +----------------------------------------------------------------------------+
        | eventCntmethodCount eventmethod records                                                     |
        +----------------------------------------------------------------------------+

Each property record is an AMQP map with the following fields. Optional fields may optionally be omitted from the map.

field name

optional

description

name

no

Name of the property

type

no

Type code for the property

access

no

Access code for the property

index

no

1 = index element, 0 = not an index element

optional

no

1 = optional element (may be not present), 0 = mandatory (always present)

unit

yes

Units for numeric values (i.e. seconds, bytes, etc.)

min

yes

Minimum value for numerics

max

yes

Maximum value for numerics

maxlen

yes

Maximum length for strings

desc

yes

Description of the property

Each statistic record is an AMQP map with the following fields:

field name

optional

description

name

no

Name of the statistic

type

no

Type code for the statistic

unit

yes

Units for numeric values (i.e. seconds, bytes, etc.)

desc

yes

Description of the statistic

method and event records contain a main map that describes the method or header followed by zero or more maps describing arguments. The main map contains the following fields:

field name

optional

description

name

no

Name of the method or event

argCount

no

Number of argument records to follow

desc

yes

Description of the method or event

Argument maps contain the following fields:

event

field name

method

optional

description

nameyes

yes

no

Argument name

type

yes

yes

no

Type code for the argument

dir

yesno

yes

Direction code for method arguments

unit

yes

yes

yes

Units for numeric values (i.e. seconds, bytes, etc.)

min

yes

no

yes

Minimum value for numerics

max

yes

no

yes

Maximum value for numerics

maxlen

yes

no

yes

Maximum length for strings

descyes

yes

yes

Description of the argument

default

yes

no

yes

Default value for the argument

type codes are numerics with the following values:

value

type

1

uint8

2

uint16

3

uint32

4

uint64

6

str8

7

str16

8

absTime(uint64)

9

deltaTime(uint64)

10

objectReference(uint64)

11

boolean(uint8)

12

float

13

double

14

uuid

15

map

16

int8

17

int16

18

int32

19

int64

access codes are numerics with the following values:

value

access

1

Read-Create access

2

Read-Write access

3

Read-Only access

direction codes are numerics strings with the following values:

value

direction

1"I"

Input (from client to broker)

2"O"

Output (from broker to client)

3"IO"

IO (bidirectional)

Heartbeat Indication

...

No Format
        +-----+-----+-----+-------+-----------------------+
        | 'A' | 'M' | '2' |'g/c/i'|          seq          |
        +-----+-----+-----+-------+-----------------------+--------+
        |                packageName (str8)                        |
        +----------------------------------------------------------+
        |                className (str8)                          |
        +----------------------------------------------------------+
        |                class hash (bin128)                       |
        +-----+-----+-----+-----+-----+-----+-----+-----+----------+
        | timestamp of current sample (datetime)        |
        +-----+-----+-----+-----+-----+-----+-----+-----+
        | time object was created (datetime)            |
        +-----+-----+-----+-----+-----+-----+-----+-----+
        | time object was deleted (datetime)            |
        +-----+-----+-----+-----+-----+-----+-----+-----+
        | objectId (uint64bin128)                             |
        +-----+-----+-----+-----+-----+-----+-----+-----+
        | presence bitmasks (0 or more uint8 fields)    |
        +-----+-----+-----+-----+-----+-----+-----+-----+------------------------+
        | config/inst values (in schema order)                                   |
        +------------------------------------------------------------------------+

All timestamps are uint64 values representing nanoseconds since the epoch (January 1, 1970). The objectId is a uint64 bin128 value that uniquely identifies this object instance.

...

The content of a get request is a field table that specifies what objects are being requested. Most of the fields are optional and are available for use in more extensive deployments.

Field Key

Mandatory

Type

Description

"_class"

yes

short-string

The name of the class of objects being requested.

"_package"

no

short-string

The name of the extension package the class belongs to. If omitted, the package defaults to "qpid" for access to objects in the connected broker.

"_agent"

no

uuid

The management agent that is the target of the request. If omitted, agent defaults to the connected broker.

...