#[derive(Clone, PartialEq, ::prost::Message)]
pub struct State {
#[prost(int64, optional, tag="1")]
pub time: ::core::option::Option<i64>,
#[prost(string, optional, tag="2")]
pub state: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub service: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub host: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="6")]
pub once: ::core::option::Option<bool>,
#[prost(string, repeated, tag="7")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(float, optional, tag="8")]
pub ttl: ::core::option::Option<f32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Event {
#[prost(int64, optional, tag="1")]
pub time: ::core::option::Option<i64>,
#[prost(string, optional, tag="2")]
pub state: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="3")]
pub service: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="4")]
pub host: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="5")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, repeated, tag="7")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(float, optional, tag="8")]
pub ttl: ::core::option::Option<f32>,
#[prost(message, repeated, tag="9")]
pub attributes: ::prost::alloc::vec::Vec<Attribute>,
#[prost(int64, optional, tag="10")]
pub time_micros: ::core::option::Option<i64>,
#[prost(sint64, optional, tag="13")]
pub metric_sint64: ::core::option::Option<i64>,
#[prost(double, optional, tag="14")]
pub metric_d: ::core::option::Option<f64>,
#[prost(float, optional, tag="15")]
pub metric_f: ::core::option::Option<f32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Query {
#[prost(string, optional, tag="1")]
pub string: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Msg {
#[prost(bool, optional, tag="2")]
pub ok: ::core::option::Option<bool>,
#[prost(string, optional, tag="3")]
pub error: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag="4")]
pub states: ::prost::alloc::vec::Vec<State>,
#[prost(message, optional, tag="5")]
pub query: ::core::option::Option<Query>,
#[prost(message, repeated, tag="6")]
pub events: ::prost::alloc::vec::Vec<Event>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Attribute {
#[prost(string, required, tag="1")]
pub key: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub value: ::core::option::Option<::prost::alloc::string::String>,
}