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