telemetry.proto 1.88 KB
Newer Older
syntax = "proto3";                      //proto v3.
package telemetry;                      //package name

message Telemetry {                     //telemetry message structure definition.
    string node_id_str = 1;             //The hostname of the device is the unique identifier of the device in the network, which can be configured and modified by the user. It is encoded as 1 in GPB encoding.
    string subscription_id_str = 2;     //Subscription name, the subscription name when the subscription is statically configured
    string sensor_path = 3;             //Subscription path
    uint64 collection_id = 4;           //Identify sampling rounds
    uint64 collection_start_time = 5;   //Identify the start time of the sampling round
    uint64 msg_timestamp = 6;           //Timestamp when this message was generated
    TelemetryGPBTable data_gpb = 7;     //data carried.
    uint64 collection_end_time = 8;     //Identify the end time of the sampling round
    uint32 current_period = 9;          //Sampling accuracy, in milliseconds
    string except_desc = 10;            //Exception description information, which is used to report exception information when sampling exceptions.
    string product_name = 11;           //Product name.
    Encoding encoding = 12;             //Data encoding.
    enum Encoding {
        Encoding_GPB = 0;
    };
}
message TelemetryGPBTable {             //TelemetryGPBTable message structure definition
    repeated TelemetryRowGPB row = 1;   //Array definition, the identification data is the repetition of the TelemetryRowGPB structure.
}
message TelemetryRowGPB {
    uint64 timestamp = 1;               //Timestamp at which the current instance was sampled.
bytes content = 11;                 //The sampled instance data carried is encoded as 11 in GPB encoding. It is necessary to combine the sensor_path field to determine which proto file will be encoded here.
}