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.
}