Structure of Monitoring Data Messages

The FTL server publishes a stream of monitoring data messages. Each message can contain a group of samples, that is, data values. Each monitoring message also contains fields that identify and describe those samples.

Types of Monitoring Messages

A monitoring message can contain metric samples from a client, metric samples from the FTL server, or data about an event. The msg_type field distinguishes among these three types of message.

Descriptive Fields

Many of the top level fields of a monitoring message contain descriptive information about the samples or event. For example, they describe the application program, client process, and the sampling time.

This descriptive information applies to all of the data samples in the message. For example, all the samples in the message come from the same client, and report data from the same sampling interval.

Samples

A monitoring message can contain data samples of multiple metrics. The metrics field contains an array of data sample submessages.

Data sample submessages can include the following fields:
Context
The object that this sample measures. For example, the context value could be the human-readable name of a specific endpoint.

A set of data sample submessages with the same value in the context field all contain information about the same monitored object.

Type of the metric
The type of counter, that is, the kind of measurement. For example, type 11 denotes the bytes sent metric, which counts the number of bytes sent outbound through a transport. For descriptions of the metric types, see Catalogs of Metrics.
Value
The numeric value of the counter at the end of the sampling interval.
ID
The unique internal identifier of the counter. This ID unambiguously identifies the specific counter, even though the context and type together are usually sufficient to describe the counter.