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