blob: ecc985baedc34b324cc8304dd43971ba2c3a225f [file] [log] [blame]
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
}