#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RequestMeta {
#[prost(uint64, tag = "1")]
pub organization_id: u64,
#[prost(string, tag = "2")]
pub cogs_category: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub referrer: ::prost::alloc::string::String,
#[prost(uint64, repeated, tag = "4")]
pub project_ids: ::prost::alloc::vec::Vec<u64>,
#[prost(message, optional, tag = "5")]
pub start_timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "6")]
pub end_timestamp: ::core::option::Option<::prost_types::Timestamp>,
#[prost(enumeration = "TraceItemName", tag = "7")]
pub trace_item_name: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TraceItemName {
Unspecified = 0,
EapSpans = 1,
}
impl TraceItemName {
pub fn as_str_name(&self) -> &'static str {
match self {
TraceItemName::Unspecified => "TRACE_ITEM_NAME_UNSPECIFIED",
TraceItemName::EapSpans => "TRACE_ITEM_NAME_EAP_SPANS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TRACE_ITEM_NAME_UNSPECIFIED" => Some(Self::Unspecified),
"TRACE_ITEM_NAME_EAP_SPANS" => Some(Self::EapSpans),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttributeKey {
#[prost(enumeration = "attribute_key::Type", tag = "1")]
pub r#type: i32,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
}
pub mod attribute_key {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Type {
Unspecified = 0,
Boolean = 1,
String = 2,
Float = 3,
Int = 4,
Double = 5,
}
impl Type {
pub fn as_str_name(&self) -> &'static str {
match self {
Type::Unspecified => "TYPE_UNSPECIFIED",
Type::Boolean => "TYPE_BOOLEAN",
Type::String => "TYPE_STRING",
Type::Float => "TYPE_FLOAT",
Type::Int => "TYPE_INT",
Type::Double => "TYPE_DOUBLE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"TYPE_BOOLEAN" => Some(Self::Boolean),
"TYPE_STRING" => Some(Self::String),
"TYPE_FLOAT" => Some(Self::Float),
"TYPE_INT" => Some(Self::Int),
"TYPE_DOUBLE" => Some(Self::Double),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VirtualColumnContext {
#[prost(string, tag = "1")]
pub from_column_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub to_column_name: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub value_map: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttributeValue {
#[prost(oneof = "attribute_value::Value", tags = "1, 2, 3, 4")]
pub value: ::core::option::Option<attribute_value::Value>,
}
pub mod attribute_value {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(bool, tag = "1")]
ValBool(bool),
#[prost(string, tag = "2")]
ValStr(::prost::alloc::string::String),
#[prost(float, tag = "3")]
ValFloat(f32),
#[prost(int64, tag = "4")]
ValInt(i64),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AndFilter {
#[prost(message, repeated, tag = "1")]
pub filters: ::prost::alloc::vec::Vec<TraceItemFilter>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrFilter {
#[prost(message, repeated, tag = "1")]
pub filters: ::prost::alloc::vec::Vec<TraceItemFilter>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComparisonFilter {
#[prost(message, optional, tag = "1")]
pub key: ::core::option::Option<AttributeKey>,
#[prost(enumeration = "comparison_filter::Op", tag = "2")]
pub op: i32,
#[prost(message, optional, tag = "3")]
pub value: ::core::option::Option<AttributeValue>,
}
pub mod comparison_filter {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Op {
Unspecified = 0,
LessThan = 1,
GreaterThan = 2,
LessThanOrEquals = 3,
GreaterThanOrEquals = 4,
Equals = 5,
NotEquals = 6,
Like = 7,
NotLike = 8,
}
impl Op {
pub fn as_str_name(&self) -> &'static str {
match self {
Op::Unspecified => "OP_UNSPECIFIED",
Op::LessThan => "OP_LESS_THAN",
Op::GreaterThan => "OP_GREATER_THAN",
Op::LessThanOrEquals => "OP_LESS_THAN_OR_EQUALS",
Op::GreaterThanOrEquals => "OP_GREATER_THAN_OR_EQUALS",
Op::Equals => "OP_EQUALS",
Op::NotEquals => "OP_NOT_EQUALS",
Op::Like => "OP_LIKE",
Op::NotLike => "OP_NOT_LIKE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OP_UNSPECIFIED" => Some(Self::Unspecified),
"OP_LESS_THAN" => Some(Self::LessThan),
"OP_GREATER_THAN" => Some(Self::GreaterThan),
"OP_LESS_THAN_OR_EQUALS" => Some(Self::LessThanOrEquals),
"OP_GREATER_THAN_OR_EQUALS" => Some(Self::GreaterThanOrEquals),
"OP_EQUALS" => Some(Self::Equals),
"OP_NOT_EQUALS" => Some(Self::NotEquals),
"OP_LIKE" => Some(Self::Like),
"OP_NOT_LIKE" => Some(Self::NotLike),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExistsFilter {
#[prost(message, optional, tag = "1")]
pub key: ::core::option::Option<AttributeKey>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TraceItemFilter {
#[prost(oneof = "trace_item_filter::Value", tags = "1, 2, 3, 4")]
pub value: ::core::option::Option<trace_item_filter::Value>,
}
pub mod trace_item_filter {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
AndFilter(super::AndFilter),
#[prost(message, tag = "2")]
OrFilter(super::OrFilter),
#[prost(message, tag = "3")]
ComparisonFilter(super::ComparisonFilter),
#[prost(message, tag = "4")]
ExistsFilter(super::ExistsFilter),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AggregateBucketRequest {
#[prost(message, optional, tag = "1")]
pub meta: ::core::option::Option<RequestMeta>,
#[prost(enumeration = "aggregate_bucket_request::Function", tag = "4")]
pub aggregate: i32,
#[prost(message, optional, tag = "5")]
pub filter: ::core::option::Option<TraceItemFilter>,
#[prost(uint64, tag = "6")]
pub granularity_secs: u64,
#[prost(message, optional, tag = "7")]
pub key: ::core::option::Option<AttributeKey>,
#[prost(message, repeated, tag = "8")]
pub virtual_column_context: ::prost::alloc::vec::Vec<VirtualColumnContext>,
}
pub mod aggregate_bucket_request {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Function {
Unspecified = 0,
Sum = 1,
Average = 2,
Count = 3,
P50 = 4,
P95 = 5,
P99 = 6,
Avg = 7,
}
impl Function {
pub fn as_str_name(&self) -> &'static str {
match self {
Function::Unspecified => "FUNCTION_UNSPECIFIED",
Function::Sum => "FUNCTION_SUM",
Function::Average => "FUNCTION_AVERAGE",
Function::Count => "FUNCTION_COUNT",
Function::P50 => "FUNCTION_P50",
Function::P95 => "FUNCTION_P95",
Function::P99 => "FUNCTION_P99",
Function::Avg => "FUNCTION_AVG",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FUNCTION_UNSPECIFIED" => Some(Self::Unspecified),
"FUNCTION_SUM" => Some(Self::Sum),
"FUNCTION_AVERAGE" => Some(Self::Average),
"FUNCTION_COUNT" => Some(Self::Count),
"FUNCTION_P50" => Some(Self::P50),
"FUNCTION_P95" => Some(Self::P95),
"FUNCTION_P99" => Some(Self::P99),
"FUNCTION_AVG" => Some(Self::Avg),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AggregateBucketResponse {
#[prost(float, repeated, tag = "1")]
pub result: ::prost::alloc::vec::Vec<f32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpanSamplesRequest {
#[prost(message, optional, tag = "1")]
pub meta: ::core::option::Option<RequestMeta>,
#[prost(message, optional, tag = "2")]
pub filter: ::core::option::Option<TraceItemFilter>,
#[prost(message, repeated, tag = "3")]
pub order_by: ::prost::alloc::vec::Vec<span_samples_request::OrderBy>,
#[prost(message, repeated, tag = "4")]
pub keys: ::prost::alloc::vec::Vec<AttributeKey>,
#[prost(uint32, tag = "5")]
pub limit: u32,
#[prost(message, repeated, tag = "6")]
pub virtual_column_contexts: ::prost::alloc::vec::Vec<VirtualColumnContext>,
}
pub mod span_samples_request {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrderBy {
#[prost(message, optional, tag = "1")]
pub key: ::core::option::Option<super::AttributeKey>,
#[prost(bool, tag = "2")]
pub descending: bool,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpanSample {
#[prost(map = "string, message", tag = "1")]
pub results: ::std::collections::HashMap<
::prost::alloc::string::String,
AttributeValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpanSamplesResponse {
#[prost(message, repeated, tag = "1")]
pub span_samples: ::prost::alloc::vec::Vec<SpanSample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TraceItemAttributesRequest {
#[prost(message, optional, tag = "1")]
pub meta: ::core::option::Option<RequestMeta>,
#[prost(uint32, tag = "2")]
pub limit: u32,
#[prost(uint32, tag = "3")]
pub offset: u32,
#[prost(enumeration = "attribute_key::Type", tag = "5")]
pub r#type: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TraceItemAttributesResponse {
#[prost(message, repeated, tag = "1")]
pub tags: ::prost::alloc::vec::Vec<trace_item_attributes_response::Tag>,
}
pub mod trace_item_attributes_response {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Tag {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "super::attribute_key::Type", tag = "2")]
pub r#type: i32,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttributeValuesRequest {
#[prost(message, optional, tag = "1")]
pub meta: ::core::option::Option<RequestMeta>,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub value_substring_match: ::prost::alloc::string::String,
#[prost(uint32, tag = "5")]
pub limit: u32,
#[prost(uint32, tag = "6")]
pub offset: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttributeValuesResponse {
#[prost(string, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}