1#[derive(serde::Serialize, serde::Deserialize)]
3#[serde(rename_all = "snake_case")]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct BarChart {
6 #[prost(message, optional, tag = "1")]
7 pub query: ::core::option::Option<bar_chart::Query>,
8 #[prost(message, optional, tag = "2")]
9 pub max_bars_per_chart: ::core::option::Option<i32>,
10 #[prost(message, optional, tag = "3")]
11 pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
12 #[prost(message, optional, tag = "4")]
13 pub stack_definition: ::core::option::Option<bar_chart::StackDefinition>,
14 #[prost(enumeration = "common::ScaleType", tag = "5")]
15 pub scale_type: i32,
16 #[prost(message, optional, tag = "6")]
17 pub colors_by: ::core::option::Option<common::ColorsBy>,
18 #[prost(message, optional, tag = "7")]
19 pub x_axis: ::core::option::Option<bar_chart::XAxis>,
20 #[prost(enumeration = "common::Unit", tag = "8")]
21 pub unit: i32,
22 #[prost(enumeration = "common::SortByType", tag = "9")]
23 pub sort_by: i32,
24 #[prost(message, optional, tag = "10")]
25 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
26 #[prost(enumeration = "common::DataModeType", tag = "11")]
27 pub data_mode_type: i32,
28 #[prost(enumeration = "BarValueDisplay", tag = "12")]
29 pub bar_value_display: i32,
30 #[prost(message, optional, tag = "13")]
31 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
32 #[prost(message, optional, tag = "14")]
33 pub decimal: ::core::option::Option<i32>,
34 #[prost(message, optional, tag = "15")]
35 pub legend: ::core::option::Option<common::Legend>,
36 #[prost(message, optional, tag = "16")]
37 pub hash_colors: ::core::option::Option<bool>,
38 #[prost(message, optional, tag = "17")]
39 pub y_axis_min: ::core::option::Option<f32>,
40 #[prost(message, optional, tag = "18")]
41 pub y_axis_max: ::core::option::Option<f32>,
42 #[prost(message, optional, tag = "19")]
43 pub decimal_precision: ::core::option::Option<bool>,
44}
45pub mod bar_chart {
47 #[derive(serde::Serialize, serde::Deserialize)]
48 #[serde(rename_all = "snake_case")]
49 #[derive(Clone, PartialEq, ::prost::Message)]
50 pub struct Query {
51 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
52 pub value: ::core::option::Option<query::Value>,
53 }
54 pub mod query {
56 #[derive(serde::Serialize, serde::Deserialize)]
57 #[serde(rename_all = "snake_case")]
58 #[derive(Clone, PartialEq, ::prost::Oneof)]
59 pub enum Value {
60 #[prost(message, tag = "1")]
61 Logs(super::LogsQuery),
62 #[prost(message, tag = "2")]
63 Spans(super::SpansQuery),
64 #[prost(message, tag = "3")]
65 Metrics(super::MetricsQuery),
66 #[prost(message, tag = "4")]
67 Dataprime(super::DataprimeQuery),
68 }
69 }
70 #[derive(serde::Serialize, serde::Deserialize)]
71 #[serde(rename_all = "snake_case")]
72 #[derive(Clone, PartialEq, ::prost::Message)]
73 pub struct StackDefinition {
74 #[prost(message, optional, tag = "1")]
75 pub max_slices_per_bar: ::core::option::Option<i32>,
76 #[prost(message, optional, tag = "2")]
77 pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
78 }
79 #[derive(serde::Serialize, serde::Deserialize)]
80 #[serde(rename_all = "snake_case")]
81 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
82 pub struct XAxis {
83 #[prost(oneof = "x_axis::Type", tags = "1, 2")]
84 pub r#type: ::core::option::Option<x_axis::Type>,
85 }
86 pub mod x_axis {
88 #[derive(serde::Serialize, serde::Deserialize)]
89 #[serde(rename_all = "snake_case")]
90 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
91 pub struct XAxisByValue {}
92 #[derive(serde::Serialize, serde::Deserialize)]
93 #[serde(rename_all = "snake_case")]
94 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
95 pub struct XAxisByTime {
96 #[prost(message, optional, tag = "1")]
97 pub interval: ::core::option::Option<::prost_wkt_types::Duration>,
98 #[prost(message, optional, tag = "2")]
99 pub buckets_presented: ::core::option::Option<i32>,
100 }
101 #[derive(serde::Serialize, serde::Deserialize)]
102 #[serde(rename_all = "snake_case")]
103 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
104 pub enum Type {
105 #[prost(message, tag = "1")]
106 Value(XAxisByValue),
107 #[prost(message, tag = "2")]
108 Time(XAxisByTime),
109 }
110 }
111 #[derive(serde::Serialize, serde::Deserialize)]
112 #[serde(rename_all = "snake_case")]
113 #[derive(Clone, PartialEq, ::prost::Message)]
114 pub struct LogsQuery {
115 #[prost(message, optional, tag = "1")]
116 pub lucene_query: ::core::option::Option<
117 super::super::super::common::LuceneQuery,
118 >,
119 #[prost(message, optional, tag = "2")]
120 pub aggregation: ::core::option::Option<
121 super::super::super::common::LogsAggregation,
122 >,
123 #[prost(message, repeated, tag = "3")]
124 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
125 #[prost(message, repeated, tag = "4")]
126 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
127 #[prost(message, optional, tag = "5")]
128 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
129 #[prost(message, repeated, tag = "6")]
130 pub group_names_fields: ::prost::alloc::vec::Vec<
131 super::super::super::common::ObservationField,
132 >,
133 #[prost(message, optional, tag = "7")]
134 pub stacked_group_name_field: ::core::option::Option<
135 super::super::super::common::ObservationField,
136 >,
137 #[prost(message, optional, tag = "8")]
138 pub time_frame: ::core::option::Option<
139 super::super::super::common::TimeFrameSelect,
140 >,
141 }
142 #[derive(serde::Serialize, serde::Deserialize)]
143 #[serde(rename_all = "snake_case")]
144 #[derive(Clone, PartialEq, ::prost::Message)]
145 pub struct SpansQuery {
146 #[prost(message, optional, tag = "1")]
147 pub lucene_query: ::core::option::Option<
148 super::super::super::common::LuceneQuery,
149 >,
150 #[prost(message, optional, tag = "2")]
151 pub aggregation: ::core::option::Option<
152 super::super::super::common::SpansAggregation,
153 >,
154 #[prost(message, repeated, tag = "3")]
155 pub filters: ::prost::alloc::vec::Vec<
156 super::super::filters::filter::SpansFilter,
157 >,
158 #[prost(message, repeated, tag = "4")]
159 pub group_names: ::prost::alloc::vec::Vec<
160 super::super::super::common::SpanField,
161 >,
162 #[prost(message, optional, tag = "5")]
163 pub stacked_group_name: ::core::option::Option<
164 super::super::super::common::SpanField,
165 >,
166 #[prost(message, optional, tag = "6")]
167 pub time_frame: ::core::option::Option<
168 super::super::super::common::TimeFrameSelect,
169 >,
170 #[prost(message, repeated, tag = "7")]
171 pub group_names_fields: ::prost::alloc::vec::Vec<
172 super::super::super::common::SpanObservationField,
173 >,
174 #[prost(message, optional, tag = "8")]
175 pub stacked_group_name_field: ::core::option::Option<
176 super::super::super::common::SpanObservationField,
177 >,
178 }
179 #[derive(serde::Serialize, serde::Deserialize)]
180 #[serde(rename_all = "snake_case")]
181 #[derive(Clone, PartialEq, ::prost::Message)]
182 pub struct MetricsQuery {
183 #[prost(message, optional, tag = "1")]
184 pub promql_query: ::core::option::Option<
185 super::super::super::common::PromQlQuery,
186 >,
187 #[prost(message, repeated, tag = "2")]
188 pub filters: ::prost::alloc::vec::Vec<
189 super::super::filters::filter::MetricsFilter,
190 >,
191 #[prost(message, repeated, tag = "3")]
192 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
193 #[prost(message, optional, tag = "4")]
194 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
195 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
196 pub editor_mode: i32,
197 #[prost(message, optional, tag = "6")]
198 pub time_frame: ::core::option::Option<
199 super::super::super::common::TimeFrameSelect,
200 >,
201 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
202 pub promql_query_type: i32,
203 #[prost(enumeration = "super::common::Aggregation", tag = "8")]
204 pub aggregation: i32,
205 }
206 #[derive(serde::Serialize, serde::Deserialize)]
207 #[serde(rename_all = "snake_case")]
208 #[derive(Clone, PartialEq, ::prost::Message)]
209 pub struct DataprimeQuery {
210 #[prost(message, optional, tag = "1")]
211 pub dataprime_query: ::core::option::Option<
212 super::super::super::common::DataprimeQuery,
213 >,
214 #[prost(message, repeated, tag = "2")]
215 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
216 #[prost(message, repeated, tag = "3")]
217 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
218 #[prost(message, optional, tag = "4")]
219 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
220 #[prost(message, optional, tag = "5")]
221 pub time_frame: ::core::option::Option<
222 super::super::super::common::TimeFrameSelect,
223 >,
224 }
225}
226#[derive(serde::Serialize, serde::Deserialize)]
227#[serde(rename_all = "snake_case")]
228#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
229#[repr(i32)]
230pub enum BarValueDisplay {
231 Unspecified = 0,
232 Top = 1,
233 Inside = 2,
234 Both = 3,
235}
236impl BarValueDisplay {
237 pub fn as_str_name(&self) -> &'static str {
242 match self {
243 Self::Unspecified => "BAR_VALUE_DISPLAY_UNSPECIFIED",
244 Self::Top => "BAR_VALUE_DISPLAY_TOP",
245 Self::Inside => "BAR_VALUE_DISPLAY_INSIDE",
246 Self::Both => "BAR_VALUE_DISPLAY_BOTH",
247 }
248 }
249 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
251 match value {
252 "BAR_VALUE_DISPLAY_UNSPECIFIED" => Some(Self::Unspecified),
253 "BAR_VALUE_DISPLAY_TOP" => Some(Self::Top),
254 "BAR_VALUE_DISPLAY_INSIDE" => Some(Self::Inside),
255 "BAR_VALUE_DISPLAY_BOTH" => Some(Self::Both),
256 _ => None,
257 }
258 }
259}
260#[derive(serde::Serialize, serde::Deserialize)]
261#[serde(rename_all = "snake_case")]
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct DataTable {
264 #[prost(message, optional, tag = "1")]
265 pub query: ::core::option::Option<data_table::Query>,
266 #[prost(message, optional, tag = "2")]
267 pub results_per_page: ::core::option::Option<i32>,
268 #[prost(enumeration = "RowStyle", tag = "3")]
269 pub row_style: i32,
270 #[prost(message, repeated, tag = "4")]
271 pub columns: ::prost::alloc::vec::Vec<data_table::Column>,
272 #[prost(message, optional, tag = "5")]
273 pub order_by: ::core::option::Option<super::super::common::OrderingField>,
274 #[prost(enumeration = "common::DataModeType", tag = "11")]
275 pub data_mode_type: i32,
276}
277pub mod data_table {
279 #[derive(serde::Serialize, serde::Deserialize)]
280 #[serde(rename_all = "snake_case")]
281 #[derive(Clone, PartialEq, ::prost::Message)]
282 pub struct Query {
283 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
284 pub value: ::core::option::Option<query::Value>,
285 }
286 pub mod query {
288 #[derive(serde::Serialize, serde::Deserialize)]
289 #[serde(rename_all = "snake_case")]
290 #[derive(Clone, PartialEq, ::prost::Oneof)]
291 pub enum Value {
292 #[prost(message, tag = "1")]
293 Logs(super::LogsQuery),
294 #[prost(message, tag = "2")]
295 Spans(super::SpansQuery),
296 #[prost(message, tag = "3")]
297 Metrics(super::MetricsQuery),
298 #[prost(message, tag = "4")]
299 Dataprime(super::DataprimeQuery),
300 }
301 }
302 #[derive(serde::Serialize, serde::Deserialize)]
303 #[serde(rename_all = "snake_case")]
304 #[derive(Clone, PartialEq, ::prost::Message)]
305 pub struct LogsQuery {
306 #[prost(message, optional, tag = "1")]
307 pub lucene_query: ::core::option::Option<
308 super::super::super::common::LuceneQuery,
309 >,
310 #[prost(message, repeated, tag = "2")]
311 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
312 #[prost(message, optional, tag = "3")]
313 pub grouping: ::core::option::Option<logs_query::Grouping>,
314 #[prost(message, optional, tag = "4")]
315 pub time_frame: ::core::option::Option<
316 super::super::super::common::TimeFrameSelect,
317 >,
318 }
319 pub mod logs_query {
321 #[derive(serde::Serialize, serde::Deserialize)]
322 #[serde(rename_all = "snake_case")]
323 #[derive(Clone, PartialEq, ::prost::Message)]
324 pub struct Grouping {
325 #[prost(message, repeated, tag = "1")]
326 pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
327 #[prost(message, repeated, tag = "2")]
328 pub aggregations: ::prost::alloc::vec::Vec<Aggregation>,
329 #[prost(message, repeated, tag = "3")]
330 pub group_bys: ::prost::alloc::vec::Vec<
331 super::super::super::super::common::ObservationField,
332 >,
333 }
334 #[derive(serde::Serialize, serde::Deserialize)]
335 #[serde(rename_all = "snake_case")]
336 #[derive(Clone, PartialEq, ::prost::Message)]
337 pub struct Aggregation {
338 #[prost(message, optional, tag = "1")]
339 pub id: ::core::option::Option<::prost::alloc::string::String>,
340 #[prost(message, optional, tag = "2")]
341 pub name: ::core::option::Option<::prost::alloc::string::String>,
342 #[prost(message, optional, tag = "3")]
343 pub is_visible: ::core::option::Option<bool>,
344 #[prost(message, optional, tag = "4")]
345 pub aggregation: ::core::option::Option<
346 super::super::super::super::common::LogsAggregation,
347 >,
348 }
349 }
350 #[derive(serde::Serialize, serde::Deserialize)]
351 #[serde(rename_all = "snake_case")]
352 #[derive(Clone, PartialEq, ::prost::Message)]
353 pub struct SpansQuery {
354 #[prost(message, optional, tag = "1")]
355 pub lucene_query: ::core::option::Option<
356 super::super::super::common::LuceneQuery,
357 >,
358 #[prost(message, repeated, tag = "2")]
359 pub filters: ::prost::alloc::vec::Vec<
360 super::super::filters::filter::SpansFilter,
361 >,
362 #[prost(message, optional, tag = "3")]
363 pub grouping: ::core::option::Option<spans_query::Grouping>,
364 #[prost(message, optional, tag = "4")]
365 pub time_frame: ::core::option::Option<
366 super::super::super::common::TimeFrameSelect,
367 >,
368 }
369 pub mod spans_query {
371 #[derive(serde::Serialize, serde::Deserialize)]
372 #[serde(rename_all = "snake_case")]
373 #[derive(Clone, PartialEq, ::prost::Message)]
374 pub struct Grouping {
375 #[prost(message, repeated, tag = "1")]
376 pub group_by: ::prost::alloc::vec::Vec<
377 super::super::super::super::common::SpanField,
378 >,
379 #[prost(message, repeated, tag = "2")]
380 pub aggregations: ::prost::alloc::vec::Vec<Aggregation>,
381 #[prost(message, repeated, tag = "3")]
382 pub group_bys: ::prost::alloc::vec::Vec<
383 super::super::super::super::common::SpanObservationField,
384 >,
385 }
386 #[derive(serde::Serialize, serde::Deserialize)]
387 #[serde(rename_all = "snake_case")]
388 #[derive(Clone, PartialEq, ::prost::Message)]
389 pub struct Aggregation {
390 #[prost(message, optional, tag = "1")]
391 pub id: ::core::option::Option<::prost::alloc::string::String>,
392 #[prost(message, optional, tag = "2")]
393 pub name: ::core::option::Option<::prost::alloc::string::String>,
394 #[prost(message, optional, tag = "3")]
395 pub is_visible: ::core::option::Option<bool>,
396 #[prost(message, optional, tag = "4")]
397 pub aggregation: ::core::option::Option<
398 super::super::super::super::common::SpansAggregation,
399 >,
400 }
401 }
402 #[derive(serde::Serialize, serde::Deserialize)]
403 #[serde(rename_all = "snake_case")]
404 #[derive(Clone, PartialEq, ::prost::Message)]
405 pub struct MetricsQuery {
406 #[prost(message, optional, tag = "1")]
407 pub promql_query: ::core::option::Option<
408 super::super::super::common::PromQlQuery,
409 >,
410 #[prost(message, repeated, tag = "2")]
411 pub filters: ::prost::alloc::vec::Vec<
412 super::super::filters::filter::MetricsFilter,
413 >,
414 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
415 pub editor_mode: i32,
416 #[prost(message, optional, tag = "4")]
417 pub time_frame: ::core::option::Option<
418 super::super::super::common::TimeFrameSelect,
419 >,
420 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "5")]
421 pub promql_query_type: i32,
422 }
423 #[derive(serde::Serialize, serde::Deserialize)]
424 #[serde(rename_all = "snake_case")]
425 #[derive(Clone, PartialEq, ::prost::Message)]
426 pub struct DataprimeQuery {
427 #[prost(message, optional, tag = "1")]
428 pub dataprime_query: ::core::option::Option<
429 super::super::super::common::DataprimeQuery,
430 >,
431 #[prost(message, repeated, tag = "2")]
432 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
433 #[prost(message, optional, tag = "3")]
434 pub time_frame: ::core::option::Option<
435 super::super::super::common::TimeFrameSelect,
436 >,
437 }
438 #[derive(serde::Serialize, serde::Deserialize)]
439 #[serde(rename_all = "snake_case")]
440 #[derive(Clone, PartialEq, ::prost::Message)]
441 pub struct Column {
442 #[prost(message, optional, tag = "1")]
443 pub field: ::core::option::Option<::prost::alloc::string::String>,
444 #[prost(message, optional, tag = "2")]
445 pub width: ::core::option::Option<i32>,
446 }
447}
448#[derive(serde::Serialize, serde::Deserialize)]
449#[serde(rename_all = "snake_case")]
450#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
451#[repr(i32)]
452pub enum RowStyle {
453 Unspecified = 0,
454 OneLine = 1,
455 TwoLine = 2,
456 Condensed = 3,
457 Json = 4,
458 List = 5,
459}
460impl RowStyle {
461 pub fn as_str_name(&self) -> &'static str {
466 match self {
467 Self::Unspecified => "ROW_STYLE_UNSPECIFIED",
468 Self::OneLine => "ROW_STYLE_ONE_LINE",
469 Self::TwoLine => "ROW_STYLE_TWO_LINE",
470 Self::Condensed => "ROW_STYLE_CONDENSED",
471 Self::Json => "ROW_STYLE_JSON",
472 Self::List => "ROW_STYLE_LIST",
473 }
474 }
475 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
477 match value {
478 "ROW_STYLE_UNSPECIFIED" => Some(Self::Unspecified),
479 "ROW_STYLE_ONE_LINE" => Some(Self::OneLine),
480 "ROW_STYLE_TWO_LINE" => Some(Self::TwoLine),
481 "ROW_STYLE_CONDENSED" => Some(Self::Condensed),
482 "ROW_STYLE_JSON" => Some(Self::Json),
483 "ROW_STYLE_LIST" => Some(Self::List),
484 _ => None,
485 }
486 }
487}
488#[derive(serde::Serialize, serde::Deserialize)]
489#[serde(rename_all = "snake_case")]
490#[derive(Clone, PartialEq, ::prost::Message)]
491pub struct Dynamic {
492 #[deprecated]
494 #[prost(message, optional, tag = "1")]
495 pub query: ::core::option::Option<dynamic::Query>,
496 #[prost(message, optional, tag = "2")]
497 pub time_frame: ::core::option::Option<super::super::common::TimeFrameSelect>,
498 #[prost(enumeration = "dynamic::Interpretation", tag = "3")]
499 pub interpretation: i32,
500 #[prost(message, optional, tag = "4")]
501 pub visualization: ::core::option::Option<dynamic::Visualization>,
502 #[prost(message, repeated, tag = "5")]
503 pub query_definitions: ::prost::alloc::vec::Vec<dynamic::QueryDefinition>,
504}
505pub mod dynamic {
507 #[derive(serde::Serialize, serde::Deserialize)]
508 #[serde(rename_all = "snake_case")]
509 #[derive(Clone, PartialEq, ::prost::Message)]
510 pub struct QueryDefinition {
511 #[prost(message, optional, tag = "1")]
512 pub id: ::core::option::Option<::prost::alloc::string::String>,
513 #[prost(message, optional, tag = "2")]
514 pub query: ::core::option::Option<Query>,
515 #[prost(message, optional, tag = "3")]
516 pub name: ::core::option::Option<::prost::alloc::string::String>,
517 }
518 #[derive(serde::Serialize, serde::Deserialize)]
519 #[serde(rename_all = "snake_case")]
520 #[derive(Clone, PartialEq, ::prost::Message)]
521 pub struct Query {
522 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
523 pub value: ::core::option::Option<query::Value>,
524 }
525 pub mod query {
527 #[derive(serde::Serialize, serde::Deserialize)]
528 #[serde(rename_all = "snake_case")]
529 #[derive(Clone, PartialEq, ::prost::Message)]
530 pub struct Logs {
531 #[prost(message, optional, tag = "1")]
532 pub lucene_query: ::core::option::Option<
533 super::super::super::super::common::LuceneQuery,
534 >,
535 #[prost(enumeration = "super::super::common::DataModeType", tag = "2")]
536 pub data_mode_type: i32,
537 #[prost(message, repeated, tag = "3")]
538 pub filters: ::prost::alloc::vec::Vec<
539 super::super::super::filters::filter::LogsFilter,
540 >,
541 #[prost(message, repeated, tag = "4")]
542 pub group_by: ::prost::alloc::vec::Vec<
543 super::super::super::super::common::ObservationField,
544 >,
545 #[prost(message, repeated, tag = "5")]
546 pub aggregation: ::prost::alloc::vec::Vec<
547 super::super::super::super::common::LogsAggregation,
548 >,
549 }
550 #[derive(serde::Serialize, serde::Deserialize)]
551 #[serde(rename_all = "snake_case")]
552 #[derive(Clone, PartialEq, ::prost::Message)]
553 pub struct Spans {
554 #[prost(message, optional, tag = "1")]
555 pub lucene_query: ::core::option::Option<
556 super::super::super::super::common::LuceneQuery,
557 >,
558 #[prost(enumeration = "super::super::common::DataModeType", tag = "2")]
559 pub data_mode_type: i32,
560 #[prost(message, repeated, tag = "3")]
561 pub filters: ::prost::alloc::vec::Vec<
562 super::super::super::filters::filter::SpansFilter,
563 >,
564 #[prost(message, repeated, tag = "4")]
565 pub group_by: ::prost::alloc::vec::Vec<
566 super::super::super::super::common::SpanObservationField,
567 >,
568 #[prost(message, repeated, tag = "5")]
569 pub aggregation: ::prost::alloc::vec::Vec<
570 super::super::super::super::common::LogsAggregation,
571 >,
572 }
573 #[derive(serde::Serialize, serde::Deserialize)]
574 #[serde(rename_all = "snake_case")]
575 #[derive(Clone, PartialEq, ::prost::Message)]
576 pub struct Metrics {
577 #[prost(message, optional, tag = "1")]
578 pub promql_query: ::core::option::Option<
579 super::super::super::super::common::PromQlQuery,
580 >,
581 #[prost(
582 enumeration = "super::super::super::super::common::PromQlQueryType",
583 tag = "2"
584 )]
585 pub promql_query_type: i32,
586 #[prost(
587 enumeration = "super::super::common::MetricsQueryEditorMode",
588 tag = "3"
589 )]
590 pub editor_mode: i32,
591 #[prost(
592 enumeration = "super::super::super::super::common::MetricsSeriesLimitType",
593 tag = "4"
594 )]
595 pub series_limit_type: i32,
596 }
597 #[derive(serde::Serialize, serde::Deserialize)]
598 #[serde(rename_all = "snake_case")]
599 #[derive(Clone, PartialEq, ::prost::Message)]
600 pub struct Dataprime {
601 #[prost(message, optional, tag = "1")]
602 pub dataprime_query: ::core::option::Option<
603 super::super::super::super::common::DataprimeQuery,
604 >,
605 #[prost(enumeration = "super::super::common::DataModeType", tag = "2")]
606 pub data_mode_type: i32,
607 }
608 #[derive(serde::Serialize, serde::Deserialize)]
609 #[serde(rename_all = "snake_case")]
610 #[derive(Clone, PartialEq, ::prost::Oneof)]
611 pub enum Value {
612 #[prost(message, tag = "1")]
613 Logs(Logs),
614 #[prost(message, tag = "2")]
615 Spans(Spans),
616 #[prost(message, tag = "3")]
617 Metrics(Metrics),
618 #[prost(message, tag = "4")]
619 Dataprime(Dataprime),
620 }
621 }
622 #[derive(serde::Serialize, serde::Deserialize)]
623 #[serde(rename_all = "snake_case")]
624 #[derive(Clone, PartialEq, ::prost::Message)]
625 pub struct Visualization {
626 #[prost(
627 oneof = "visualization::Value",
628 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11"
629 )]
630 pub value: ::core::option::Option<visualization::Value>,
631 }
632 pub mod visualization {
634 #[derive(serde::Serialize, serde::Deserialize)]
635 #[serde(rename_all = "snake_case")]
636 #[derive(Clone, PartialEq, ::prost::Message)]
637 pub struct Table {
638 #[prost(message, repeated, tag = "1")]
639 pub columns: ::prost::alloc::vec::Vec<table::Column>,
640 #[prost(message, repeated, tag = "2")]
641 pub rules: ::prost::alloc::vec::Vec<table::Rule>,
642 }
643 pub mod table {
645 #[derive(serde::Serialize, serde::Deserialize)]
646 #[serde(rename_all = "snake_case")]
647 #[derive(Clone, PartialEq, ::prost::Message)]
648 pub struct Column {
649 #[prost(message, optional, tag = "1")]
650 pub field: ::core::option::Option<
651 super::super::super::super::super::common::ObservationField,
652 >,
653 }
654 #[derive(serde::Serialize, serde::Deserialize)]
655 #[serde(rename_all = "snake_case")]
656 #[derive(Clone, PartialEq, ::prost::Message)]
657 pub struct Rule {
658 #[prost(message, optional, tag = "1")]
659 pub id: ::core::option::Option<super::super::super::super::super::Uuid>,
660 #[prost(message, optional, tag = "2")]
661 pub name: ::core::option::Option<::prost::alloc::string::String>,
662 #[prost(message, optional, tag = "3")]
663 pub description: ::core::option::Option<::prost::alloc::string::String>,
664 #[prost(message, optional, tag = "4")]
665 pub rule_scope: ::core::option::Option<RuleScope>,
666 #[prost(message, repeated, tag = "5")]
667 pub properties: ::prost::alloc::vec::Vec<Property>,
668 }
669 #[derive(serde::Serialize, serde::Deserialize)]
670 #[serde(rename_all = "snake_case")]
671 #[derive(Clone, PartialEq, ::prost::Message)]
672 pub struct RuleScope {
673 #[prost(oneof = "rule_scope::Value", tags = "1, 2, 3")]
674 pub value: ::core::option::Option<rule_scope::Value>,
675 }
676 pub mod rule_scope {
678 #[derive(serde::Serialize, serde::Deserialize)]
679 #[serde(rename_all = "snake_case")]
680 #[derive(Clone, PartialEq, ::prost::Oneof)]
681 pub enum Value {
682 #[prost(message, tag = "1")]
683 Field(
684 super::super::super::super::super::super::common::ObservationField,
685 ),
686 #[prost(message, tag = "2")]
687 Regex(::prost::alloc::string::String),
688 #[prost(enumeration = "super::FieldDataType", tag = "3")]
689 FieldType(i32),
690 }
691 }
692 #[derive(serde::Serialize, serde::Deserialize)]
693 #[serde(rename_all = "snake_case")]
694 #[derive(Clone, PartialEq, ::prost::Message)]
695 pub struct Property {
696 #[prost(message, optional, tag = "1")]
697 pub id: ::core::option::Option<super::super::super::super::super::Uuid>,
698 #[prost(message, optional, tag = "2")]
699 pub definition: ::core::option::Option<PropertyDefinition>,
700 }
701 #[derive(serde::Serialize, serde::Deserialize)]
702 #[serde(rename_all = "snake_case")]
703 #[derive(Clone, PartialEq, ::prost::Message)]
704 pub struct PropertyDefinition {
705 #[prost(
706 oneof = "property_definition::Value",
707 tags = "1, 2, 3, 4, 5, 6, 7"
708 )]
709 pub value: ::core::option::Option<property_definition::Value>,
710 }
711 pub mod property_definition {
713 #[derive(serde::Serialize, serde::Deserialize)]
714 #[serde(rename_all = "snake_case")]
715 #[derive(Clone, PartialEq, ::prost::Oneof)]
716 pub enum Value {
717 #[prost(message, tag = "1")]
718 Thresholds(super::PropertyThresholds),
719 #[prost(
720 enumeration = "super::super::super::super::common::TextAlignment",
721 tag = "2"
722 )]
723 Alignment(i32),
724 #[prost(message, tag = "3")]
725 Units(super::super::PropertyUnits),
726 #[prost(message, tag = "4")]
727 RegexExtract(::prost::alloc::string::String),
728 #[prost(message, tag = "5")]
729 Link(super::super::PropertyLinks),
730 #[prost(message, tag = "6")]
731 ValuesAlias(::prost::alloc::string::String),
732 #[prost(message, tag = "7")]
733 ValuesMapping(super::super::PropertyValuesMapping),
734 }
735 }
736 #[derive(serde::Serialize, serde::Deserialize)]
737 #[serde(rename_all = "snake_case")]
738 #[derive(Clone, PartialEq, ::prost::Message)]
739 pub struct PropertyThresholds {
740 #[prost(message, repeated, tag = "1")]
741 pub values: ::prost::alloc::vec::Vec<
742 super::super::super::common::Threshold,
743 >,
744 #[prost(
745 enumeration = "super::super::super::common::ThresholdType",
746 tag = "2"
747 )]
748 pub r#type: i32,
749 #[prost(message, optional, tag = "3")]
750 pub min: ::core::option::Option<f64>,
751 #[prost(message, optional, tag = "4")]
752 pub max: ::core::option::Option<f64>,
753 }
754 #[derive(serde::Serialize, serde::Deserialize)]
755 #[serde(rename_all = "snake_case")]
756 #[derive(
757 Clone,
758 Copy,
759 Debug,
760 PartialEq,
761 Eq,
762 Hash,
763 PartialOrd,
764 Ord,
765 ::prost::Enumeration
766 )]
767 #[repr(i32)]
768 pub enum FieldDataType {
769 Unspecified = 0,
770 Number = 1,
771 String = 2,
772 Boolean = 3,
773 Timestamp = 4,
774 Object = 5,
775 Array = 6,
776 Regex = 7,
777 Union = 8,
778 Enum = 9,
779 }
780 impl FieldDataType {
781 pub fn as_str_name(&self) -> &'static str {
786 match self {
787 Self::Unspecified => "FIELD_DATA_TYPE_UNSPECIFIED",
788 Self::Number => "FIELD_DATA_TYPE_NUMBER",
789 Self::String => "FIELD_DATA_TYPE_STRING",
790 Self::Boolean => "FIELD_DATA_TYPE_BOOLEAN",
791 Self::Timestamp => "FIELD_DATA_TYPE_TIMESTAMP",
792 Self::Object => "FIELD_DATA_TYPE_OBJECT",
793 Self::Array => "FIELD_DATA_TYPE_ARRAY",
794 Self::Regex => "FIELD_DATA_TYPE_REGEX",
795 Self::Union => "FIELD_DATA_TYPE_UNION",
796 Self::Enum => "FIELD_DATA_TYPE_ENUM",
797 }
798 }
799 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
801 match value {
802 "FIELD_DATA_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
803 "FIELD_DATA_TYPE_NUMBER" => Some(Self::Number),
804 "FIELD_DATA_TYPE_STRING" => Some(Self::String),
805 "FIELD_DATA_TYPE_BOOLEAN" => Some(Self::Boolean),
806 "FIELD_DATA_TYPE_TIMESTAMP" => Some(Self::Timestamp),
807 "FIELD_DATA_TYPE_OBJECT" => Some(Self::Object),
808 "FIELD_DATA_TYPE_ARRAY" => Some(Self::Array),
809 "FIELD_DATA_TYPE_REGEX" => Some(Self::Regex),
810 "FIELD_DATA_TYPE_UNION" => Some(Self::Union),
811 "FIELD_DATA_TYPE_ENUM" => Some(Self::Enum),
812 _ => None,
813 }
814 }
815 }
816 }
817 #[derive(serde::Serialize, serde::Deserialize)]
818 #[serde(rename_all = "snake_case")]
819 #[derive(Clone, PartialEq, ::prost::Message)]
820 pub struct PropertyUnits {
821 #[prost(message, optional, tag = "1")]
822 pub min: ::core::option::Option<f64>,
823 #[prost(message, optional, tag = "2")]
824 pub max: ::core::option::Option<f64>,
825 #[prost(enumeration = "super::super::common::Unit", tag = "3")]
826 pub unit: i32,
827 #[prost(message, optional, tag = "4")]
828 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
829 #[prost(message, optional, tag = "5")]
830 pub decimal_precision: ::core::option::Option<i32>,
831 #[prost(message, optional, tag = "6")]
832 pub allow_abbreviation: ::core::option::Option<bool>,
833 }
834 #[derive(serde::Serialize, serde::Deserialize)]
835 #[serde(rename_all = "snake_case")]
836 #[derive(Clone, PartialEq, ::prost::Message)]
837 pub struct PropertyLinks {
838 #[prost(message, repeated, tag = "1")]
839 pub actions: ::prost::alloc::vec::Vec<property_links::LinkAction>,
840 }
841 pub mod property_links {
843 #[derive(serde::Serialize, serde::Deserialize)]
844 #[serde(rename_all = "snake_case")]
845 #[derive(Clone, PartialEq, ::prost::Message)]
846 pub struct LinkAction {
847 #[prost(message, optional, tag = "1")]
848 pub id: ::core::option::Option<super::super::super::super::super::Uuid>,
849 #[prost(message, optional, tag = "2")]
850 pub name: ::core::option::Option<::prost::alloc::string::String>,
851 #[prost(message, optional, tag = "3")]
852 pub url: ::core::option::Option<::prost::alloc::string::String>,
853 #[prost(message, optional, tag = "4")]
854 pub should_open_in_new_window: ::core::option::Option<bool>,
855 }
856 }
857 #[derive(serde::Serialize, serde::Deserialize)]
858 #[serde(rename_all = "snake_case")]
859 #[derive(Clone, PartialEq, ::prost::Message)]
860 pub struct PropertyValuesMapping {
861 #[prost(message, repeated, tag = "1")]
862 pub mappings: ::prost::alloc::vec::Vec<
863 property_values_mapping::ValueMapping,
864 >,
865 }
866 pub mod property_values_mapping {
868 #[derive(serde::Serialize, serde::Deserialize)]
869 #[serde(rename_all = "snake_case")]
870 #[derive(Clone, PartialEq, ::prost::Message)]
871 pub struct ValueMapping {
872 #[prost(enumeration = "ValuesMappingType", tag = "1")]
873 pub r#type: i32,
874 #[prost(message, optional, tag = "2")]
875 pub input_value: ::core::option::Option<::prost::alloc::string::String>,
876 #[prost(message, optional, tag = "3")]
877 pub replace_value: ::core::option::Option<
878 ::prost::alloc::string::String,
879 >,
880 }
881 #[derive(serde::Serialize, serde::Deserialize)]
882 #[serde(rename_all = "snake_case")]
883 #[derive(
884 Clone,
885 Copy,
886 Debug,
887 PartialEq,
888 Eq,
889 Hash,
890 PartialOrd,
891 Ord,
892 ::prost::Enumeration
893 )]
894 #[repr(i32)]
895 pub enum ValuesMappingType {
896 Unspecified = 0,
897 Value = 1,
898 Regex = 2,
899 }
900 impl ValuesMappingType {
901 pub fn as_str_name(&self) -> &'static str {
906 match self {
907 Self::Unspecified => "VALUES_MAPPING_TYPE_UNSPECIFIED",
908 Self::Value => "VALUES_MAPPING_TYPE_VALUE",
909 Self::Regex => "VALUES_MAPPING_TYPE_REGEX",
910 }
911 }
912 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
914 match value {
915 "VALUES_MAPPING_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
916 "VALUES_MAPPING_TYPE_VALUE" => Some(Self::Value),
917 "VALUES_MAPPING_TYPE_REGEX" => Some(Self::Regex),
918 _ => None,
919 }
920 }
921 }
922 }
923 #[derive(serde::Serialize, serde::Deserialize)]
924 #[serde(rename_all = "snake_case")]
925 #[derive(Clone, PartialEq, ::prost::Message)]
926 pub struct TimeSeriesLines {
927 #[prost(message, optional, tag = "1")]
928 pub temporal_field: ::core::option::Option<
929 super::super::super::super::common::ObservationField,
930 >,
931 #[prost(message, repeated, tag = "2")]
932 pub value_fields: ::prost::alloc::vec::Vec<
933 super::super::super::super::common::ObservationField,
934 >,
935 #[prost(message, repeated, tag = "3")]
936 pub category_fields: ::prost::alloc::vec::Vec<
937 super::super::super::super::common::ObservationField,
938 >,
939 #[prost(message, optional, tag = "4")]
940 pub legend: ::core::option::Option<super::super::common::Legend>,
941 #[prost(message, optional, tag = "5")]
942 pub tooltip: ::core::option::Option<TimeSeriesTooltip>,
943 #[prost(enumeration = "time_series_lines::StackedLine", tag = "6")]
944 pub stacked_line: i32,
945 #[prost(message, optional, tag = "7")]
946 pub connect_nulls: ::core::option::Option<bool>,
947 #[prost(message, optional, tag = "8")]
948 pub series_name_template: ::core::option::Option<
949 ::prost::alloc::string::String,
950 >,
951 #[prost(message, optional, tag = "9")]
952 pub series_count_limit: ::core::option::Option<i64>,
953 #[prost(enumeration = "super::super::common::Unit", tag = "10")]
954 pub unit: i32,
955 #[prost(message, optional, tag = "11")]
956 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
957 #[prost(enumeration = "super::super::common::ScaleType", tag = "12")]
958 pub scale_type: i32,
959 #[prost(message, optional, tag = "13")]
960 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
961 #[prost(message, optional, tag = "14")]
962 pub hash_colors: ::core::option::Option<bool>,
963 #[prost(message, optional, tag = "15")]
964 pub decimal_precision: ::core::option::Option<i32>,
965 #[prost(message, optional, tag = "17")]
966 pub allow_abbreviation: ::core::option::Option<bool>,
967 #[prost(message, optional, tag = "18")]
968 pub y_axis_min: ::core::option::Option<f32>,
969 #[prost(message, optional, tag = "19")]
970 pub y_axis_max: ::core::option::Option<f32>,
971 }
972 pub mod time_series_lines {
974 #[derive(serde::Serialize, serde::Deserialize)]
975 #[serde(rename_all = "snake_case")]
976 #[derive(
977 Clone,
978 Copy,
979 Debug,
980 PartialEq,
981 Eq,
982 Hash,
983 PartialOrd,
984 Ord,
985 ::prost::Enumeration
986 )]
987 #[repr(i32)]
988 pub enum StackedLine {
989 Unspecified = 0,
990 Absolute = 1,
991 Relative = 2,
992 }
993 impl StackedLine {
994 pub fn as_str_name(&self) -> &'static str {
999 match self {
1000 Self::Unspecified => "STACKED_LINE_UNSPECIFIED",
1001 Self::Absolute => "STACKED_LINE_ABSOLUTE",
1002 Self::Relative => "STACKED_LINE_RELATIVE",
1003 }
1004 }
1005 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1007 match value {
1008 "STACKED_LINE_UNSPECIFIED" => Some(Self::Unspecified),
1009 "STACKED_LINE_ABSOLUTE" => Some(Self::Absolute),
1010 "STACKED_LINE_RELATIVE" => Some(Self::Relative),
1011 _ => None,
1012 }
1013 }
1014 }
1015 }
1016 #[derive(serde::Serialize, serde::Deserialize)]
1017 #[serde(rename_all = "snake_case")]
1018 #[derive(Clone, PartialEq, ::prost::Message)]
1019 pub struct TimeSeriesBars {
1020 #[prost(message, optional, tag = "1")]
1021 pub temporal_field: ::core::option::Option<
1022 super::super::super::super::common::ObservationField,
1023 >,
1024 #[prost(message, repeated, tag = "2")]
1025 pub value_fields: ::prost::alloc::vec::Vec<
1026 super::super::super::super::common::ObservationField,
1027 >,
1028 #[prost(message, repeated, tag = "3")]
1029 pub category_fields: ::prost::alloc::vec::Vec<
1030 super::super::super::super::common::ObservationField,
1031 >,
1032 #[prost(message, optional, tag = "4")]
1033 pub legend: ::core::option::Option<super::super::common::Legend>,
1034 #[prost(message, optional, tag = "5")]
1035 pub tooltip: ::core::option::Option<TimeSeriesTooltip>,
1036 #[prost(message, optional, tag = "6")]
1037 pub series_name_template: ::core::option::Option<
1038 ::prost::alloc::string::String,
1039 >,
1040 #[prost(message, optional, tag = "7")]
1041 pub max_slices_per_bar: ::core::option::Option<i32>,
1042 #[prost(enumeration = "super::super::common::Unit", tag = "8")]
1043 pub unit: i32,
1044 #[prost(message, optional, tag = "9")]
1045 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1046 #[prost(enumeration = "super::super::common::ScaleType", tag = "10")]
1047 pub scale_type: i32,
1048 #[prost(message, optional, tag = "11")]
1049 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1050 #[prost(message, optional, tag = "12")]
1051 pub hash_colors: ::core::option::Option<bool>,
1052 #[prost(message, optional, tag = "13")]
1053 pub decimal_precision: ::core::option::Option<i32>,
1054 #[prost(message, optional, tag = "14")]
1055 pub allow_abbreviation: ::core::option::Option<bool>,
1056 #[prost(message, optional, tag = "15")]
1057 pub y_axis_min: ::core::option::Option<f32>,
1058 #[prost(message, optional, tag = "16")]
1059 pub y_axis_max: ::core::option::Option<f32>,
1060 #[prost(enumeration = "BarValueDisplay", tag = "17")]
1061 pub bar_value_display: i32,
1062 #[prost(enumeration = "super::super::common::SortByType", tag = "18")]
1063 pub sort_by: i32,
1064 }
1065 #[derive(serde::Serialize, serde::Deserialize)]
1066 #[serde(rename_all = "snake_case")]
1067 #[derive(Clone, PartialEq, ::prost::Message)]
1068 pub struct Stat {
1069 #[deprecated]
1070 #[prost(message, optional, tag = "1")]
1071 pub value_field: ::core::option::Option<
1072 super::super::super::super::common::ObservationField,
1073 >,
1074 #[prost(message, repeated, tag = "15")]
1075 pub value_fields: ::prost::alloc::vec::Vec<
1076 super::super::super::super::common::ObservationField,
1077 >,
1078 #[prost(message, repeated, tag = "2")]
1079 pub category_fields: ::prost::alloc::vec::Vec<
1080 super::super::super::super::common::ObservationField,
1081 >,
1082 #[prost(message, optional, tag = "3")]
1083 pub min: ::core::option::Option<f64>,
1084 #[prost(message, optional, tag = "4")]
1085 pub max: ::core::option::Option<f64>,
1086 #[prost(enumeration = "super::super::common::Unit", tag = "5")]
1087 pub unit: i32,
1088 #[prost(message, optional, tag = "6")]
1089 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1090 #[prost(enumeration = "super::super::common::ThresholdType", tag = "7")]
1091 pub threshold_type: i32,
1092 #[prost(message, repeated, tag = "8")]
1093 pub thresholds: ::prost::alloc::vec::Vec<super::super::common::Threshold>,
1094 #[prost(message, optional, tag = "9")]
1095 pub legend: ::core::option::Option<super::super::common::Legend>,
1096 #[prost(enumeration = "super::super::common::LegendBy", tag = "10")]
1097 pub legend_by: i32,
1098 #[prost(message, optional, tag = "11")]
1099 pub decimal_precision: ::core::option::Option<i32>,
1100 #[prost(message, optional, tag = "12")]
1101 pub allow_abbreviation: ::core::option::Option<bool>,
1102 #[prost(message, optional, tag = "13")]
1103 pub display_series_name: ::core::option::Option<bool>,
1104 #[prost(enumeration = "super::super::common::ThresholdBy", tag = "14")]
1105 pub threshold_by: i32,
1106 }
1107 #[derive(serde::Serialize, serde::Deserialize)]
1108 #[serde(rename_all = "snake_case")]
1109 #[derive(Clone, PartialEq, ::prost::Message)]
1110 pub struct Gauge {
1111 #[deprecated]
1112 #[prost(message, optional, tag = "1")]
1113 pub value_field: ::core::option::Option<
1114 super::super::super::super::common::ObservationField,
1115 >,
1116 #[prost(message, repeated, tag = "16")]
1117 pub value_fields: ::prost::alloc::vec::Vec<
1118 super::super::super::super::common::ObservationField,
1119 >,
1120 #[prost(message, repeated, tag = "2")]
1121 pub category_fields: ::prost::alloc::vec::Vec<
1122 super::super::super::super::common::ObservationField,
1123 >,
1124 #[prost(message, optional, tag = "3")]
1125 pub min: ::core::option::Option<f64>,
1126 #[prost(message, optional, tag = "4")]
1127 pub max: ::core::option::Option<f64>,
1128 #[prost(enumeration = "super::super::common::Unit", tag = "5")]
1129 pub unit: i32,
1130 #[prost(message, optional, tag = "6")]
1131 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1132 #[prost(enumeration = "super::super::common::ThresholdType", tag = "7")]
1133 pub threshold_type: i32,
1134 #[prost(message, repeated, tag = "8")]
1135 pub thresholds: ::prost::alloc::vec::Vec<super::super::common::Threshold>,
1136 #[prost(message, optional, tag = "9")]
1137 pub legend: ::core::option::Option<super::super::common::Legend>,
1138 #[prost(enumeration = "super::super::common::LegendBy", tag = "10")]
1139 pub legend_by: i32,
1140 #[prost(message, optional, tag = "11")]
1141 pub decimal_precision: ::core::option::Option<i32>,
1142 #[prost(message, optional, tag = "12")]
1143 pub allow_abbreviation: ::core::option::Option<bool>,
1144 #[prost(message, optional, tag = "13")]
1145 pub show_inner_arc: ::core::option::Option<bool>,
1146 #[prost(message, optional, tag = "14")]
1147 pub show_outer_arc: ::core::option::Option<bool>,
1148 #[prost(message, optional, tag = "15")]
1149 pub display_series_name: ::core::option::Option<bool>,
1150 }
1151 #[derive(serde::Serialize, serde::Deserialize)]
1152 #[serde(rename_all = "snake_case")]
1153 #[derive(Clone, PartialEq, ::prost::Message)]
1154 pub struct HexagonBins {
1155 #[prost(message, optional, tag = "1")]
1156 pub value_field: ::core::option::Option<
1157 super::super::super::super::common::ObservationField,
1158 >,
1159 #[prost(message, repeated, tag = "2")]
1160 pub category_fields: ::prost::alloc::vec::Vec<
1161 super::super::super::super::common::ObservationField,
1162 >,
1163 #[prost(message, optional, tag = "3")]
1164 pub min: ::core::option::Option<f64>,
1165 #[prost(message, optional, tag = "4")]
1166 pub max: ::core::option::Option<f64>,
1167 #[prost(enumeration = "super::super::common::Unit", tag = "5")]
1168 pub unit: i32,
1169 #[prost(message, optional, tag = "6")]
1170 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1171 #[prost(enumeration = "super::super::common::ThresholdType", tag = "7")]
1172 pub threshold_type: i32,
1173 #[prost(message, repeated, tag = "8")]
1174 pub thresholds: ::prost::alloc::vec::Vec<super::super::common::Threshold>,
1175 #[prost(message, optional, tag = "9")]
1176 pub legend: ::core::option::Option<super::super::common::Legend>,
1177 #[prost(enumeration = "super::super::common::LegendBy", tag = "10")]
1178 pub legend_by: i32,
1179 #[prost(message, optional, tag = "11")]
1180 pub decimal_precision: ::core::option::Option<i32>,
1181 #[prost(message, optional, tag = "12")]
1182 pub allow_abbreviation: ::core::option::Option<bool>,
1183 }
1184 #[derive(serde::Serialize, serde::Deserialize)]
1185 #[serde(rename_all = "snake_case")]
1186 #[derive(Clone, PartialEq, ::prost::Message)]
1187 pub struct PieChart {
1188 #[prost(message, optional, tag = "1")]
1189 pub value_field: ::core::option::Option<
1190 super::super::super::super::common::ObservationField,
1191 >,
1192 #[prost(message, repeated, tag = "2")]
1193 pub category_fields: ::prost::alloc::vec::Vec<
1194 super::super::super::super::common::ObservationField,
1195 >,
1196 #[prost(message, repeated, tag = "3")]
1197 pub sub_category_fields: ::prost::alloc::vec::Vec<
1198 super::super::super::super::common::ObservationField,
1199 >,
1200 #[prost(message, optional, tag = "4")]
1201 pub max_slices_per_chart: ::core::option::Option<i32>,
1202 #[prost(message, optional, tag = "5")]
1203 pub min_slice_percentage: ::core::option::Option<i32>,
1204 #[prost(message, optional, tag = "6")]
1205 pub max_slices_per_stack: ::core::option::Option<i32>,
1206 #[prost(message, optional, tag = "7")]
1207 pub stack_name_template: ::core::option::Option<
1208 ::prost::alloc::string::String,
1209 >,
1210 #[prost(message, optional, tag = "8")]
1211 pub label_definition: ::core::option::Option<pie_chart::LabelDefinition>,
1212 #[prost(message, optional, tag = "9")]
1213 pub group_name_template: ::core::option::Option<
1214 ::prost::alloc::string::String,
1215 >,
1216 #[prost(enumeration = "super::super::common::Unit", tag = "10")]
1217 pub unit: i32,
1218 #[prost(message, optional, tag = "11")]
1219 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1220 #[prost(message, optional, tag = "12")]
1221 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1222 #[prost(message, optional, tag = "13")]
1223 pub hash_colors: ::core::option::Option<bool>,
1224 #[prost(message, optional, tag = "14")]
1225 pub decimal_precision: ::core::option::Option<i32>,
1226 #[prost(message, optional, tag = "15")]
1227 pub allow_abbreviation: ::core::option::Option<bool>,
1228 #[prost(message, optional, tag = "16")]
1229 pub legend: ::core::option::Option<super::super::common::Legend>,
1230 #[prost(message, optional, tag = "17")]
1231 pub show_total: ::core::option::Option<bool>,
1232 }
1233 pub mod pie_chart {
1235 #[derive(serde::Serialize, serde::Deserialize)]
1236 #[serde(rename_all = "snake_case")]
1237 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1238 pub struct LabelDefinition {
1239 #[prost(enumeration = "LabelSource", tag = "1")]
1240 pub label_source: i32,
1241 #[prost(message, optional, tag = "2")]
1242 pub is_visible: ::core::option::Option<bool>,
1243 #[prost(message, optional, tag = "3")]
1244 pub show_name: ::core::option::Option<bool>,
1245 #[prost(message, optional, tag = "4")]
1246 pub show_value: ::core::option::Option<bool>,
1247 #[prost(message, optional, tag = "5")]
1248 pub show_percentage: ::core::option::Option<bool>,
1249 }
1250 #[derive(serde::Serialize, serde::Deserialize)]
1251 #[serde(rename_all = "snake_case")]
1252 #[derive(
1253 Clone,
1254 Copy,
1255 Debug,
1256 PartialEq,
1257 Eq,
1258 Hash,
1259 PartialOrd,
1260 Ord,
1261 ::prost::Enumeration
1262 )]
1263 #[repr(i32)]
1264 pub enum LabelSource {
1265 Unspecified = 0,
1266 Inner = 1,
1267 Stack = 2,
1268 }
1269 impl LabelSource {
1270 pub fn as_str_name(&self) -> &'static str {
1275 match self {
1276 Self::Unspecified => "LABEL_SOURCE_UNSPECIFIED",
1277 Self::Inner => "LABEL_SOURCE_INNER",
1278 Self::Stack => "LABEL_SOURCE_STACK",
1279 }
1280 }
1281 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1283 match value {
1284 "LABEL_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
1285 "LABEL_SOURCE_INNER" => Some(Self::Inner),
1286 "LABEL_SOURCE_STACK" => Some(Self::Stack),
1287 _ => None,
1288 }
1289 }
1290 }
1291 }
1292 #[derive(serde::Serialize, serde::Deserialize)]
1293 #[serde(rename_all = "snake_case")]
1294 #[derive(Clone, PartialEq, ::prost::Message)]
1295 pub struct HorizontalBars {
1296 #[prost(message, optional, tag = "1")]
1297 pub value_field: ::core::option::Option<
1298 super::super::super::super::common::ObservationField,
1299 >,
1300 #[prost(message, repeated, tag = "2")]
1301 pub category_fields: ::prost::alloc::vec::Vec<
1302 super::super::super::super::common::ObservationField,
1303 >,
1304 #[prost(message, repeated, tag = "3")]
1305 pub sub_category_fields: ::prost::alloc::vec::Vec<
1306 super::super::super::super::common::ObservationField,
1307 >,
1308 #[prost(message, optional, tag = "4")]
1309 pub max_bars_per_chart: ::core::option::Option<i32>,
1310 #[prost(message, optional, tag = "5")]
1311 pub max_slices_per_bar: ::core::option::Option<i32>,
1312 #[prost(message, optional, tag = "6")]
1313 pub stack_name_template: ::core::option::Option<
1314 ::prost::alloc::string::String,
1315 >,
1316 #[prost(enumeration = "super::super::common::ScaleType", tag = "7")]
1317 pub scale_type: i32,
1318 #[prost(message, optional, tag = "8")]
1319 pub colors_by: ::core::option::Option<super::super::common::ColorsBy>,
1320 #[prost(message, optional, tag = "9")]
1321 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1322 #[prost(message, optional, tag = "10")]
1323 pub hash_colors: ::core::option::Option<bool>,
1324 #[prost(enumeration = "super::super::common::Unit", tag = "11")]
1325 pub unit: i32,
1326 #[prost(message, optional, tag = "12")]
1327 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1328 #[prost(message, optional, tag = "13")]
1329 pub display_on_bar: ::core::option::Option<bool>,
1330 #[prost(message, optional, tag = "14")]
1331 pub decimal_precision: ::core::option::Option<i32>,
1332 #[prost(message, optional, tag = "15")]
1333 pub allow_abbreviation: ::core::option::Option<bool>,
1334 #[prost(message, optional, tag = "16")]
1335 pub y_axis_min: ::core::option::Option<f32>,
1336 #[prost(message, optional, tag = "17")]
1337 pub y_axis_max: ::core::option::Option<f32>,
1338 #[prost(message, optional, tag = "18")]
1339 pub legend: ::core::option::Option<super::super::common::Legend>,
1340 #[prost(enumeration = "super::super::common::SortByType", tag = "19")]
1341 pub sort_by: i32,
1342 #[prost(message, optional, tag = "20")]
1343 pub group_name_template: ::core::option::Option<
1344 ::prost::alloc::string::String,
1345 >,
1346 #[prost(enumeration = "horizontal_bars::YAxisViewBy", tag = "21")]
1347 pub y_axis_view_by: i32,
1348 }
1349 pub mod horizontal_bars {
1351 #[derive(serde::Serialize, serde::Deserialize)]
1352 #[serde(rename_all = "snake_case")]
1353 #[derive(
1354 Clone,
1355 Copy,
1356 Debug,
1357 PartialEq,
1358 Eq,
1359 Hash,
1360 PartialOrd,
1361 Ord,
1362 ::prost::Enumeration
1363 )]
1364 #[repr(i32)]
1365 pub enum YAxisViewBy {
1366 Unspecified = 0,
1367 Category = 1,
1368 Value = 2,
1369 }
1370 impl YAxisViewBy {
1371 pub fn as_str_name(&self) -> &'static str {
1376 match self {
1377 Self::Unspecified => "Y_AXIS_VIEW_BY_UNSPECIFIED",
1378 Self::Category => "Y_AXIS_VIEW_BY_CATEGORY",
1379 Self::Value => "Y_AXIS_VIEW_BY_VALUE",
1380 }
1381 }
1382 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1384 match value {
1385 "Y_AXIS_VIEW_BY_UNSPECIFIED" => Some(Self::Unspecified),
1386 "Y_AXIS_VIEW_BY_CATEGORY" => Some(Self::Category),
1387 "Y_AXIS_VIEW_BY_VALUE" => Some(Self::Value),
1388 _ => None,
1389 }
1390 }
1391 }
1392 }
1393 #[derive(serde::Serialize, serde::Deserialize)]
1394 #[serde(rename_all = "snake_case")]
1395 #[derive(Clone, PartialEq, ::prost::Message)]
1396 pub struct VerticalBars {
1397 #[prost(message, optional, tag = "1")]
1398 pub value_field: ::core::option::Option<
1399 super::super::super::super::common::ObservationField,
1400 >,
1401 #[prost(message, repeated, tag = "2")]
1402 pub category_fields: ::prost::alloc::vec::Vec<
1403 super::super::super::super::common::ObservationField,
1404 >,
1405 #[prost(message, repeated, tag = "3")]
1406 pub sub_category_fields: ::prost::alloc::vec::Vec<
1407 super::super::super::super::common::ObservationField,
1408 >,
1409 #[prost(message, optional, tag = "4")]
1410 pub max_bars_per_chart: ::core::option::Option<i32>,
1411 #[prost(message, optional, tag = "5")]
1412 pub max_slices_per_bar: ::core::option::Option<i32>,
1413 #[prost(message, optional, tag = "6")]
1414 pub stack_name_template: ::core::option::Option<
1415 ::prost::alloc::string::String,
1416 >,
1417 #[prost(enumeration = "super::super::common::ScaleType", tag = "7")]
1418 pub scale_type: i32,
1419 #[prost(message, optional, tag = "8")]
1420 pub colors_by: ::core::option::Option<super::super::common::ColorsBy>,
1421 #[prost(message, optional, tag = "9")]
1422 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1423 #[prost(message, optional, tag = "10")]
1424 pub hash_colors: ::core::option::Option<bool>,
1425 #[prost(enumeration = "super::super::common::Unit", tag = "11")]
1426 pub unit: i32,
1427 #[prost(message, optional, tag = "12")]
1428 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1429 #[prost(enumeration = "BarValueDisplay", tag = "13")]
1430 pub bar_value_display: i32,
1431 #[prost(message, optional, tag = "14")]
1432 pub decimal_precision: ::core::option::Option<i32>,
1433 #[prost(message, optional, tag = "15")]
1434 pub allow_abbreviation: ::core::option::Option<bool>,
1435 #[prost(message, optional, tag = "16")]
1436 pub y_axis_min: ::core::option::Option<f32>,
1437 #[prost(message, optional, tag = "17")]
1438 pub y_axis_max: ::core::option::Option<f32>,
1439 #[prost(message, optional, tag = "18")]
1440 pub legend: ::core::option::Option<super::super::common::Legend>,
1441 #[prost(enumeration = "super::super::common::SortByType", tag = "19")]
1442 pub sort_by: i32,
1443 #[prost(message, optional, tag = "20")]
1444 pub group_name_template: ::core::option::Option<
1445 ::prost::alloc::string::String,
1446 >,
1447 }
1448 #[derive(serde::Serialize, serde::Deserialize)]
1449 #[serde(rename_all = "snake_case")]
1450 #[derive(Clone, PartialEq, ::prost::Message)]
1451 pub struct Heatmap {
1452 #[prost(message, optional, tag = "1")]
1453 pub value_field: ::core::option::Option<
1454 super::super::super::super::common::ObservationField,
1455 >,
1456 #[prost(message, repeated, tag = "2")]
1457 pub x_axis_fields: ::prost::alloc::vec::Vec<
1458 super::super::super::super::common::ObservationField,
1459 >,
1460 #[prost(message, repeated, tag = "3")]
1461 pub y_axis_fields: ::prost::alloc::vec::Vec<
1462 super::super::super::super::common::ObservationField,
1463 >,
1464 #[prost(message, optional, tag = "4")]
1465 pub show_numbers: ::core::option::Option<bool>,
1466 #[prost(enumeration = "super::super::common::ScaleType", tag = "5")]
1467 pub scale_type: i32,
1468 #[prost(message, optional, tag = "7")]
1469 pub allow_abbreviation: ::core::option::Option<bool>,
1470 #[prost(enumeration = "super::super::common::Unit", tag = "8")]
1471 pub unit: i32,
1472 #[prost(message, optional, tag = "9")]
1473 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1474 #[prost(message, optional, tag = "10")]
1475 pub decimal_precision: ::core::option::Option<i32>,
1476 #[prost(message, optional, tag = "11")]
1477 pub color_axis_min: ::core::option::Option<f32>,
1478 #[prost(message, optional, tag = "12")]
1479 pub color_axis_max: ::core::option::Option<f32>,
1480 #[prost(message, optional, tag = "13")]
1481 pub tooltip: ::core::option::Option<HeatmapTooltip>,
1482 #[prost(oneof = "heatmap::ColorConfig", tags = "6, 14")]
1483 pub color_config: ::core::option::Option<heatmap::ColorConfig>,
1484 }
1485 pub mod heatmap {
1487 #[derive(serde::Serialize, serde::Deserialize)]
1488 #[serde(rename_all = "snake_case")]
1489 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1490 pub enum ColorConfig {
1491 #[prost(enumeration = "super::HeatmapColorPreset", tag = "6")]
1492 Preset(i32),
1493 #[prost(
1494 enumeration = "super::super::super::common::ColorGradientType",
1495 tag = "14"
1496 )]
1497 ColorRange(i32),
1498 }
1499 }
1500 #[derive(serde::Serialize, serde::Deserialize)]
1501 #[serde(rename_all = "snake_case")]
1502 #[derive(Clone, PartialEq, ::prost::Message)]
1503 pub struct HeatmapTooltip {
1504 #[prost(message, optional, tag = "1")]
1505 pub message_template: ::core::option::Option<::prost::alloc::string::String>,
1506 #[prost(message, repeated, tag = "2")]
1507 pub labels: ::prost::alloc::vec::Vec<
1508 super::super::super::super::common::ObservationField,
1509 >,
1510 }
1511 #[derive(serde::Serialize, serde::Deserialize)]
1512 #[serde(rename_all = "snake_case")]
1513 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1514 pub struct TimeSeriesTooltip {
1515 #[prost(message, optional, tag = "1")]
1516 pub show_all_series: ::core::option::Option<bool>,
1517 #[prost(message, optional, tag = "2")]
1518 pub show_labels: ::core::option::Option<bool>,
1519 }
1520 #[derive(serde::Serialize, serde::Deserialize)]
1521 #[serde(rename_all = "snake_case")]
1522 #[derive(Clone, PartialEq, ::prost::Message)]
1523 pub struct Geomap {
1524 #[prost(message, optional, tag = "1")]
1525 pub config: ::core::option::Option<geomap::GeomapFieldConfig>,
1526 #[prost(message, optional, tag = "2")]
1527 pub aggregation: ::core::option::Option<geomap::GeomapAggregation>,
1528 #[prost(message, optional, tag = "3")]
1529 pub color: ::core::option::Option<geomap::GeomapColor>,
1530 #[prost(message, optional, tag = "4")]
1531 pub min_max: ::core::option::Option<super::super::common::MinMax>,
1532 #[prost(message, optional, tag = "7")]
1533 pub allow_abbreviation: ::core::option::Option<bool>,
1534 #[prost(enumeration = "super::super::common::Unit", tag = "8")]
1535 pub unit: i32,
1536 #[prost(message, optional, tag = "9")]
1537 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1538 #[prost(message, optional, tag = "10")]
1539 pub decimal_precision: ::core::option::Option<i32>,
1540 #[prost(message, optional, tag = "11")]
1541 pub tooltip: ::core::option::Option<geomap::GeomapTooltip>,
1542 }
1543 pub mod geomap {
1545 #[derive(serde::Serialize, serde::Deserialize)]
1546 #[serde(rename_all = "snake_case")]
1547 #[derive(Clone, PartialEq, ::prost::Message)]
1548 pub struct GeomapFieldConfig {
1549 #[prost(oneof = "geomap_field_config::Value", tags = "1, 2")]
1550 pub value: ::core::option::Option<geomap_field_config::Value>,
1551 }
1552 pub mod geomap_field_config {
1554 #[derive(serde::Serialize, serde::Deserialize)]
1555 #[serde(rename_all = "snake_case")]
1556 #[derive(Clone, PartialEq, ::prost::Message)]
1557 pub struct GeomapCoordinateConfig {
1558 #[prost(message, optional, tag = "1")]
1559 pub latitude_field: ::core::option::Option<
1560 super::super::super::super::super::super::common::ObservationField,
1561 >,
1562 #[prost(message, optional, tag = "2")]
1563 pub longitude_field: ::core::option::Option<
1564 super::super::super::super::super::super::common::ObservationField,
1565 >,
1566 }
1567 #[derive(serde::Serialize, serde::Deserialize)]
1568 #[serde(rename_all = "snake_case")]
1569 #[derive(Clone, PartialEq, ::prost::Message)]
1570 pub struct GeomapAwsRegionConfig {
1571 #[prost(message, optional, tag = "1")]
1572 pub aws_region_field: ::core::option::Option<
1573 super::super::super::super::super::super::common::ObservationField,
1574 >,
1575 }
1576 #[derive(serde::Serialize, serde::Deserialize)]
1577 #[serde(rename_all = "snake_case")]
1578 #[derive(Clone, PartialEq, ::prost::Oneof)]
1579 pub enum Value {
1580 #[prost(message, tag = "1")]
1581 CoordinateConfig(GeomapCoordinateConfig),
1582 #[prost(message, tag = "2")]
1583 AwsRegionConfig(GeomapAwsRegionConfig),
1584 }
1585 }
1586 #[derive(serde::Serialize, serde::Deserialize)]
1587 #[serde(rename_all = "snake_case")]
1588 #[derive(Clone, PartialEq, ::prost::Message)]
1589 pub struct GeomapAggregation {
1590 #[prost(oneof = "geomap_aggregation::Value", tags = "1, 2, 3, 4, 5")]
1591 pub value: ::core::option::Option<geomap_aggregation::Value>,
1592 }
1593 pub mod geomap_aggregation {
1595 #[derive(serde::Serialize, serde::Deserialize)]
1596 #[serde(rename_all = "snake_case")]
1597 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1598 pub struct GeomapAggregationSimple {}
1599 #[derive(serde::Serialize, serde::Deserialize)]
1600 #[serde(rename_all = "snake_case")]
1601 #[derive(Clone, PartialEq, ::prost::Message)]
1602 pub struct GeomapAggregationFieldBased {
1603 #[prost(message, optional, tag = "1")]
1604 pub field: ::core::option::Option<
1605 super::super::super::super::super::super::common::ObservationField,
1606 >,
1607 }
1608 #[derive(serde::Serialize, serde::Deserialize)]
1609 #[serde(rename_all = "snake_case")]
1610 #[derive(Clone, PartialEq, ::prost::Oneof)]
1611 pub enum Value {
1612 #[prost(message, tag = "1")]
1613 Count(GeomapAggregationSimple),
1614 #[prost(message, tag = "2")]
1615 Sum(GeomapAggregationFieldBased),
1616 #[prost(message, tag = "3")]
1617 Min(GeomapAggregationFieldBased),
1618 #[prost(message, tag = "4")]
1619 Max(GeomapAggregationFieldBased),
1620 #[prost(message, tag = "5")]
1621 Avg(GeomapAggregationFieldBased),
1622 }
1623 }
1624 #[derive(serde::Serialize, serde::Deserialize)]
1625 #[serde(rename_all = "snake_case")]
1626 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1627 pub struct GeomapColor {
1628 #[prost(oneof = "geomap_color::Value", tags = "1, 2")]
1629 pub value: ::core::option::Option<geomap_color::Value>,
1630 }
1631 pub mod geomap_color {
1633 #[derive(serde::Serialize, serde::Deserialize)]
1634 #[serde(rename_all = "snake_case")]
1635 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1636 pub enum Value {
1637 #[prost(
1638 enumeration = "super::super::super::super::common::ColorSolidType",
1639 tag = "1"
1640 )]
1641 Size(i32),
1642 #[prost(
1643 enumeration = "super::super::super::super::common::ColorGradientType",
1644 tag = "2"
1645 )]
1646 ColorRange(i32),
1647 }
1648 }
1649 #[derive(serde::Serialize, serde::Deserialize)]
1650 #[serde(rename_all = "snake_case")]
1651 #[derive(Clone, PartialEq, ::prost::Message)]
1652 pub struct GeomapTooltip {
1653 #[prost(message, optional, tag = "1")]
1654 pub message_template: ::core::option::Option<
1655 ::prost::alloc::string::String,
1656 >,
1657 #[prost(message, repeated, tag = "2")]
1658 pub labels: ::prost::alloc::vec::Vec<
1659 super::super::super::super::super::common::ObservationField,
1660 >,
1661 }
1662 }
1663 #[derive(serde::Serialize, serde::Deserialize)]
1665 #[serde(rename_all = "snake_case")]
1666 #[derive(
1667 Clone,
1668 Copy,
1669 Debug,
1670 PartialEq,
1671 Eq,
1672 Hash,
1673 PartialOrd,
1674 Ord,
1675 ::prost::Enumeration
1676 )]
1677 #[repr(i32)]
1678 pub enum HeatmapColorPreset {
1679 Unspecified = 0,
1680 Blue = 1,
1681 Green = 2,
1682 Red = 3,
1683 Threshold = 4,
1684 BlueReversed = 5,
1685 GreenReversed = 6,
1686 RedReversed = 7,
1687 ThresholdReversed = 8,
1688 }
1689 impl HeatmapColorPreset {
1690 pub fn as_str_name(&self) -> &'static str {
1695 match self {
1696 Self::Unspecified => "HEATMAP_COLOR_PRESET_UNSPECIFIED",
1697 Self::Blue => "HEATMAP_COLOR_PRESET_BLUE",
1698 Self::Green => "HEATMAP_COLOR_PRESET_GREEN",
1699 Self::Red => "HEATMAP_COLOR_PRESET_RED",
1700 Self::Threshold => "HEATMAP_COLOR_PRESET_THRESHOLD",
1701 Self::BlueReversed => "HEATMAP_COLOR_PRESET_BLUE_REVERSED",
1702 Self::GreenReversed => "HEATMAP_COLOR_PRESET_GREEN_REVERSED",
1703 Self::RedReversed => "HEATMAP_COLOR_PRESET_RED_REVERSED",
1704 Self::ThresholdReversed => "HEATMAP_COLOR_PRESET_THRESHOLD_REVERSED",
1705 }
1706 }
1707 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1709 match value {
1710 "HEATMAP_COLOR_PRESET_UNSPECIFIED" => Some(Self::Unspecified),
1711 "HEATMAP_COLOR_PRESET_BLUE" => Some(Self::Blue),
1712 "HEATMAP_COLOR_PRESET_GREEN" => Some(Self::Green),
1713 "HEATMAP_COLOR_PRESET_RED" => Some(Self::Red),
1714 "HEATMAP_COLOR_PRESET_THRESHOLD" => Some(Self::Threshold),
1715 "HEATMAP_COLOR_PRESET_BLUE_REVERSED" => Some(Self::BlueReversed),
1716 "HEATMAP_COLOR_PRESET_GREEN_REVERSED" => Some(Self::GreenReversed),
1717 "HEATMAP_COLOR_PRESET_RED_REVERSED" => Some(Self::RedReversed),
1718 "HEATMAP_COLOR_PRESET_THRESHOLD_REVERSED" => {
1719 Some(Self::ThresholdReversed)
1720 }
1721 _ => None,
1722 }
1723 }
1724 }
1725 #[derive(serde::Serialize, serde::Deserialize)]
1726 #[serde(rename_all = "snake_case")]
1727 #[derive(
1728 Clone,
1729 Copy,
1730 Debug,
1731 PartialEq,
1732 Eq,
1733 Hash,
1734 PartialOrd,
1735 Ord,
1736 ::prost::Enumeration
1737 )]
1738 #[repr(i32)]
1739 pub enum BarValueDisplay {
1740 Unspecified = 0,
1741 Top = 1,
1742 Inside = 2,
1743 Both = 3,
1744 }
1745 impl BarValueDisplay {
1746 pub fn as_str_name(&self) -> &'static str {
1751 match self {
1752 Self::Unspecified => "BAR_VALUE_DISPLAY_UNSPECIFIED",
1753 Self::Top => "BAR_VALUE_DISPLAY_TOP",
1754 Self::Inside => "BAR_VALUE_DISPLAY_INSIDE",
1755 Self::Both => "BAR_VALUE_DISPLAY_BOTH",
1756 }
1757 }
1758 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1760 match value {
1761 "BAR_VALUE_DISPLAY_UNSPECIFIED" => Some(Self::Unspecified),
1762 "BAR_VALUE_DISPLAY_TOP" => Some(Self::Top),
1763 "BAR_VALUE_DISPLAY_INSIDE" => Some(Self::Inside),
1764 "BAR_VALUE_DISPLAY_BOTH" => Some(Self::Both),
1765 _ => None,
1766 }
1767 }
1768 }
1769 #[derive(serde::Serialize, serde::Deserialize)]
1770 #[serde(rename_all = "snake_case")]
1771 #[derive(Clone, PartialEq, ::prost::Oneof)]
1772 pub enum Value {
1773 #[prost(message, tag = "1")]
1774 Table(Table),
1775 #[prost(message, tag = "2")]
1776 TimeSeriesLines(TimeSeriesLines),
1777 #[prost(message, tag = "3")]
1778 TimeSeriesBars(TimeSeriesBars),
1779 #[prost(message, tag = "4")]
1780 Stat(Stat),
1781 #[prost(message, tag = "5")]
1782 Gauge(Gauge),
1783 #[prost(message, tag = "6")]
1784 HexagonBins(HexagonBins),
1785 #[prost(message, tag = "7")]
1786 PieChart(PieChart),
1787 #[prost(message, tag = "8")]
1788 HorizontalBars(HorizontalBars),
1789 #[prost(message, tag = "9")]
1790 VerticalBars(VerticalBars),
1791 #[prost(message, tag = "10")]
1792 Heatmap(Heatmap),
1793 #[prost(message, tag = "11")]
1794 Geomap(Geomap),
1795 }
1796 }
1797 #[derive(serde::Serialize, serde::Deserialize)]
1798 #[serde(rename_all = "snake_case")]
1799 #[derive(
1800 Clone,
1801 Copy,
1802 Debug,
1803 PartialEq,
1804 Eq,
1805 Hash,
1806 PartialOrd,
1807 Ord,
1808 ::prost::Enumeration
1809 )]
1810 #[repr(i32)]
1811 pub enum Interpretation {
1812 Unspecified = 0,
1813 RawDataTable = 1,
1814 TrendOverTimeLine = 2,
1815 SingleValueKpi = 3,
1816 MultiValueKpi = 4,
1817 CategoricalAnalysisVerticalBars = 5,
1818 SingleValueKpiStat = 6,
1819 SingleValueKpiGauge = 7,
1820 MultiValueKpiStat = 8,
1821 MultiValueKpiGauge = 9,
1822 MultiValueKpiHexagonBins = 10,
1823 CategoricalAnalysisPieChart = 11,
1824 CategoricalAnalysisHorizontalBars = 12,
1825 }
1826 impl Interpretation {
1827 pub fn as_str_name(&self) -> &'static str {
1832 match self {
1833 Self::Unspecified => "INTERPRETATION_UNSPECIFIED",
1834 Self::RawDataTable => "INTERPRETATION_RAW_DATA_TABLE",
1835 Self::TrendOverTimeLine => "INTERPRETATION_TREND_OVER_TIME_LINE",
1836 Self::SingleValueKpi => "INTERPRETATION_SINGLE_VALUE_KPI",
1837 Self::MultiValueKpi => "INTERPRETATION_MULTI_VALUE_KPI",
1838 Self::CategoricalAnalysisVerticalBars => {
1839 "INTERPRETATION_CATEGORICAL_ANALYSIS_VERTICAL_BARS"
1840 }
1841 Self::SingleValueKpiStat => "INTERPRETATION_SINGLE_VALUE_KPI_STAT",
1842 Self::SingleValueKpiGauge => "INTERPRETATION_SINGLE_VALUE_KPI_GAUGE",
1843 Self::MultiValueKpiStat => "INTERPRETATION_MULTI_VALUE_KPI_STAT",
1844 Self::MultiValueKpiGauge => "INTERPRETATION_MULTI_VALUE_KPI_GAUGE",
1845 Self::MultiValueKpiHexagonBins => {
1846 "INTERPRETATION_MULTI_VALUE_KPI_HEXAGON_BINS"
1847 }
1848 Self::CategoricalAnalysisPieChart => {
1849 "INTERPRETATION_CATEGORICAL_ANALYSIS_PIE_CHART"
1850 }
1851 Self::CategoricalAnalysisHorizontalBars => {
1852 "INTERPRETATION_CATEGORICAL_ANALYSIS_HORIZONTAL_BARS"
1853 }
1854 }
1855 }
1856 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1858 match value {
1859 "INTERPRETATION_UNSPECIFIED" => Some(Self::Unspecified),
1860 "INTERPRETATION_RAW_DATA_TABLE" => Some(Self::RawDataTable),
1861 "INTERPRETATION_TREND_OVER_TIME_LINE" => Some(Self::TrendOverTimeLine),
1862 "INTERPRETATION_SINGLE_VALUE_KPI" => Some(Self::SingleValueKpi),
1863 "INTERPRETATION_MULTI_VALUE_KPI" => Some(Self::MultiValueKpi),
1864 "INTERPRETATION_CATEGORICAL_ANALYSIS_VERTICAL_BARS" => {
1865 Some(Self::CategoricalAnalysisVerticalBars)
1866 }
1867 "INTERPRETATION_SINGLE_VALUE_KPI_STAT" => Some(Self::SingleValueKpiStat),
1868 "INTERPRETATION_SINGLE_VALUE_KPI_GAUGE" => {
1869 Some(Self::SingleValueKpiGauge)
1870 }
1871 "INTERPRETATION_MULTI_VALUE_KPI_STAT" => Some(Self::MultiValueKpiStat),
1872 "INTERPRETATION_MULTI_VALUE_KPI_GAUGE" => Some(Self::MultiValueKpiGauge),
1873 "INTERPRETATION_MULTI_VALUE_KPI_HEXAGON_BINS" => {
1874 Some(Self::MultiValueKpiHexagonBins)
1875 }
1876 "INTERPRETATION_CATEGORICAL_ANALYSIS_PIE_CHART" => {
1877 Some(Self::CategoricalAnalysisPieChart)
1878 }
1879 "INTERPRETATION_CATEGORICAL_ANALYSIS_HORIZONTAL_BARS" => {
1880 Some(Self::CategoricalAnalysisHorizontalBars)
1881 }
1882 _ => None,
1883 }
1884 }
1885 }
1886}
1887#[derive(serde::Serialize, serde::Deserialize)]
1888#[serde(rename_all = "snake_case")]
1889#[derive(Clone, PartialEq, ::prost::Message)]
1890pub struct Gauge {
1891 #[prost(message, optional, tag = "1")]
1892 pub query: ::core::option::Option<gauge::Query>,
1893 #[prost(message, optional, tag = "2")]
1894 pub min: ::core::option::Option<f64>,
1895 #[prost(message, optional, tag = "3")]
1896 pub max: ::core::option::Option<f64>,
1897 #[prost(message, optional, tag = "4")]
1898 pub show_inner_arc: ::core::option::Option<bool>,
1899 #[prost(message, optional, tag = "5")]
1900 pub show_outer_arc: ::core::option::Option<bool>,
1901 #[prost(enumeration = "gauge::Unit", tag = "6")]
1902 pub unit: i32,
1903 #[prost(message, repeated, tag = "7")]
1904 pub thresholds: ::prost::alloc::vec::Vec<gauge::Threshold>,
1905 #[prost(enumeration = "common::DataModeType", tag = "8")]
1906 pub data_mode_type: i32,
1907 #[prost(enumeration = "gauge::ThresholdBy", tag = "9")]
1908 pub threshold_by: i32,
1909 #[prost(message, optional, tag = "10")]
1910 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1911 #[prost(message, optional, tag = "11")]
1912 pub decimal: ::core::option::Option<i32>,
1913 #[prost(enumeration = "common::ThresholdType", tag = "12")]
1914 pub threshold_type: i32,
1915 #[prost(message, optional, tag = "13")]
1916 pub legend: ::core::option::Option<common::Legend>,
1917 #[prost(enumeration = "common::LegendBy", tag = "14")]
1918 pub legend_by: i32,
1919 #[prost(message, optional, tag = "15")]
1920 pub display_series_name: ::core::option::Option<bool>,
1921 #[prost(message, optional, tag = "16")]
1922 pub decimal_precision: ::core::option::Option<bool>,
1923}
1924pub mod gauge {
1926 #[derive(serde::Serialize, serde::Deserialize)]
1927 #[serde(rename_all = "snake_case")]
1928 #[derive(Clone, PartialEq, ::prost::Message)]
1929 pub struct Query {
1930 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
1931 pub value: ::core::option::Option<query::Value>,
1932 }
1933 pub mod query {
1935 #[derive(serde::Serialize, serde::Deserialize)]
1936 #[serde(rename_all = "snake_case")]
1937 #[derive(Clone, PartialEq, ::prost::Oneof)]
1938 pub enum Value {
1939 #[prost(message, tag = "1")]
1940 Metrics(super::MetricsQuery),
1941 #[prost(message, tag = "2")]
1942 Logs(super::LogsQuery),
1943 #[prost(message, tag = "3")]
1944 Spans(super::SpansQuery),
1945 #[prost(message, tag = "4")]
1946 Dataprime(super::DataprimeQuery),
1947 }
1948 }
1949 #[derive(serde::Serialize, serde::Deserialize)]
1950 #[serde(rename_all = "snake_case")]
1951 #[derive(Clone, PartialEq, ::prost::Message)]
1952 pub struct MetricsQuery {
1953 #[prost(message, optional, tag = "1")]
1954 pub promql_query: ::core::option::Option<
1955 super::super::super::common::PromQlQuery,
1956 >,
1957 #[prost(enumeration = "Aggregation", tag = "2")]
1958 pub aggregation: i32,
1959 #[prost(message, repeated, tag = "3")]
1960 pub filters: ::prost::alloc::vec::Vec<
1961 super::super::filters::filter::MetricsFilter,
1962 >,
1963 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "4")]
1964 pub editor_mode: i32,
1965 #[prost(message, optional, tag = "5")]
1966 pub time_frame: ::core::option::Option<
1967 super::super::super::common::TimeFrameSelect,
1968 >,
1969 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "6")]
1970 pub promql_query_type: i32,
1971 }
1972 #[derive(serde::Serialize, serde::Deserialize)]
1973 #[serde(rename_all = "snake_case")]
1974 #[derive(Clone, PartialEq, ::prost::Message)]
1975 pub struct LogsQuery {
1976 #[prost(message, optional, tag = "1")]
1977 pub lucene_query: ::core::option::Option<
1978 super::super::super::common::LuceneQuery,
1979 >,
1980 #[prost(message, optional, tag = "2")]
1981 pub logs_aggregation: ::core::option::Option<
1982 super::super::super::common::LogsAggregation,
1983 >,
1984 #[deprecated]
1985 #[prost(enumeration = "Aggregation", tag = "3")]
1986 pub aggregation: i32,
1987 #[prost(message, repeated, tag = "4")]
1988 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
1989 #[prost(message, repeated, tag = "5")]
1990 pub group_by: ::prost::alloc::vec::Vec<
1991 super::super::super::common::ObservationField,
1992 >,
1993 #[prost(message, optional, tag = "6")]
1994 pub time_frame: ::core::option::Option<
1995 super::super::super::common::TimeFrameSelect,
1996 >,
1997 }
1998 #[derive(serde::Serialize, serde::Deserialize)]
1999 #[serde(rename_all = "snake_case")]
2000 #[derive(Clone, PartialEq, ::prost::Message)]
2001 pub struct SpansQuery {
2002 #[prost(message, optional, tag = "1")]
2003 pub lucene_query: ::core::option::Option<
2004 super::super::super::common::LuceneQuery,
2005 >,
2006 #[prost(message, optional, tag = "2")]
2007 pub spans_aggregation: ::core::option::Option<
2008 super::super::super::common::SpansAggregation,
2009 >,
2010 #[deprecated]
2011 #[prost(enumeration = "Aggregation", tag = "3")]
2012 pub aggregation: i32,
2013 #[prost(message, repeated, tag = "4")]
2014 pub filters: ::prost::alloc::vec::Vec<
2015 super::super::filters::filter::SpansFilter,
2016 >,
2017 #[prost(message, repeated, tag = "5")]
2018 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
2019 #[prost(message, optional, tag = "6")]
2020 pub time_frame: ::core::option::Option<
2021 super::super::super::common::TimeFrameSelect,
2022 >,
2023 #[prost(message, repeated, tag = "7")]
2024 pub group_bys: ::prost::alloc::vec::Vec<
2025 super::super::super::common::SpanObservationField,
2026 >,
2027 }
2028 #[derive(serde::Serialize, serde::Deserialize)]
2029 #[serde(rename_all = "snake_case")]
2030 #[derive(Clone, PartialEq, ::prost::Message)]
2031 pub struct DataprimeQuery {
2032 #[prost(message, optional, tag = "1")]
2033 pub dataprime_query: ::core::option::Option<
2034 super::super::super::common::DataprimeQuery,
2035 >,
2036 #[prost(message, repeated, tag = "2")]
2037 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
2038 #[prost(message, optional, tag = "3")]
2039 pub time_frame: ::core::option::Option<
2040 super::super::super::common::TimeFrameSelect,
2041 >,
2042 }
2043 #[derive(serde::Serialize, serde::Deserialize)]
2044 #[serde(rename_all = "snake_case")]
2045 #[derive(Clone, PartialEq, ::prost::Message)]
2046 pub struct Threshold {
2047 #[prost(message, optional, tag = "1")]
2048 pub from: ::core::option::Option<f64>,
2049 #[prost(message, optional, tag = "2")]
2050 pub color: ::core::option::Option<::prost::alloc::string::String>,
2051 #[prost(message, optional, tag = "3")]
2052 pub label: ::core::option::Option<::prost::alloc::string::String>,
2053 }
2054 #[derive(serde::Serialize, serde::Deserialize)]
2055 #[serde(rename_all = "snake_case")]
2056 #[derive(
2057 Clone,
2058 Copy,
2059 Debug,
2060 PartialEq,
2061 Eq,
2062 Hash,
2063 PartialOrd,
2064 Ord,
2065 ::prost::Enumeration
2066 )]
2067 #[repr(i32)]
2068 pub enum Aggregation {
2069 Unspecified = 0,
2070 Last = 1,
2071 Min = 2,
2072 Max = 3,
2073 Avg = 4,
2074 Sum = 5,
2075 }
2076 impl Aggregation {
2077 pub fn as_str_name(&self) -> &'static str {
2082 match self {
2083 Self::Unspecified => "AGGREGATION_UNSPECIFIED",
2084 Self::Last => "AGGREGATION_LAST",
2085 Self::Min => "AGGREGATION_MIN",
2086 Self::Max => "AGGREGATION_MAX",
2087 Self::Avg => "AGGREGATION_AVG",
2088 Self::Sum => "AGGREGATION_SUM",
2089 }
2090 }
2091 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2093 match value {
2094 "AGGREGATION_UNSPECIFIED" => Some(Self::Unspecified),
2095 "AGGREGATION_LAST" => Some(Self::Last),
2096 "AGGREGATION_MIN" => Some(Self::Min),
2097 "AGGREGATION_MAX" => Some(Self::Max),
2098 "AGGREGATION_AVG" => Some(Self::Avg),
2099 "AGGREGATION_SUM" => Some(Self::Sum),
2100 _ => None,
2101 }
2102 }
2103 }
2104 #[derive(serde::Serialize, serde::Deserialize)]
2105 #[serde(rename_all = "snake_case")]
2106 #[derive(
2107 Clone,
2108 Copy,
2109 Debug,
2110 PartialEq,
2111 Eq,
2112 Hash,
2113 PartialOrd,
2114 Ord,
2115 ::prost::Enumeration
2116 )]
2117 #[repr(i32)]
2118 pub enum Unit {
2119 Unspecified = 0,
2120 Number = 1,
2121 Percent = 2,
2122 Microseconds = 3,
2123 Milliseconds = 4,
2124 Seconds = 5,
2125 Bytes = 6,
2126 Kbytes = 7,
2127 Mbytes = 8,
2128 Gbytes = 9,
2129 BytesIec = 10,
2130 Kibytes = 11,
2131 Mibytes = 12,
2132 Gibytes = 13,
2133 EurCents = 14,
2134 Eur = 15,
2135 UsdCents = 16,
2136 Usd = 17,
2137 Custom = 18,
2138 PercentZeroOne = 19,
2139 PercentZeroHundred = 20,
2140 Nanoseconds = 21,
2141 }
2142 impl Unit {
2143 pub fn as_str_name(&self) -> &'static str {
2148 match self {
2149 Self::Unspecified => "UNIT_UNSPECIFIED",
2150 Self::Number => "UNIT_NUMBER",
2151 Self::Percent => "UNIT_PERCENT",
2152 Self::Microseconds => "UNIT_MICROSECONDS",
2153 Self::Milliseconds => "UNIT_MILLISECONDS",
2154 Self::Seconds => "UNIT_SECONDS",
2155 Self::Bytes => "UNIT_BYTES",
2156 Self::Kbytes => "UNIT_KBYTES",
2157 Self::Mbytes => "UNIT_MBYTES",
2158 Self::Gbytes => "UNIT_GBYTES",
2159 Self::BytesIec => "UNIT_BYTES_IEC",
2160 Self::Kibytes => "UNIT_KIBYTES",
2161 Self::Mibytes => "UNIT_MIBYTES",
2162 Self::Gibytes => "UNIT_GIBYTES",
2163 Self::EurCents => "UNIT_EUR_CENTS",
2164 Self::Eur => "UNIT_EUR",
2165 Self::UsdCents => "UNIT_USD_CENTS",
2166 Self::Usd => "UNIT_USD",
2167 Self::Custom => "UNIT_CUSTOM",
2168 Self::PercentZeroOne => "UNIT_PERCENT_ZERO_ONE",
2169 Self::PercentZeroHundred => "UNIT_PERCENT_ZERO_HUNDRED",
2170 Self::Nanoseconds => "UNIT_NANOSECONDS",
2171 }
2172 }
2173 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2175 match value {
2176 "UNIT_UNSPECIFIED" => Some(Self::Unspecified),
2177 "UNIT_NUMBER" => Some(Self::Number),
2178 "UNIT_PERCENT" => Some(Self::Percent),
2179 "UNIT_MICROSECONDS" => Some(Self::Microseconds),
2180 "UNIT_MILLISECONDS" => Some(Self::Milliseconds),
2181 "UNIT_SECONDS" => Some(Self::Seconds),
2182 "UNIT_BYTES" => Some(Self::Bytes),
2183 "UNIT_KBYTES" => Some(Self::Kbytes),
2184 "UNIT_MBYTES" => Some(Self::Mbytes),
2185 "UNIT_GBYTES" => Some(Self::Gbytes),
2186 "UNIT_BYTES_IEC" => Some(Self::BytesIec),
2187 "UNIT_KIBYTES" => Some(Self::Kibytes),
2188 "UNIT_MIBYTES" => Some(Self::Mibytes),
2189 "UNIT_GIBYTES" => Some(Self::Gibytes),
2190 "UNIT_EUR_CENTS" => Some(Self::EurCents),
2191 "UNIT_EUR" => Some(Self::Eur),
2192 "UNIT_USD_CENTS" => Some(Self::UsdCents),
2193 "UNIT_USD" => Some(Self::Usd),
2194 "UNIT_CUSTOM" => Some(Self::Custom),
2195 "UNIT_PERCENT_ZERO_ONE" => Some(Self::PercentZeroOne),
2196 "UNIT_PERCENT_ZERO_HUNDRED" => Some(Self::PercentZeroHundred),
2197 "UNIT_NANOSECONDS" => Some(Self::Nanoseconds),
2198 _ => None,
2199 }
2200 }
2201 }
2202 #[derive(serde::Serialize, serde::Deserialize)]
2203 #[serde(rename_all = "snake_case")]
2204 #[derive(
2205 Clone,
2206 Copy,
2207 Debug,
2208 PartialEq,
2209 Eq,
2210 Hash,
2211 PartialOrd,
2212 Ord,
2213 ::prost::Enumeration
2214 )]
2215 #[repr(i32)]
2216 pub enum ThresholdBy {
2217 Unspecified = 0,
2218 Value = 1,
2219 Background = 2,
2220 }
2221 impl ThresholdBy {
2222 pub fn as_str_name(&self) -> &'static str {
2227 match self {
2228 Self::Unspecified => "THRESHOLD_BY_UNSPECIFIED",
2229 Self::Value => "THRESHOLD_BY_VALUE",
2230 Self::Background => "THRESHOLD_BY_BACKGROUND",
2231 }
2232 }
2233 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2235 match value {
2236 "THRESHOLD_BY_UNSPECIFIED" => Some(Self::Unspecified),
2237 "THRESHOLD_BY_VALUE" => Some(Self::Value),
2238 "THRESHOLD_BY_BACKGROUND" => Some(Self::Background),
2239 _ => None,
2240 }
2241 }
2242 }
2243}
2244#[derive(serde::Serialize, serde::Deserialize)]
2245#[serde(rename_all = "snake_case")]
2246#[derive(Clone, PartialEq, ::prost::Message)]
2247pub struct Hexagon {
2248 #[prost(message, optional, tag = "1")]
2249 pub query: ::core::option::Option<hexagon::Query>,
2250 #[prost(message, optional, tag = "2")]
2251 pub min: ::core::option::Option<f64>,
2252 #[prost(message, optional, tag = "3")]
2253 pub max: ::core::option::Option<f64>,
2254 #[prost(enumeration = "common::Unit", tag = "6")]
2255 pub unit: i32,
2256 #[prost(message, repeated, tag = "7")]
2257 pub thresholds: ::prost::alloc::vec::Vec<common::Threshold>,
2258 #[prost(enumeration = "common::DataModeType", tag = "8")]
2259 pub data_mode_type: i32,
2260 #[prost(message, optional, tag = "10")]
2261 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
2262 #[prost(message, optional, tag = "11")]
2263 pub decimal: ::core::option::Option<i32>,
2264 #[prost(enumeration = "common::ThresholdType", tag = "12")]
2265 pub threshold_type: i32,
2266 #[prost(message, optional, tag = "13")]
2267 pub legend: ::core::option::Option<common::Legend>,
2268 #[prost(enumeration = "common::LegendBy", tag = "14")]
2269 pub legend_by: i32,
2270 #[prost(message, optional, tag = "15")]
2271 pub decimal_precision: ::core::option::Option<bool>,
2272}
2273pub mod hexagon {
2275 #[derive(serde::Serialize, serde::Deserialize)]
2276 #[serde(rename_all = "snake_case")]
2277 #[derive(Clone, PartialEq, ::prost::Message)]
2278 pub struct Query {
2279 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
2280 pub value: ::core::option::Option<query::Value>,
2281 }
2282 pub mod query {
2284 #[derive(serde::Serialize, serde::Deserialize)]
2285 #[serde(rename_all = "snake_case")]
2286 #[derive(Clone, PartialEq, ::prost::Oneof)]
2287 pub enum Value {
2288 #[prost(message, tag = "1")]
2289 Metrics(super::MetricsQuery),
2290 #[prost(message, tag = "2")]
2291 Logs(super::LogsQuery),
2292 #[prost(message, tag = "3")]
2293 Spans(super::SpansQuery),
2294 #[prost(message, tag = "4")]
2295 Dataprime(super::DataprimeQuery),
2296 }
2297 }
2298 #[derive(serde::Serialize, serde::Deserialize)]
2299 #[serde(rename_all = "snake_case")]
2300 #[derive(Clone, PartialEq, ::prost::Message)]
2301 pub struct MetricsQuery {
2302 #[prost(message, optional, tag = "1")]
2303 pub promql_query: ::core::option::Option<
2304 super::super::super::common::PromQlQuery,
2305 >,
2306 #[prost(message, repeated, tag = "2")]
2307 pub filters: ::prost::alloc::vec::Vec<
2308 super::super::filters::filter::MetricsFilter,
2309 >,
2310 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
2311 pub editor_mode: i32,
2312 #[prost(message, optional, tag = "4")]
2313 pub time_frame: ::core::option::Option<
2314 super::super::super::common::TimeFrameSelect,
2315 >,
2316 #[prost(enumeration = "super::common::Aggregation", tag = "5")]
2317 pub aggregation: i32,
2318 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "6")]
2319 pub promql_query_type: i32,
2320 }
2321 #[derive(serde::Serialize, serde::Deserialize)]
2322 #[serde(rename_all = "snake_case")]
2323 #[derive(Clone, PartialEq, ::prost::Message)]
2324 pub struct LogsQuery {
2325 #[prost(message, optional, tag = "1")]
2326 pub lucene_query: ::core::option::Option<
2327 super::super::super::common::LuceneQuery,
2328 >,
2329 #[prost(message, optional, tag = "2")]
2330 pub logs_aggregation: ::core::option::Option<
2331 super::super::super::common::LogsAggregation,
2332 >,
2333 #[prost(message, repeated, tag = "3")]
2334 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
2335 #[prost(message, repeated, tag = "4")]
2336 pub group_by: ::prost::alloc::vec::Vec<
2337 super::super::super::common::ObservationField,
2338 >,
2339 #[prost(message, optional, tag = "5")]
2340 pub time_frame: ::core::option::Option<
2341 super::super::super::common::TimeFrameSelect,
2342 >,
2343 }
2344 #[derive(serde::Serialize, serde::Deserialize)]
2345 #[serde(rename_all = "snake_case")]
2346 #[derive(Clone, PartialEq, ::prost::Message)]
2347 pub struct SpansQuery {
2348 #[prost(message, optional, tag = "1")]
2349 pub lucene_query: ::core::option::Option<
2350 super::super::super::common::LuceneQuery,
2351 >,
2352 #[prost(message, optional, tag = "2")]
2353 pub spans_aggregation: ::core::option::Option<
2354 super::super::super::common::SpansAggregation,
2355 >,
2356 #[prost(message, repeated, tag = "3")]
2357 pub filters: ::prost::alloc::vec::Vec<
2358 super::super::filters::filter::SpansFilter,
2359 >,
2360 #[prost(message, repeated, tag = "4")]
2361 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
2362 #[prost(message, optional, tag = "5")]
2363 pub time_frame: ::core::option::Option<
2364 super::super::super::common::TimeFrameSelect,
2365 >,
2366 #[prost(message, repeated, tag = "6")]
2367 pub group_bys: ::prost::alloc::vec::Vec<
2368 super::super::super::common::SpanObservationField,
2369 >,
2370 }
2371 #[derive(serde::Serialize, serde::Deserialize)]
2372 #[serde(rename_all = "snake_case")]
2373 #[derive(Clone, PartialEq, ::prost::Message)]
2374 pub struct DataprimeQuery {
2375 #[prost(message, optional, tag = "1")]
2376 pub dataprime_query: ::core::option::Option<
2377 super::super::super::common::DataprimeQuery,
2378 >,
2379 #[prost(message, repeated, tag = "2")]
2380 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
2381 #[prost(message, optional, tag = "3")]
2382 pub time_frame: ::core::option::Option<
2383 super::super::super::common::TimeFrameSelect,
2384 >,
2385 }
2386}
2387#[derive(serde::Serialize, serde::Deserialize)]
2388#[serde(rename_all = "snake_case")]
2389#[derive(Clone, PartialEq, ::prost::Message)]
2390pub struct HorizontalBarChart {
2391 #[prost(message, optional, tag = "1")]
2392 pub query: ::core::option::Option<horizontal_bar_chart::Query>,
2393 #[prost(message, optional, tag = "2")]
2394 pub max_bars_per_chart: ::core::option::Option<i32>,
2395 #[prost(message, optional, tag = "3")]
2396 pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
2397 #[prost(message, optional, tag = "4")]
2398 pub stack_definition: ::core::option::Option<horizontal_bar_chart::StackDefinition>,
2399 #[prost(enumeration = "common::ScaleType", tag = "5")]
2400 pub scale_type: i32,
2401 #[prost(message, optional, tag = "6")]
2402 pub colors_by: ::core::option::Option<common::ColorsBy>,
2403 #[prost(enumeration = "common::Unit", tag = "8")]
2404 pub unit: i32,
2405 #[prost(message, optional, tag = "9")]
2406 pub display_on_bar: ::core::option::Option<bool>,
2407 #[prost(message, optional, tag = "10")]
2408 pub y_axis_view_by: ::core::option::Option<horizontal_bar_chart::YAxisViewBy>,
2409 #[prost(enumeration = "common::SortByType", tag = "11")]
2410 pub sort_by: i32,
2411 #[prost(message, optional, tag = "12")]
2412 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
2413 #[prost(enumeration = "common::DataModeType", tag = "13")]
2414 pub data_mode_type: i32,
2415 #[prost(message, optional, tag = "14")]
2416 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
2417 #[prost(message, optional, tag = "15")]
2418 pub decimal: ::core::option::Option<i32>,
2419 #[prost(message, optional, tag = "16")]
2420 pub legend: ::core::option::Option<common::Legend>,
2421 #[prost(message, optional, tag = "17")]
2422 pub hash_colors: ::core::option::Option<bool>,
2423 #[prost(message, optional, tag = "18")]
2424 pub y_axis_min: ::core::option::Option<f32>,
2425 #[prost(message, optional, tag = "19")]
2426 pub y_axis_max: ::core::option::Option<f32>,
2427 #[prost(message, optional, tag = "20")]
2428 pub decimal_precision: ::core::option::Option<bool>,
2429}
2430pub mod horizontal_bar_chart {
2432 #[derive(serde::Serialize, serde::Deserialize)]
2433 #[serde(rename_all = "snake_case")]
2434 #[derive(Clone, PartialEq, ::prost::Message)]
2435 pub struct Query {
2436 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
2437 pub value: ::core::option::Option<query::Value>,
2438 }
2439 pub mod query {
2441 #[derive(serde::Serialize, serde::Deserialize)]
2442 #[serde(rename_all = "snake_case")]
2443 #[derive(Clone, PartialEq, ::prost::Oneof)]
2444 pub enum Value {
2445 #[prost(message, tag = "1")]
2446 Logs(super::LogsQuery),
2447 #[prost(message, tag = "2")]
2448 Spans(super::SpansQuery),
2449 #[prost(message, tag = "3")]
2450 Metrics(super::MetricsQuery),
2451 #[prost(message, tag = "4")]
2452 Dataprime(super::DataprimeQuery),
2453 }
2454 }
2455 #[derive(serde::Serialize, serde::Deserialize)]
2456 #[serde(rename_all = "snake_case")]
2457 #[derive(Clone, PartialEq, ::prost::Message)]
2458 pub struct StackDefinition {
2459 #[prost(message, optional, tag = "1")]
2460 pub max_slices_per_bar: ::core::option::Option<i32>,
2461 #[prost(message, optional, tag = "2")]
2462 pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
2463 }
2464 #[derive(serde::Serialize, serde::Deserialize)]
2465 #[serde(rename_all = "snake_case")]
2466 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
2467 pub struct YAxisViewBy {
2468 #[prost(oneof = "y_axis_view_by::YAxisView", tags = "1, 2")]
2469 pub y_axis_view: ::core::option::Option<y_axis_view_by::YAxisView>,
2470 }
2471 pub mod y_axis_view_by {
2473 #[derive(serde::Serialize, serde::Deserialize)]
2474 #[serde(rename_all = "snake_case")]
2475 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
2476 pub struct YAxisViewByCategory {}
2477 #[derive(serde::Serialize, serde::Deserialize)]
2478 #[serde(rename_all = "snake_case")]
2479 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
2480 pub struct YAxisViewByValue {}
2481 #[derive(serde::Serialize, serde::Deserialize)]
2482 #[serde(rename_all = "snake_case")]
2483 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
2484 pub enum YAxisView {
2485 #[prost(message, tag = "1")]
2486 Category(YAxisViewByCategory),
2487 #[prost(message, tag = "2")]
2488 Value(YAxisViewByValue),
2489 }
2490 }
2491 #[derive(serde::Serialize, serde::Deserialize)]
2492 #[serde(rename_all = "snake_case")]
2493 #[derive(Clone, PartialEq, ::prost::Message)]
2494 pub struct LogsQuery {
2495 #[prost(message, optional, tag = "1")]
2496 pub lucene_query: ::core::option::Option<
2497 super::super::super::common::LuceneQuery,
2498 >,
2499 #[prost(message, optional, tag = "2")]
2500 pub aggregation: ::core::option::Option<
2501 super::super::super::common::LogsAggregation,
2502 >,
2503 #[prost(message, repeated, tag = "3")]
2504 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
2505 #[prost(message, repeated, tag = "4")]
2506 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2507 #[prost(message, optional, tag = "5")]
2508 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
2509 #[prost(message, repeated, tag = "6")]
2510 pub group_names_fields: ::prost::alloc::vec::Vec<
2511 super::super::super::common::ObservationField,
2512 >,
2513 #[prost(message, optional, tag = "7")]
2514 pub stacked_group_name_field: ::core::option::Option<
2515 super::super::super::common::ObservationField,
2516 >,
2517 #[prost(message, optional, tag = "8")]
2518 pub time_frame: ::core::option::Option<
2519 super::super::super::common::TimeFrameSelect,
2520 >,
2521 }
2522 #[derive(serde::Serialize, serde::Deserialize)]
2523 #[serde(rename_all = "snake_case")]
2524 #[derive(Clone, PartialEq, ::prost::Message)]
2525 pub struct SpansQuery {
2526 #[prost(message, optional, tag = "1")]
2527 pub lucene_query: ::core::option::Option<
2528 super::super::super::common::LuceneQuery,
2529 >,
2530 #[prost(message, optional, tag = "2")]
2531 pub aggregation: ::core::option::Option<
2532 super::super::super::common::SpansAggregation,
2533 >,
2534 #[prost(message, repeated, tag = "3")]
2535 pub filters: ::prost::alloc::vec::Vec<
2536 super::super::filters::filter::SpansFilter,
2537 >,
2538 #[prost(message, repeated, tag = "4")]
2539 pub group_names: ::prost::alloc::vec::Vec<
2540 super::super::super::common::SpanField,
2541 >,
2542 #[prost(message, optional, tag = "5")]
2543 pub stacked_group_name: ::core::option::Option<
2544 super::super::super::common::SpanField,
2545 >,
2546 #[prost(message, optional, tag = "6")]
2547 pub time_frame: ::core::option::Option<
2548 super::super::super::common::TimeFrameSelect,
2549 >,
2550 #[prost(message, repeated, tag = "7")]
2551 pub group_names_fields: ::prost::alloc::vec::Vec<
2552 super::super::super::common::SpanObservationField,
2553 >,
2554 #[prost(message, optional, tag = "8")]
2555 pub stacked_group_name_field: ::core::option::Option<
2556 super::super::super::common::SpanObservationField,
2557 >,
2558 }
2559 #[derive(serde::Serialize, serde::Deserialize)]
2560 #[serde(rename_all = "snake_case")]
2561 #[derive(Clone, PartialEq, ::prost::Message)]
2562 pub struct MetricsQuery {
2563 #[prost(message, optional, tag = "1")]
2564 pub promql_query: ::core::option::Option<
2565 super::super::super::common::PromQlQuery,
2566 >,
2567 #[prost(message, repeated, tag = "2")]
2568 pub filters: ::prost::alloc::vec::Vec<
2569 super::super::filters::filter::MetricsFilter,
2570 >,
2571 #[prost(message, repeated, tag = "3")]
2572 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2573 #[prost(message, optional, tag = "4")]
2574 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
2575 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
2576 pub editor_mode: i32,
2577 #[prost(message, optional, tag = "6")]
2578 pub time_frame: ::core::option::Option<
2579 super::super::super::common::TimeFrameSelect,
2580 >,
2581 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
2582 pub promql_query_type: i32,
2583 #[prost(enumeration = "super::common::Aggregation", tag = "8")]
2584 pub aggregation: i32,
2585 }
2586 #[derive(serde::Serialize, serde::Deserialize)]
2587 #[serde(rename_all = "snake_case")]
2588 #[derive(Clone, PartialEq, ::prost::Message)]
2589 pub struct DataprimeQuery {
2590 #[prost(message, optional, tag = "1")]
2591 pub dataprime_query: ::core::option::Option<
2592 super::super::super::common::DataprimeQuery,
2593 >,
2594 #[prost(message, repeated, tag = "2")]
2595 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
2596 #[prost(message, repeated, tag = "3")]
2597 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2598 #[prost(message, optional, tag = "4")]
2599 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
2600 #[prost(message, optional, tag = "5")]
2601 pub time_frame: ::core::option::Option<
2602 super::super::super::common::TimeFrameSelect,
2603 >,
2604 }
2605}
2606#[derive(serde::Serialize, serde::Deserialize)]
2607#[serde(rename_all = "snake_case")]
2608#[derive(Clone, PartialEq, ::prost::Message)]
2609pub struct LineChart {
2610 #[prost(message, optional, tag = "2")]
2611 pub legend: ::core::option::Option<common::Legend>,
2612 #[prost(message, optional, tag = "6")]
2613 pub tooltip: ::core::option::Option<line_chart::Tooltip>,
2614 #[prost(message, repeated, tag = "7")]
2615 pub query_definitions: ::prost::alloc::vec::Vec<line_chart::QueryDefinition>,
2616 #[prost(enumeration = "line_chart::StackedLine", tag = "9")]
2617 pub stacked_line: i32,
2618 #[prost(message, optional, tag = "10")]
2619 pub connect_nulls: ::core::option::Option<bool>,
2620}
2621pub mod line_chart {
2623 #[derive(serde::Serialize, serde::Deserialize)]
2624 #[serde(rename_all = "snake_case")]
2625 #[derive(Clone, PartialEq, ::prost::Message)]
2626 pub struct QueryDefinition {
2627 #[prost(message, optional, tag = "1")]
2628 pub id: ::core::option::Option<::prost::alloc::string::String>,
2629 #[prost(message, optional, tag = "2")]
2630 pub query: ::core::option::Option<Query>,
2631 #[prost(message, optional, tag = "3")]
2632 pub series_name_template: ::core::option::Option<::prost::alloc::string::String>,
2633 #[prost(message, optional, tag = "4")]
2634 pub series_count_limit: ::core::option::Option<i64>,
2635 #[prost(enumeration = "super::common::Unit", tag = "5")]
2636 pub unit: i32,
2637 #[prost(enumeration = "super::common::ScaleType", tag = "6")]
2638 pub scale_type: i32,
2639 #[prost(message, optional, tag = "7")]
2640 pub name: ::core::option::Option<::prost::alloc::string::String>,
2641 #[prost(message, optional, tag = "8")]
2642 pub is_visible: ::core::option::Option<bool>,
2643 #[prost(message, optional, tag = "9")]
2644 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
2645 #[prost(message, optional, tag = "10")]
2646 pub resolution: ::core::option::Option<Resolution>,
2647 #[prost(enumeration = "super::common::DataModeType", tag = "11")]
2648 pub data_mode_type: i32,
2649 #[prost(message, optional, tag = "12")]
2650 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
2651 #[prost(message, optional, tag = "13")]
2652 pub decimal: ::core::option::Option<i32>,
2653 #[prost(message, optional, tag = "14")]
2654 pub hash_colors: ::core::option::Option<bool>,
2655 #[prost(message, optional, tag = "15")]
2656 pub y_axis_min: ::core::option::Option<f32>,
2657 #[prost(message, optional, tag = "16")]
2658 pub y_axis_max: ::core::option::Option<f32>,
2659 #[prost(message, optional, tag = "17")]
2660 pub decimal_precision: ::core::option::Option<bool>,
2661 }
2662 #[derive(serde::Serialize, serde::Deserialize)]
2663 #[serde(rename_all = "snake_case")]
2664 #[derive(Clone, PartialEq, ::prost::Message)]
2665 pub struct Query {
2666 #[prost(oneof = "query::Value", tags = "1, 2, 3, 5")]
2667 pub value: ::core::option::Option<query::Value>,
2668 }
2669 pub mod query {
2671 #[derive(serde::Serialize, serde::Deserialize)]
2672 #[serde(rename_all = "snake_case")]
2673 #[derive(Clone, PartialEq, ::prost::Oneof)]
2674 pub enum Value {
2675 #[prost(message, tag = "1")]
2676 Logs(super::LogsQuery),
2677 #[prost(message, tag = "2")]
2678 Metrics(super::MetricsQuery),
2679 #[prost(message, tag = "3")]
2680 Spans(super::SpansQuery),
2681 #[prost(message, tag = "5")]
2682 Dataprime(super::DataprimeQuery),
2683 }
2684 }
2685 #[derive(serde::Serialize, serde::Deserialize)]
2686 #[serde(rename_all = "snake_case")]
2687 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
2688 pub struct Tooltip {
2689 #[prost(message, optional, tag = "1")]
2690 pub show_labels: ::core::option::Option<bool>,
2691 #[prost(enumeration = "TooltipType", tag = "2")]
2692 pub r#type: i32,
2693 }
2694 #[derive(serde::Serialize, serde::Deserialize)]
2695 #[serde(rename_all = "snake_case")]
2696 #[derive(Clone, PartialEq, ::prost::Message)]
2697 pub struct LogsQuery {
2698 #[prost(message, optional, tag = "1")]
2699 pub lucene_query: ::core::option::Option<
2700 super::super::super::common::LuceneQuery,
2701 >,
2702 #[prost(message, repeated, tag = "2")]
2703 pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2704 #[prost(message, repeated, tag = "3")]
2705 pub aggregations: ::prost::alloc::vec::Vec<
2706 super::super::super::common::LogsAggregation,
2707 >,
2708 #[prost(message, repeated, tag = "4")]
2709 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
2710 #[prost(message, repeated, tag = "5")]
2711 pub group_bys: ::prost::alloc::vec::Vec<
2712 super::super::super::common::ObservationField,
2713 >,
2714 #[prost(message, optional, tag = "6")]
2715 pub time_frame: ::core::option::Option<
2716 super::super::super::common::TimeFrameSelect,
2717 >,
2718 }
2719 #[derive(serde::Serialize, serde::Deserialize)]
2720 #[serde(rename_all = "snake_case")]
2721 #[derive(Clone, PartialEq, ::prost::Message)]
2722 pub struct MetricsQuery {
2723 #[prost(message, optional, tag = "1")]
2724 pub promql_query: ::core::option::Option<
2725 super::super::super::common::PromQlQuery,
2726 >,
2727 #[prost(message, repeated, tag = "2")]
2728 pub filters: ::prost::alloc::vec::Vec<
2729 super::super::filters::filter::MetricsFilter,
2730 >,
2731 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
2732 pub editor_mode: i32,
2733 #[prost(message, optional, tag = "4")]
2734 pub time_frame: ::core::option::Option<
2735 super::super::super::common::TimeFrameSelect,
2736 >,
2737 #[prost(
2738 enumeration = "super::super::super::common::MetricsSeriesLimitType",
2739 tag = "5"
2740 )]
2741 pub series_limit_type: i32,
2742 }
2743 #[derive(serde::Serialize, serde::Deserialize)]
2744 #[serde(rename_all = "snake_case")]
2745 #[derive(Clone, PartialEq, ::prost::Message)]
2746 pub struct SpansQuery {
2747 #[prost(message, optional, tag = "1")]
2748 pub lucene_query: ::core::option::Option<
2749 super::super::super::common::LuceneQuery,
2750 >,
2751 #[prost(message, repeated, tag = "2")]
2752 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
2753 #[prost(message, repeated, tag = "3")]
2754 pub aggregations: ::prost::alloc::vec::Vec<
2755 super::super::super::common::SpansAggregation,
2756 >,
2757 #[prost(message, repeated, tag = "4")]
2758 pub filters: ::prost::alloc::vec::Vec<
2759 super::super::filters::filter::SpansFilter,
2760 >,
2761 #[prost(message, optional, tag = "5")]
2762 pub time_frame: ::core::option::Option<
2763 super::super::super::common::TimeFrameSelect,
2764 >,
2765 #[prost(message, repeated, tag = "6")]
2766 pub group_bys: ::prost::alloc::vec::Vec<
2767 super::super::super::common::SpanObservationField,
2768 >,
2769 }
2770 #[derive(serde::Serialize, serde::Deserialize)]
2771 #[serde(rename_all = "snake_case")]
2772 #[derive(Clone, PartialEq, ::prost::Message)]
2773 pub struct DataprimeQuery {
2774 #[prost(message, optional, tag = "1")]
2775 pub dataprime_query: ::core::option::Option<
2776 super::super::super::common::DataprimeQuery,
2777 >,
2778 #[prost(message, repeated, tag = "2")]
2779 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
2780 #[prost(message, optional, tag = "3")]
2781 pub time_frame: ::core::option::Option<
2782 super::super::super::common::TimeFrameSelect,
2783 >,
2784 }
2785 #[derive(serde::Serialize, serde::Deserialize)]
2786 #[serde(rename_all = "snake_case")]
2787 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
2788 pub struct Resolution {
2789 #[prost(message, optional, tag = "1")]
2791 pub interval: ::core::option::Option<::prost_wkt_types::Duration>,
2792 #[prost(message, optional, tag = "2")]
2793 pub buckets_presented: ::core::option::Option<i32>,
2794 }
2795 #[derive(serde::Serialize, serde::Deserialize)]
2796 #[serde(rename_all = "snake_case")]
2797 #[derive(
2798 Clone,
2799 Copy,
2800 Debug,
2801 PartialEq,
2802 Eq,
2803 Hash,
2804 PartialOrd,
2805 Ord,
2806 ::prost::Enumeration
2807 )]
2808 #[repr(i32)]
2809 pub enum TooltipType {
2810 Unspecified = 0,
2811 All = 1,
2812 Single = 2,
2813 }
2814 impl TooltipType {
2815 pub fn as_str_name(&self) -> &'static str {
2820 match self {
2821 Self::Unspecified => "TOOLTIP_TYPE_UNSPECIFIED",
2822 Self::All => "TOOLTIP_TYPE_ALL",
2823 Self::Single => "TOOLTIP_TYPE_SINGLE",
2824 }
2825 }
2826 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2828 match value {
2829 "TOOLTIP_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
2830 "TOOLTIP_TYPE_ALL" => Some(Self::All),
2831 "TOOLTIP_TYPE_SINGLE" => Some(Self::Single),
2832 _ => None,
2833 }
2834 }
2835 }
2836 #[derive(serde::Serialize, serde::Deserialize)]
2837 #[serde(rename_all = "snake_case")]
2838 #[derive(
2839 Clone,
2840 Copy,
2841 Debug,
2842 PartialEq,
2843 Eq,
2844 Hash,
2845 PartialOrd,
2846 Ord,
2847 ::prost::Enumeration
2848 )]
2849 #[repr(i32)]
2850 pub enum StackedLine {
2851 Unspecified = 0,
2852 Absolute = 1,
2853 Relative = 2,
2854 }
2855 impl StackedLine {
2856 pub fn as_str_name(&self) -> &'static str {
2861 match self {
2862 Self::Unspecified => "STACKED_LINE_UNSPECIFIED",
2863 Self::Absolute => "STACKED_LINE_ABSOLUTE",
2864 Self::Relative => "STACKED_LINE_RELATIVE",
2865 }
2866 }
2867 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2869 match value {
2870 "STACKED_LINE_UNSPECIFIED" => Some(Self::Unspecified),
2871 "STACKED_LINE_ABSOLUTE" => Some(Self::Absolute),
2872 "STACKED_LINE_RELATIVE" => Some(Self::Relative),
2873 _ => None,
2874 }
2875 }
2876 }
2877}
2878#[derive(serde::Serialize, serde::Deserialize)]
2879#[serde(rename_all = "snake_case")]
2880#[derive(Clone, PartialEq, ::prost::Message)]
2881pub struct Markdown {
2882 #[prost(message, optional, tag = "1")]
2883 pub markdown_text: ::core::option::Option<::prost::alloc::string::String>,
2884 #[prost(message, optional, tag = "2")]
2885 pub tooltip_text: ::core::option::Option<::prost::alloc::string::String>,
2886}
2887#[derive(serde::Serialize, serde::Deserialize)]
2888#[serde(rename_all = "snake_case")]
2889#[derive(Clone, PartialEq, ::prost::Message)]
2890pub struct PieChart {
2891 #[prost(message, optional, tag = "1")]
2892 pub query: ::core::option::Option<pie_chart::Query>,
2893 #[prost(message, optional, tag = "2")]
2894 pub max_slices_per_chart: ::core::option::Option<i32>,
2895 #[prost(message, optional, tag = "3")]
2896 pub min_slice_percentage: ::core::option::Option<i32>,
2897 #[prost(message, optional, tag = "4")]
2898 pub stack_definition: ::core::option::Option<pie_chart::StackDefinition>,
2899 #[prost(message, optional, tag = "5")]
2900 pub label_definition: ::core::option::Option<pie_chart::LabelDefinition>,
2901 #[prost(message, optional, tag = "6")]
2903 pub show_legend: ::core::option::Option<bool>,
2904 #[prost(message, optional, tag = "7")]
2905 pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
2906 #[prost(enumeration = "common::Unit", tag = "8")]
2907 pub unit: i32,
2908 #[prost(message, optional, tag = "9")]
2909 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
2910 #[prost(enumeration = "common::DataModeType", tag = "10")]
2911 pub data_mode_type: i32,
2912 #[prost(message, optional, tag = "11")]
2913 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
2914 #[prost(message, optional, tag = "12")]
2915 pub decimal: ::core::option::Option<i32>,
2916 #[prost(message, optional, tag = "13")]
2917 pub legend: ::core::option::Option<common::Legend>,
2918 #[prost(message, optional, tag = "14")]
2919 pub hash_colors: ::core::option::Option<bool>,
2920 #[prost(message, optional, tag = "15")]
2921 pub decimal_precision: ::core::option::Option<bool>,
2922 #[prost(message, optional, tag = "16")]
2923 pub show_total: ::core::option::Option<bool>,
2924}
2925pub mod pie_chart {
2927 #[derive(serde::Serialize, serde::Deserialize)]
2928 #[serde(rename_all = "snake_case")]
2929 #[derive(Clone, PartialEq, ::prost::Message)]
2930 pub struct Query {
2931 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
2932 pub value: ::core::option::Option<query::Value>,
2933 }
2934 pub mod query {
2936 #[derive(serde::Serialize, serde::Deserialize)]
2937 #[serde(rename_all = "snake_case")]
2938 #[derive(Clone, PartialEq, ::prost::Oneof)]
2939 pub enum Value {
2940 #[prost(message, tag = "1")]
2941 Logs(super::LogsQuery),
2942 #[prost(message, tag = "2")]
2943 Spans(super::SpansQuery),
2944 #[prost(message, tag = "3")]
2945 Metrics(super::MetricsQuery),
2946 #[prost(message, tag = "4")]
2947 Dataprime(super::DataprimeQuery),
2948 }
2949 }
2950 #[derive(serde::Serialize, serde::Deserialize)]
2951 #[serde(rename_all = "snake_case")]
2952 #[derive(Clone, PartialEq, ::prost::Message)]
2953 pub struct StackDefinition {
2954 #[prost(message, optional, tag = "1")]
2955 pub max_slices_per_stack: ::core::option::Option<i32>,
2956 #[prost(message, optional, tag = "2")]
2957 pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
2958 }
2959 #[derive(serde::Serialize, serde::Deserialize)]
2960 #[serde(rename_all = "snake_case")]
2961 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
2962 pub struct LabelDefinition {
2963 #[prost(enumeration = "LabelSource", tag = "1")]
2964 pub label_source: i32,
2965 #[prost(message, optional, tag = "2")]
2966 pub is_visible: ::core::option::Option<bool>,
2967 #[prost(message, optional, tag = "3")]
2968 pub show_name: ::core::option::Option<bool>,
2969 #[prost(message, optional, tag = "4")]
2970 pub show_value: ::core::option::Option<bool>,
2971 #[prost(message, optional, tag = "5")]
2972 pub show_percentage: ::core::option::Option<bool>,
2973 }
2974 #[derive(serde::Serialize, serde::Deserialize)]
2975 #[serde(rename_all = "snake_case")]
2976 #[derive(Clone, PartialEq, ::prost::Message)]
2977 pub struct LogsQuery {
2978 #[prost(message, optional, tag = "1")]
2979 pub lucene_query: ::core::option::Option<
2980 super::super::super::common::LuceneQuery,
2981 >,
2982 #[prost(message, optional, tag = "2")]
2983 pub aggregation: ::core::option::Option<
2984 super::super::super::common::LogsAggregation,
2985 >,
2986 #[prost(message, repeated, tag = "3")]
2987 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
2988 #[prost(message, repeated, tag = "4")]
2989 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2990 #[prost(message, optional, tag = "5")]
2991 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
2992 #[prost(message, repeated, tag = "6")]
2993 pub group_names_fields: ::prost::alloc::vec::Vec<
2994 super::super::super::common::ObservationField,
2995 >,
2996 #[prost(message, optional, tag = "7")]
2997 pub stacked_group_name_field: ::core::option::Option<
2998 super::super::super::common::ObservationField,
2999 >,
3000 #[prost(message, optional, tag = "8")]
3001 pub time_frame: ::core::option::Option<
3002 super::super::super::common::TimeFrameSelect,
3003 >,
3004 }
3005 #[derive(serde::Serialize, serde::Deserialize)]
3006 #[serde(rename_all = "snake_case")]
3007 #[derive(Clone, PartialEq, ::prost::Message)]
3008 pub struct SpansQuery {
3009 #[prost(message, optional, tag = "1")]
3010 pub lucene_query: ::core::option::Option<
3011 super::super::super::common::LuceneQuery,
3012 >,
3013 #[prost(message, optional, tag = "2")]
3014 pub aggregation: ::core::option::Option<
3015 super::super::super::common::SpansAggregation,
3016 >,
3017 #[prost(message, repeated, tag = "3")]
3018 pub filters: ::prost::alloc::vec::Vec<
3019 super::super::filters::filter::SpansFilter,
3020 >,
3021 #[prost(message, repeated, tag = "4")]
3022 pub group_names: ::prost::alloc::vec::Vec<
3023 super::super::super::common::SpanField,
3024 >,
3025 #[prost(message, optional, tag = "5")]
3026 pub stacked_group_name: ::core::option::Option<
3027 super::super::super::common::SpanField,
3028 >,
3029 #[prost(message, optional, tag = "6")]
3030 pub time_frame: ::core::option::Option<
3031 super::super::super::common::TimeFrameSelect,
3032 >,
3033 #[prost(message, repeated, tag = "7")]
3034 pub group_names_fields: ::prost::alloc::vec::Vec<
3035 super::super::super::common::SpanObservationField,
3036 >,
3037 #[prost(message, optional, tag = "8")]
3038 pub stacked_group_name_field: ::core::option::Option<
3039 super::super::super::common::SpanObservationField,
3040 >,
3041 }
3042 #[derive(serde::Serialize, serde::Deserialize)]
3043 #[serde(rename_all = "snake_case")]
3044 #[derive(Clone, PartialEq, ::prost::Message)]
3045 pub struct MetricsQuery {
3046 #[prost(message, optional, tag = "1")]
3047 pub promql_query: ::core::option::Option<
3048 super::super::super::common::PromQlQuery,
3049 >,
3050 #[prost(message, repeated, tag = "2")]
3051 pub filters: ::prost::alloc::vec::Vec<
3052 super::super::filters::filter::MetricsFilter,
3053 >,
3054 #[prost(message, repeated, tag = "3")]
3055 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3056 #[prost(message, optional, tag = "4")]
3057 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
3058 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
3059 pub editor_mode: i32,
3060 #[prost(message, optional, tag = "6")]
3061 pub time_frame: ::core::option::Option<
3062 super::super::super::common::TimeFrameSelect,
3063 >,
3064 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
3065 pub promql_query_type: i32,
3066 #[prost(enumeration = "super::common::Aggregation", tag = "8")]
3067 pub aggregation: i32,
3068 }
3069 #[derive(serde::Serialize, serde::Deserialize)]
3070 #[serde(rename_all = "snake_case")]
3071 #[derive(Clone, PartialEq, ::prost::Message)]
3072 pub struct DataprimeQuery {
3073 #[prost(message, optional, tag = "1")]
3074 pub dataprime_query: ::core::option::Option<
3075 super::super::super::common::DataprimeQuery,
3076 >,
3077 #[prost(message, repeated, tag = "2")]
3078 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
3079 #[prost(message, repeated, tag = "3")]
3080 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3081 #[prost(message, optional, tag = "4")]
3082 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
3083 #[prost(message, optional, tag = "5")]
3084 pub time_frame: ::core::option::Option<
3085 super::super::super::common::TimeFrameSelect,
3086 >,
3087 }
3088 #[derive(serde::Serialize, serde::Deserialize)]
3089 #[serde(rename_all = "snake_case")]
3090 #[derive(
3091 Clone,
3092 Copy,
3093 Debug,
3094 PartialEq,
3095 Eq,
3096 Hash,
3097 PartialOrd,
3098 Ord,
3099 ::prost::Enumeration
3100 )]
3101 #[repr(i32)]
3102 pub enum LabelSource {
3103 Unspecified = 0,
3104 Inner = 1,
3105 Stack = 2,
3106 }
3107 impl LabelSource {
3108 pub fn as_str_name(&self) -> &'static str {
3113 match self {
3114 Self::Unspecified => "LABEL_SOURCE_UNSPECIFIED",
3115 Self::Inner => "LABEL_SOURCE_INNER",
3116 Self::Stack => "LABEL_SOURCE_STACK",
3117 }
3118 }
3119 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3121 match value {
3122 "LABEL_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
3123 "LABEL_SOURCE_INNER" => Some(Self::Inner),
3124 "LABEL_SOURCE_STACK" => Some(Self::Stack),
3125 _ => None,
3126 }
3127 }
3128 }
3129}