| edition = "2023"; |
| |
| package milotic_hft; |
| |
| import "sensor_identifier.proto"; |
| |
| // State of telemetry data. This should be updated if necessary to match the |
| // tlBMC Status enum. |
| // LINT.IfChange |
| enum Status { |
| // Data has not been initialized by the collector. |
| // Default state on boot. |
| STATUS_UNKNOWN = 0; |
| // Fresh data ready to be served. |
| STATUS_OK = 1; |
| // State when data refresh timed out or an error occurred preventing future |
| // refreshes. |
| STATUS_STALE = 2; |
| // State when sensor creation failed or is pending some precondition to be |
| // created. |
| STATUS_MISSING = 3; |
| } |
| // LINT.ThenChange(//depot/google3/third_party/milotic/external/cc/tlbmc/store/store_hft_adapter.cc) |
| |
| message State { |
| Status status = 1; |
| string status_message = 2; |
| } |
| |
| message HighFrequencySensorReading { |
| oneof reading { |
| float float_reading = 1; |
| uint64 count = 3; |
| // Add support for other types of readings. |
| } |
| int64 timestamp_ns = 2; // Nanosecond timestamp of the readings. |
| } |
| |
| message HighFrequencySensorsReadings { |
| repeated HighFrequencySensorReading timestamped_readings = 1; |
| SensorIdentifier sensor_identifier = 2; |
| State state = 3; |
| } |
| |
| message HighFrequencySensorsReadingsBatch { |
| repeated HighFrequencySensorsReadings high_frequency_sensors = 1; |
| int32 configured_sampling_interval_ms = |
| 2; // If set, it means all sensors in high_frequency_sensors has been |
| // configured to the same sampling interval |
| } |