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<super::common::LuceneQuery>,
117 #[prost(message, optional, tag = "2")]
118 pub aggregation: ::core::option::Option<
119 super::super::super::common::LogsAggregation,
120 >,
121 #[prost(message, repeated, tag = "3")]
122 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
123 #[prost(message, repeated, tag = "4")]
124 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
125 #[prost(message, optional, tag = "5")]
126 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
127 #[prost(message, repeated, tag = "6")]
128 pub group_names_fields: ::prost::alloc::vec::Vec<
129 super::super::super::common::ObservationField,
130 >,
131 #[prost(message, optional, tag = "7")]
132 pub stacked_group_name_field: ::core::option::Option<
133 super::super::super::common::ObservationField,
134 >,
135 #[prost(message, optional, tag = "8")]
136 pub time_frame: ::core::option::Option<
137 super::super::super::common::TimeFrameSelect,
138 >,
139 }
140 #[derive(serde::Serialize, serde::Deserialize)]
141 #[serde(rename_all = "snake_case")]
142 #[derive(Clone, PartialEq, ::prost::Message)]
143 pub struct SpansQuery {
144 #[prost(message, optional, tag = "1")]
145 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
146 #[prost(message, optional, tag = "2")]
147 pub aggregation: ::core::option::Option<
148 super::super::super::common::SpansAggregation,
149 >,
150 #[prost(message, repeated, tag = "3")]
151 pub filters: ::prost::alloc::vec::Vec<
152 super::super::filters::filter::SpansFilter,
153 >,
154 #[prost(message, repeated, tag = "4")]
155 pub group_names: ::prost::alloc::vec::Vec<
156 super::super::super::common::SpanField,
157 >,
158 #[prost(message, optional, tag = "5")]
159 pub stacked_group_name: ::core::option::Option<
160 super::super::super::common::SpanField,
161 >,
162 #[prost(message, optional, tag = "6")]
163 pub time_frame: ::core::option::Option<
164 super::super::super::common::TimeFrameSelect,
165 >,
166 #[prost(message, repeated, tag = "7")]
167 pub group_names_fields: ::prost::alloc::vec::Vec<
168 super::super::super::common::SpanObservationField,
169 >,
170 #[prost(message, optional, tag = "8")]
171 pub stacked_group_name_field: ::core::option::Option<
172 super::super::super::common::SpanObservationField,
173 >,
174 }
175 #[derive(serde::Serialize, serde::Deserialize)]
176 #[serde(rename_all = "snake_case")]
177 #[derive(Clone, PartialEq, ::prost::Message)]
178 pub struct MetricsQuery {
179 #[prost(message, optional, tag = "1")]
180 pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
181 #[prost(message, repeated, tag = "2")]
182 pub filters: ::prost::alloc::vec::Vec<
183 super::super::filters::filter::MetricsFilter,
184 >,
185 #[prost(message, repeated, tag = "3")]
186 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
187 #[prost(message, optional, tag = "4")]
188 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
189 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
190 pub editor_mode: i32,
191 #[prost(message, optional, tag = "6")]
192 pub time_frame: ::core::option::Option<
193 super::super::super::common::TimeFrameSelect,
194 >,
195 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
196 pub promql_query_type: i32,
197 #[prost(enumeration = "super::common::Aggregation", tag = "8")]
198 pub aggregation: i32,
199 }
200 #[derive(serde::Serialize, serde::Deserialize)]
201 #[serde(rename_all = "snake_case")]
202 #[derive(Clone, PartialEq, ::prost::Message)]
203 pub struct DataprimeQuery {
204 #[prost(message, optional, tag = "1")]
205 pub dataprime_query: ::core::option::Option<
206 super::super::super::common::DataprimeQuery,
207 >,
208 #[prost(message, repeated, tag = "2")]
209 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
210 #[prost(message, repeated, tag = "3")]
211 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
212 #[prost(message, optional, tag = "4")]
213 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
214 #[prost(message, optional, tag = "5")]
215 pub time_frame: ::core::option::Option<
216 super::super::super::common::TimeFrameSelect,
217 >,
218 }
219}
220#[derive(serde::Serialize, serde::Deserialize)]
221#[serde(rename_all = "snake_case")]
222#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
223#[repr(i32)]
224pub enum BarValueDisplay {
225 Unspecified = 0,
226 Top = 1,
227 Inside = 2,
228 Both = 3,
229}
230impl BarValueDisplay {
231 pub fn as_str_name(&self) -> &'static str {
236 match self {
237 Self::Unspecified => "BAR_VALUE_DISPLAY_UNSPECIFIED",
238 Self::Top => "BAR_VALUE_DISPLAY_TOP",
239 Self::Inside => "BAR_VALUE_DISPLAY_INSIDE",
240 Self::Both => "BAR_VALUE_DISPLAY_BOTH",
241 }
242 }
243 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
245 match value {
246 "BAR_VALUE_DISPLAY_UNSPECIFIED" => Some(Self::Unspecified),
247 "BAR_VALUE_DISPLAY_TOP" => Some(Self::Top),
248 "BAR_VALUE_DISPLAY_INSIDE" => Some(Self::Inside),
249 "BAR_VALUE_DISPLAY_BOTH" => Some(Self::Both),
250 _ => None,
251 }
252 }
253}
254#[derive(serde::Serialize, serde::Deserialize)]
255#[serde(rename_all = "snake_case")]
256#[derive(Clone, PartialEq, ::prost::Message)]
257pub struct DataTable {
258 #[prost(message, optional, tag = "1")]
259 pub query: ::core::option::Option<data_table::Query>,
260 #[prost(message, optional, tag = "2")]
261 pub results_per_page: ::core::option::Option<i32>,
262 #[prost(enumeration = "RowStyle", tag = "3")]
263 pub row_style: i32,
264 #[prost(message, repeated, tag = "4")]
265 pub columns: ::prost::alloc::vec::Vec<data_table::Column>,
266 #[prost(message, optional, tag = "5")]
267 pub order_by: ::core::option::Option<super::super::common::OrderingField>,
268 #[prost(enumeration = "common::DataModeType", tag = "11")]
269 pub data_mode_type: i32,
270}
271pub mod data_table {
273 #[derive(serde::Serialize, serde::Deserialize)]
274 #[serde(rename_all = "snake_case")]
275 #[derive(Clone, PartialEq, ::prost::Message)]
276 pub struct Query {
277 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
278 pub value: ::core::option::Option<query::Value>,
279 }
280 pub mod query {
282 #[derive(serde::Serialize, serde::Deserialize)]
283 #[serde(rename_all = "snake_case")]
284 #[derive(Clone, PartialEq, ::prost::Oneof)]
285 pub enum Value {
286 #[prost(message, tag = "1")]
287 Logs(super::LogsQuery),
288 #[prost(message, tag = "2")]
289 Spans(super::SpansQuery),
290 #[prost(message, tag = "3")]
291 Metrics(super::MetricsQuery),
292 #[prost(message, tag = "4")]
293 Dataprime(super::DataprimeQuery),
294 }
295 }
296 #[derive(serde::Serialize, serde::Deserialize)]
297 #[serde(rename_all = "snake_case")]
298 #[derive(Clone, PartialEq, ::prost::Message)]
299 pub struct LogsQuery {
300 #[prost(message, optional, tag = "1")]
301 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
302 #[prost(message, repeated, tag = "2")]
303 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
304 #[prost(message, optional, tag = "3")]
305 pub grouping: ::core::option::Option<logs_query::Grouping>,
306 #[prost(message, optional, tag = "4")]
307 pub time_frame: ::core::option::Option<
308 super::super::super::common::TimeFrameSelect,
309 >,
310 }
311 pub mod logs_query {
313 #[derive(serde::Serialize, serde::Deserialize)]
314 #[serde(rename_all = "snake_case")]
315 #[derive(Clone, PartialEq, ::prost::Message)]
316 pub struct Grouping {
317 #[prost(message, repeated, tag = "1")]
318 pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
319 #[prost(message, repeated, tag = "2")]
320 pub aggregations: ::prost::alloc::vec::Vec<Aggregation>,
321 #[prost(message, repeated, tag = "3")]
322 pub group_bys: ::prost::alloc::vec::Vec<
323 super::super::super::super::common::ObservationField,
324 >,
325 }
326 #[derive(serde::Serialize, serde::Deserialize)]
327 #[serde(rename_all = "snake_case")]
328 #[derive(Clone, PartialEq, ::prost::Message)]
329 pub struct Aggregation {
330 #[prost(message, optional, tag = "1")]
331 pub id: ::core::option::Option<::prost::alloc::string::String>,
332 #[prost(message, optional, tag = "2")]
333 pub name: ::core::option::Option<::prost::alloc::string::String>,
334 #[prost(message, optional, tag = "3")]
335 pub is_visible: ::core::option::Option<bool>,
336 #[prost(message, optional, tag = "4")]
337 pub aggregation: ::core::option::Option<
338 super::super::super::super::common::LogsAggregation,
339 >,
340 }
341 }
342 #[derive(serde::Serialize, serde::Deserialize)]
343 #[serde(rename_all = "snake_case")]
344 #[derive(Clone, PartialEq, ::prost::Message)]
345 pub struct SpansQuery {
346 #[prost(message, optional, tag = "1")]
347 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
348 #[prost(message, repeated, tag = "2")]
349 pub filters: ::prost::alloc::vec::Vec<
350 super::super::filters::filter::SpansFilter,
351 >,
352 #[prost(message, optional, tag = "3")]
353 pub grouping: ::core::option::Option<spans_query::Grouping>,
354 #[prost(message, optional, tag = "4")]
355 pub time_frame: ::core::option::Option<
356 super::super::super::common::TimeFrameSelect,
357 >,
358 }
359 pub mod spans_query {
361 #[derive(serde::Serialize, serde::Deserialize)]
362 #[serde(rename_all = "snake_case")]
363 #[derive(Clone, PartialEq, ::prost::Message)]
364 pub struct Grouping {
365 #[prost(message, repeated, tag = "1")]
366 pub group_by: ::prost::alloc::vec::Vec<
367 super::super::super::super::common::SpanField,
368 >,
369 #[prost(message, repeated, tag = "2")]
370 pub aggregations: ::prost::alloc::vec::Vec<Aggregation>,
371 #[prost(message, repeated, tag = "3")]
372 pub group_bys: ::prost::alloc::vec::Vec<
373 super::super::super::super::common::SpanObservationField,
374 >,
375 }
376 #[derive(serde::Serialize, serde::Deserialize)]
377 #[serde(rename_all = "snake_case")]
378 #[derive(Clone, PartialEq, ::prost::Message)]
379 pub struct Aggregation {
380 #[prost(message, optional, tag = "1")]
381 pub id: ::core::option::Option<::prost::alloc::string::String>,
382 #[prost(message, optional, tag = "2")]
383 pub name: ::core::option::Option<::prost::alloc::string::String>,
384 #[prost(message, optional, tag = "3")]
385 pub is_visible: ::core::option::Option<bool>,
386 #[prost(message, optional, tag = "4")]
387 pub aggregation: ::core::option::Option<
388 super::super::super::super::common::SpansAggregation,
389 >,
390 }
391 }
392 #[derive(serde::Serialize, serde::Deserialize)]
393 #[serde(rename_all = "snake_case")]
394 #[derive(Clone, PartialEq, ::prost::Message)]
395 pub struct MetricsQuery {
396 #[prost(message, optional, tag = "1")]
397 pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
398 #[prost(message, repeated, tag = "2")]
399 pub filters: ::prost::alloc::vec::Vec<
400 super::super::filters::filter::MetricsFilter,
401 >,
402 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
403 pub editor_mode: i32,
404 #[prost(message, optional, tag = "4")]
405 pub time_frame: ::core::option::Option<
406 super::super::super::common::TimeFrameSelect,
407 >,
408 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "5")]
409 pub promql_query_type: i32,
410 }
411 #[derive(serde::Serialize, serde::Deserialize)]
412 #[serde(rename_all = "snake_case")]
413 #[derive(Clone, PartialEq, ::prost::Message)]
414 pub struct DataprimeQuery {
415 #[prost(message, optional, tag = "1")]
416 pub dataprime_query: ::core::option::Option<
417 super::super::super::common::DataprimeQuery,
418 >,
419 #[prost(message, repeated, tag = "2")]
420 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
421 #[prost(message, optional, tag = "3")]
422 pub time_frame: ::core::option::Option<
423 super::super::super::common::TimeFrameSelect,
424 >,
425 }
426 #[derive(serde::Serialize, serde::Deserialize)]
427 #[serde(rename_all = "snake_case")]
428 #[derive(Clone, PartialEq, ::prost::Message)]
429 pub struct Column {
430 #[prost(message, optional, tag = "1")]
431 pub field: ::core::option::Option<::prost::alloc::string::String>,
432 #[prost(message, optional, tag = "2")]
433 pub width: ::core::option::Option<i32>,
434 }
435}
436#[derive(serde::Serialize, serde::Deserialize)]
437#[serde(rename_all = "snake_case")]
438#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
439#[repr(i32)]
440pub enum RowStyle {
441 Unspecified = 0,
442 OneLine = 1,
443 TwoLine = 2,
444 Condensed = 3,
445 Json = 4,
446 List = 5,
447}
448impl RowStyle {
449 pub fn as_str_name(&self) -> &'static str {
454 match self {
455 Self::Unspecified => "ROW_STYLE_UNSPECIFIED",
456 Self::OneLine => "ROW_STYLE_ONE_LINE",
457 Self::TwoLine => "ROW_STYLE_TWO_LINE",
458 Self::Condensed => "ROW_STYLE_CONDENSED",
459 Self::Json => "ROW_STYLE_JSON",
460 Self::List => "ROW_STYLE_LIST",
461 }
462 }
463 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
465 match value {
466 "ROW_STYLE_UNSPECIFIED" => Some(Self::Unspecified),
467 "ROW_STYLE_ONE_LINE" => Some(Self::OneLine),
468 "ROW_STYLE_TWO_LINE" => Some(Self::TwoLine),
469 "ROW_STYLE_CONDENSED" => Some(Self::Condensed),
470 "ROW_STYLE_JSON" => Some(Self::Json),
471 "ROW_STYLE_LIST" => Some(Self::List),
472 _ => None,
473 }
474 }
475}
476#[derive(serde::Serialize, serde::Deserialize)]
477#[serde(rename_all = "snake_case")]
478#[derive(Clone, PartialEq, ::prost::Message)]
479pub struct Gauge {
480 #[prost(message, optional, tag = "1")]
481 pub query: ::core::option::Option<gauge::Query>,
482 #[prost(message, optional, tag = "2")]
483 pub min: ::core::option::Option<f64>,
484 #[prost(message, optional, tag = "3")]
485 pub max: ::core::option::Option<f64>,
486 #[prost(message, optional, tag = "4")]
487 pub show_inner_arc: ::core::option::Option<bool>,
488 #[prost(message, optional, tag = "5")]
489 pub show_outer_arc: ::core::option::Option<bool>,
490 #[prost(enumeration = "gauge::Unit", tag = "6")]
491 pub unit: i32,
492 #[prost(message, repeated, tag = "7")]
493 pub thresholds: ::prost::alloc::vec::Vec<gauge::Threshold>,
494 #[prost(enumeration = "common::DataModeType", tag = "8")]
495 pub data_mode_type: i32,
496 #[prost(enumeration = "gauge::ThresholdBy", tag = "9")]
497 pub threshold_by: i32,
498 #[prost(message, optional, tag = "10")]
499 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
500 #[prost(message, optional, tag = "11")]
501 pub decimal: ::core::option::Option<i32>,
502 #[prost(enumeration = "common::ThresholdType", tag = "12")]
503 pub threshold_type: i32,
504 #[prost(message, optional, tag = "13")]
505 pub legend: ::core::option::Option<common::Legend>,
506 #[prost(enumeration = "common::LegendBy", tag = "14")]
507 pub legend_by: i32,
508 #[prost(message, optional, tag = "15")]
509 pub display_series_name: ::core::option::Option<bool>,
510 #[prost(message, optional, tag = "16")]
511 pub decimal_precision: ::core::option::Option<bool>,
512}
513pub mod gauge {
515 #[derive(serde::Serialize, serde::Deserialize)]
516 #[serde(rename_all = "snake_case")]
517 #[derive(Clone, PartialEq, ::prost::Message)]
518 pub struct Query {
519 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
520 pub value: ::core::option::Option<query::Value>,
521 }
522 pub mod query {
524 #[derive(serde::Serialize, serde::Deserialize)]
525 #[serde(rename_all = "snake_case")]
526 #[derive(Clone, PartialEq, ::prost::Oneof)]
527 pub enum Value {
528 #[prost(message, tag = "1")]
529 Metrics(super::MetricsQuery),
530 #[prost(message, tag = "2")]
531 Logs(super::LogsQuery),
532 #[prost(message, tag = "3")]
533 Spans(super::SpansQuery),
534 #[prost(message, tag = "4")]
535 Dataprime(super::DataprimeQuery),
536 }
537 }
538 #[derive(serde::Serialize, serde::Deserialize)]
539 #[serde(rename_all = "snake_case")]
540 #[derive(Clone, PartialEq, ::prost::Message)]
541 pub struct MetricsQuery {
542 #[prost(message, optional, tag = "1")]
543 pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
544 #[prost(enumeration = "Aggregation", tag = "2")]
545 pub aggregation: i32,
546 #[prost(message, repeated, tag = "3")]
547 pub filters: ::prost::alloc::vec::Vec<
548 super::super::filters::filter::MetricsFilter,
549 >,
550 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "4")]
551 pub editor_mode: i32,
552 #[prost(message, optional, tag = "5")]
553 pub time_frame: ::core::option::Option<
554 super::super::super::common::TimeFrameSelect,
555 >,
556 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "6")]
557 pub promql_query_type: i32,
558 }
559 #[derive(serde::Serialize, serde::Deserialize)]
560 #[serde(rename_all = "snake_case")]
561 #[derive(Clone, PartialEq, ::prost::Message)]
562 pub struct LogsQuery {
563 #[prost(message, optional, tag = "1")]
564 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
565 #[prost(message, optional, tag = "2")]
566 pub logs_aggregation: ::core::option::Option<
567 super::super::super::common::LogsAggregation,
568 >,
569 #[deprecated]
570 #[prost(enumeration = "Aggregation", tag = "3")]
571 pub aggregation: i32,
572 #[prost(message, repeated, tag = "4")]
573 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
574 #[prost(message, repeated, tag = "5")]
575 pub group_by: ::prost::alloc::vec::Vec<
576 super::super::super::common::ObservationField,
577 >,
578 #[prost(message, optional, tag = "6")]
579 pub time_frame: ::core::option::Option<
580 super::super::super::common::TimeFrameSelect,
581 >,
582 }
583 #[derive(serde::Serialize, serde::Deserialize)]
584 #[serde(rename_all = "snake_case")]
585 #[derive(Clone, PartialEq, ::prost::Message)]
586 pub struct SpansQuery {
587 #[prost(message, optional, tag = "1")]
588 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
589 #[prost(message, optional, tag = "2")]
590 pub spans_aggregation: ::core::option::Option<
591 super::super::super::common::SpansAggregation,
592 >,
593 #[deprecated]
594 #[prost(enumeration = "Aggregation", tag = "3")]
595 pub aggregation: i32,
596 #[prost(message, repeated, tag = "4")]
597 pub filters: ::prost::alloc::vec::Vec<
598 super::super::filters::filter::SpansFilter,
599 >,
600 #[prost(message, repeated, tag = "5")]
601 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
602 #[prost(message, optional, tag = "6")]
603 pub time_frame: ::core::option::Option<
604 super::super::super::common::TimeFrameSelect,
605 >,
606 #[prost(message, repeated, tag = "7")]
607 pub group_bys: ::prost::alloc::vec::Vec<
608 super::super::super::common::SpanObservationField,
609 >,
610 }
611 #[derive(serde::Serialize, serde::Deserialize)]
612 #[serde(rename_all = "snake_case")]
613 #[derive(Clone, PartialEq, ::prost::Message)]
614 pub struct DataprimeQuery {
615 #[prost(message, optional, tag = "1")]
616 pub dataprime_query: ::core::option::Option<
617 super::super::super::common::DataprimeQuery,
618 >,
619 #[prost(message, repeated, tag = "2")]
620 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
621 #[prost(message, optional, tag = "3")]
622 pub time_frame: ::core::option::Option<
623 super::super::super::common::TimeFrameSelect,
624 >,
625 }
626 #[derive(serde::Serialize, serde::Deserialize)]
627 #[serde(rename_all = "snake_case")]
628 #[derive(Clone, PartialEq, ::prost::Message)]
629 pub struct Threshold {
630 #[prost(message, optional, tag = "1")]
631 pub from: ::core::option::Option<f64>,
632 #[prost(message, optional, tag = "2")]
633 pub color: ::core::option::Option<::prost::alloc::string::String>,
634 #[prost(message, optional, tag = "3")]
635 pub label: ::core::option::Option<::prost::alloc::string::String>,
636 }
637 #[derive(serde::Serialize, serde::Deserialize)]
638 #[serde(rename_all = "snake_case")]
639 #[derive(
640 Clone,
641 Copy,
642 Debug,
643 PartialEq,
644 Eq,
645 Hash,
646 PartialOrd,
647 Ord,
648 ::prost::Enumeration
649 )]
650 #[repr(i32)]
651 pub enum Aggregation {
652 Unspecified = 0,
653 Last = 1,
654 Min = 2,
655 Max = 3,
656 Avg = 4,
657 Sum = 5,
658 }
659 impl Aggregation {
660 pub fn as_str_name(&self) -> &'static str {
665 match self {
666 Self::Unspecified => "AGGREGATION_UNSPECIFIED",
667 Self::Last => "AGGREGATION_LAST",
668 Self::Min => "AGGREGATION_MIN",
669 Self::Max => "AGGREGATION_MAX",
670 Self::Avg => "AGGREGATION_AVG",
671 Self::Sum => "AGGREGATION_SUM",
672 }
673 }
674 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
676 match value {
677 "AGGREGATION_UNSPECIFIED" => Some(Self::Unspecified),
678 "AGGREGATION_LAST" => Some(Self::Last),
679 "AGGREGATION_MIN" => Some(Self::Min),
680 "AGGREGATION_MAX" => Some(Self::Max),
681 "AGGREGATION_AVG" => Some(Self::Avg),
682 "AGGREGATION_SUM" => Some(Self::Sum),
683 _ => None,
684 }
685 }
686 }
687 #[derive(serde::Serialize, serde::Deserialize)]
688 #[serde(rename_all = "snake_case")]
689 #[derive(
690 Clone,
691 Copy,
692 Debug,
693 PartialEq,
694 Eq,
695 Hash,
696 PartialOrd,
697 Ord,
698 ::prost::Enumeration
699 )]
700 #[repr(i32)]
701 pub enum Unit {
702 Unspecified = 0,
703 Number = 1,
704 Percent = 2,
705 Microseconds = 3,
706 Milliseconds = 4,
707 Seconds = 5,
708 Bytes = 6,
709 Kbytes = 7,
710 Mbytes = 8,
711 Gbytes = 9,
712 BytesIec = 10,
713 Kibytes = 11,
714 Mibytes = 12,
715 Gibytes = 13,
716 EurCents = 14,
717 Eur = 15,
718 UsdCents = 16,
719 Usd = 17,
720 Custom = 18,
721 PercentZeroOne = 19,
722 PercentZeroHundred = 20,
723 Nanoseconds = 21,
724 }
725 impl Unit {
726 pub fn as_str_name(&self) -> &'static str {
731 match self {
732 Self::Unspecified => "UNIT_UNSPECIFIED",
733 Self::Number => "UNIT_NUMBER",
734 Self::Percent => "UNIT_PERCENT",
735 Self::Microseconds => "UNIT_MICROSECONDS",
736 Self::Milliseconds => "UNIT_MILLISECONDS",
737 Self::Seconds => "UNIT_SECONDS",
738 Self::Bytes => "UNIT_BYTES",
739 Self::Kbytes => "UNIT_KBYTES",
740 Self::Mbytes => "UNIT_MBYTES",
741 Self::Gbytes => "UNIT_GBYTES",
742 Self::BytesIec => "UNIT_BYTES_IEC",
743 Self::Kibytes => "UNIT_KIBYTES",
744 Self::Mibytes => "UNIT_MIBYTES",
745 Self::Gibytes => "UNIT_GIBYTES",
746 Self::EurCents => "UNIT_EUR_CENTS",
747 Self::Eur => "UNIT_EUR",
748 Self::UsdCents => "UNIT_USD_CENTS",
749 Self::Usd => "UNIT_USD",
750 Self::Custom => "UNIT_CUSTOM",
751 Self::PercentZeroOne => "UNIT_PERCENT_ZERO_ONE",
752 Self::PercentZeroHundred => "UNIT_PERCENT_ZERO_HUNDRED",
753 Self::Nanoseconds => "UNIT_NANOSECONDS",
754 }
755 }
756 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
758 match value {
759 "UNIT_UNSPECIFIED" => Some(Self::Unspecified),
760 "UNIT_NUMBER" => Some(Self::Number),
761 "UNIT_PERCENT" => Some(Self::Percent),
762 "UNIT_MICROSECONDS" => Some(Self::Microseconds),
763 "UNIT_MILLISECONDS" => Some(Self::Milliseconds),
764 "UNIT_SECONDS" => Some(Self::Seconds),
765 "UNIT_BYTES" => Some(Self::Bytes),
766 "UNIT_KBYTES" => Some(Self::Kbytes),
767 "UNIT_MBYTES" => Some(Self::Mbytes),
768 "UNIT_GBYTES" => Some(Self::Gbytes),
769 "UNIT_BYTES_IEC" => Some(Self::BytesIec),
770 "UNIT_KIBYTES" => Some(Self::Kibytes),
771 "UNIT_MIBYTES" => Some(Self::Mibytes),
772 "UNIT_GIBYTES" => Some(Self::Gibytes),
773 "UNIT_EUR_CENTS" => Some(Self::EurCents),
774 "UNIT_EUR" => Some(Self::Eur),
775 "UNIT_USD_CENTS" => Some(Self::UsdCents),
776 "UNIT_USD" => Some(Self::Usd),
777 "UNIT_CUSTOM" => Some(Self::Custom),
778 "UNIT_PERCENT_ZERO_ONE" => Some(Self::PercentZeroOne),
779 "UNIT_PERCENT_ZERO_HUNDRED" => Some(Self::PercentZeroHundred),
780 "UNIT_NANOSECONDS" => Some(Self::Nanoseconds),
781 _ => None,
782 }
783 }
784 }
785 #[derive(serde::Serialize, serde::Deserialize)]
786 #[serde(rename_all = "snake_case")]
787 #[derive(
788 Clone,
789 Copy,
790 Debug,
791 PartialEq,
792 Eq,
793 Hash,
794 PartialOrd,
795 Ord,
796 ::prost::Enumeration
797 )]
798 #[repr(i32)]
799 pub enum ThresholdBy {
800 Unspecified = 0,
801 Value = 1,
802 Background = 2,
803 }
804 impl ThresholdBy {
805 pub fn as_str_name(&self) -> &'static str {
810 match self {
811 Self::Unspecified => "THRESHOLD_BY_UNSPECIFIED",
812 Self::Value => "THRESHOLD_BY_VALUE",
813 Self::Background => "THRESHOLD_BY_BACKGROUND",
814 }
815 }
816 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
818 match value {
819 "THRESHOLD_BY_UNSPECIFIED" => Some(Self::Unspecified),
820 "THRESHOLD_BY_VALUE" => Some(Self::Value),
821 "THRESHOLD_BY_BACKGROUND" => Some(Self::Background),
822 _ => None,
823 }
824 }
825 }
826}
827#[derive(serde::Serialize, serde::Deserialize)]
828#[serde(rename_all = "snake_case")]
829#[derive(Clone, PartialEq, ::prost::Message)]
830pub struct Hexagon {
831 #[prost(message, optional, tag = "1")]
832 pub query: ::core::option::Option<hexagon::Query>,
833 #[prost(message, optional, tag = "2")]
834 pub min: ::core::option::Option<f64>,
835 #[prost(message, optional, tag = "3")]
836 pub max: ::core::option::Option<f64>,
837 #[prost(enumeration = "common::Unit", tag = "6")]
838 pub unit: i32,
839 #[prost(message, repeated, tag = "7")]
840 pub thresholds: ::prost::alloc::vec::Vec<common::Threshold>,
841 #[prost(enumeration = "common::DataModeType", tag = "8")]
842 pub data_mode_type: i32,
843 #[prost(message, optional, tag = "10")]
844 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
845 #[prost(message, optional, tag = "11")]
846 pub decimal: ::core::option::Option<i32>,
847 #[prost(enumeration = "common::ThresholdType", tag = "12")]
848 pub threshold_type: i32,
849 #[prost(message, optional, tag = "13")]
850 pub legend: ::core::option::Option<common::Legend>,
851 #[prost(enumeration = "common::LegendBy", tag = "14")]
852 pub legend_by: i32,
853 #[prost(message, optional, tag = "15")]
854 pub decimal_precision: ::core::option::Option<bool>,
855}
856pub mod hexagon {
858 #[derive(serde::Serialize, serde::Deserialize)]
859 #[serde(rename_all = "snake_case")]
860 #[derive(Clone, PartialEq, ::prost::Message)]
861 pub struct Query {
862 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
863 pub value: ::core::option::Option<query::Value>,
864 }
865 pub mod query {
867 #[derive(serde::Serialize, serde::Deserialize)]
868 #[serde(rename_all = "snake_case")]
869 #[derive(Clone, PartialEq, ::prost::Oneof)]
870 pub enum Value {
871 #[prost(message, tag = "1")]
872 Metrics(super::MetricsQuery),
873 #[prost(message, tag = "2")]
874 Logs(super::LogsQuery),
875 #[prost(message, tag = "3")]
876 Spans(super::SpansQuery),
877 #[prost(message, tag = "4")]
878 Dataprime(super::DataprimeQuery),
879 }
880 }
881 #[derive(serde::Serialize, serde::Deserialize)]
882 #[serde(rename_all = "snake_case")]
883 #[derive(Clone, PartialEq, ::prost::Message)]
884 pub struct MetricsQuery {
885 #[prost(message, optional, tag = "1")]
886 pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
887 #[prost(message, repeated, tag = "2")]
888 pub filters: ::prost::alloc::vec::Vec<
889 super::super::filters::filter::MetricsFilter,
890 >,
891 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
892 pub editor_mode: i32,
893 #[prost(message, optional, tag = "4")]
894 pub time_frame: ::core::option::Option<
895 super::super::super::common::TimeFrameSelect,
896 >,
897 #[prost(enumeration = "super::common::Aggregation", tag = "5")]
898 pub aggregation: i32,
899 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "6")]
900 pub promql_query_type: i32,
901 }
902 #[derive(serde::Serialize, serde::Deserialize)]
903 #[serde(rename_all = "snake_case")]
904 #[derive(Clone, PartialEq, ::prost::Message)]
905 pub struct LogsQuery {
906 #[prost(message, optional, tag = "1")]
907 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
908 #[prost(message, optional, tag = "2")]
909 pub logs_aggregation: ::core::option::Option<
910 super::super::super::common::LogsAggregation,
911 >,
912 #[prost(message, repeated, tag = "3")]
913 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
914 #[prost(message, repeated, tag = "4")]
915 pub group_by: ::prost::alloc::vec::Vec<
916 super::super::super::common::ObservationField,
917 >,
918 #[prost(message, optional, tag = "5")]
919 pub time_frame: ::core::option::Option<
920 super::super::super::common::TimeFrameSelect,
921 >,
922 }
923 #[derive(serde::Serialize, serde::Deserialize)]
924 #[serde(rename_all = "snake_case")]
925 #[derive(Clone, PartialEq, ::prost::Message)]
926 pub struct SpansQuery {
927 #[prost(message, optional, tag = "1")]
928 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
929 #[prost(message, optional, tag = "2")]
930 pub spans_aggregation: ::core::option::Option<
931 super::super::super::common::SpansAggregation,
932 >,
933 #[prost(message, repeated, tag = "3")]
934 pub filters: ::prost::alloc::vec::Vec<
935 super::super::filters::filter::SpansFilter,
936 >,
937 #[prost(message, repeated, tag = "4")]
938 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
939 #[prost(message, optional, tag = "5")]
940 pub time_frame: ::core::option::Option<
941 super::super::super::common::TimeFrameSelect,
942 >,
943 #[prost(message, repeated, tag = "6")]
944 pub group_bys: ::prost::alloc::vec::Vec<
945 super::super::super::common::SpanObservationField,
946 >,
947 }
948 #[derive(serde::Serialize, serde::Deserialize)]
949 #[serde(rename_all = "snake_case")]
950 #[derive(Clone, PartialEq, ::prost::Message)]
951 pub struct DataprimeQuery {
952 #[prost(message, optional, tag = "1")]
953 pub dataprime_query: ::core::option::Option<
954 super::super::super::common::DataprimeQuery,
955 >,
956 #[prost(message, repeated, tag = "2")]
957 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
958 #[prost(message, optional, tag = "3")]
959 pub time_frame: ::core::option::Option<
960 super::super::super::common::TimeFrameSelect,
961 >,
962 }
963}
964#[derive(serde::Serialize, serde::Deserialize)]
965#[serde(rename_all = "snake_case")]
966#[derive(Clone, PartialEq, ::prost::Message)]
967pub struct HorizontalBarChart {
968 #[prost(message, optional, tag = "1")]
969 pub query: ::core::option::Option<horizontal_bar_chart::Query>,
970 #[prost(message, optional, tag = "2")]
971 pub max_bars_per_chart: ::core::option::Option<i32>,
972 #[prost(message, optional, tag = "3")]
973 pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
974 #[prost(message, optional, tag = "4")]
975 pub stack_definition: ::core::option::Option<horizontal_bar_chart::StackDefinition>,
976 #[prost(enumeration = "common::ScaleType", tag = "5")]
977 pub scale_type: i32,
978 #[prost(message, optional, tag = "6")]
979 pub colors_by: ::core::option::Option<common::ColorsBy>,
980 #[prost(enumeration = "common::Unit", tag = "8")]
981 pub unit: i32,
982 #[prost(message, optional, tag = "9")]
983 pub display_on_bar: ::core::option::Option<bool>,
984 #[prost(message, optional, tag = "10")]
985 pub y_axis_view_by: ::core::option::Option<horizontal_bar_chart::YAxisViewBy>,
986 #[prost(enumeration = "common::SortByType", tag = "11")]
987 pub sort_by: i32,
988 #[prost(message, optional, tag = "12")]
989 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
990 #[prost(enumeration = "common::DataModeType", tag = "13")]
991 pub data_mode_type: i32,
992 #[prost(message, optional, tag = "14")]
993 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
994 #[prost(message, optional, tag = "15")]
995 pub decimal: ::core::option::Option<i32>,
996 #[prost(message, optional, tag = "16")]
997 pub legend: ::core::option::Option<common::Legend>,
998 #[prost(message, optional, tag = "17")]
999 pub hash_colors: ::core::option::Option<bool>,
1000 #[prost(message, optional, tag = "18")]
1001 pub y_axis_min: ::core::option::Option<f32>,
1002 #[prost(message, optional, tag = "19")]
1003 pub y_axis_max: ::core::option::Option<f32>,
1004 #[prost(message, optional, tag = "20")]
1005 pub decimal_precision: ::core::option::Option<bool>,
1006}
1007pub mod horizontal_bar_chart {
1009 #[derive(serde::Serialize, serde::Deserialize)]
1010 #[serde(rename_all = "snake_case")]
1011 #[derive(Clone, PartialEq, ::prost::Message)]
1012 pub struct Query {
1013 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
1014 pub value: ::core::option::Option<query::Value>,
1015 }
1016 pub mod query {
1018 #[derive(serde::Serialize, serde::Deserialize)]
1019 #[serde(rename_all = "snake_case")]
1020 #[derive(Clone, PartialEq, ::prost::Oneof)]
1021 pub enum Value {
1022 #[prost(message, tag = "1")]
1023 Logs(super::LogsQuery),
1024 #[prost(message, tag = "2")]
1025 Spans(super::SpansQuery),
1026 #[prost(message, tag = "3")]
1027 Metrics(super::MetricsQuery),
1028 #[prost(message, tag = "4")]
1029 Dataprime(super::DataprimeQuery),
1030 }
1031 }
1032 #[derive(serde::Serialize, serde::Deserialize)]
1033 #[serde(rename_all = "snake_case")]
1034 #[derive(Clone, PartialEq, ::prost::Message)]
1035 pub struct StackDefinition {
1036 #[prost(message, optional, tag = "1")]
1037 pub max_slices_per_bar: ::core::option::Option<i32>,
1038 #[prost(message, optional, tag = "2")]
1039 pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
1040 }
1041 #[derive(serde::Serialize, serde::Deserialize)]
1042 #[serde(rename_all = "snake_case")]
1043 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1044 pub struct YAxisViewBy {
1045 #[prost(oneof = "y_axis_view_by::YAxisView", tags = "1, 2")]
1046 pub y_axis_view: ::core::option::Option<y_axis_view_by::YAxisView>,
1047 }
1048 pub mod y_axis_view_by {
1050 #[derive(serde::Serialize, serde::Deserialize)]
1051 #[serde(rename_all = "snake_case")]
1052 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1053 pub struct YAxisViewByCategory {}
1054 #[derive(serde::Serialize, serde::Deserialize)]
1055 #[serde(rename_all = "snake_case")]
1056 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1057 pub struct YAxisViewByValue {}
1058 #[derive(serde::Serialize, serde::Deserialize)]
1059 #[serde(rename_all = "snake_case")]
1060 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1061 pub enum YAxisView {
1062 #[prost(message, tag = "1")]
1063 Category(YAxisViewByCategory),
1064 #[prost(message, tag = "2")]
1065 Value(YAxisViewByValue),
1066 }
1067 }
1068 #[derive(serde::Serialize, serde::Deserialize)]
1069 #[serde(rename_all = "snake_case")]
1070 #[derive(Clone, PartialEq, ::prost::Message)]
1071 pub struct LogsQuery {
1072 #[prost(message, optional, tag = "1")]
1073 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1074 #[prost(message, optional, tag = "2")]
1075 pub aggregation: ::core::option::Option<
1076 super::super::super::common::LogsAggregation,
1077 >,
1078 #[prost(message, repeated, tag = "3")]
1079 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
1080 #[prost(message, repeated, tag = "4")]
1081 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1082 #[prost(message, optional, tag = "5")]
1083 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1084 #[prost(message, repeated, tag = "6")]
1085 pub group_names_fields: ::prost::alloc::vec::Vec<
1086 super::super::super::common::ObservationField,
1087 >,
1088 #[prost(message, optional, tag = "7")]
1089 pub stacked_group_name_field: ::core::option::Option<
1090 super::super::super::common::ObservationField,
1091 >,
1092 #[prost(message, optional, tag = "8")]
1093 pub time_frame: ::core::option::Option<
1094 super::super::super::common::TimeFrameSelect,
1095 >,
1096 }
1097 #[derive(serde::Serialize, serde::Deserialize)]
1098 #[serde(rename_all = "snake_case")]
1099 #[derive(Clone, PartialEq, ::prost::Message)]
1100 pub struct SpansQuery {
1101 #[prost(message, optional, tag = "1")]
1102 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1103 #[prost(message, optional, tag = "2")]
1104 pub aggregation: ::core::option::Option<
1105 super::super::super::common::SpansAggregation,
1106 >,
1107 #[prost(message, repeated, tag = "3")]
1108 pub filters: ::prost::alloc::vec::Vec<
1109 super::super::filters::filter::SpansFilter,
1110 >,
1111 #[prost(message, repeated, tag = "4")]
1112 pub group_names: ::prost::alloc::vec::Vec<
1113 super::super::super::common::SpanField,
1114 >,
1115 #[prost(message, optional, tag = "5")]
1116 pub stacked_group_name: ::core::option::Option<
1117 super::super::super::common::SpanField,
1118 >,
1119 #[prost(message, optional, tag = "6")]
1120 pub time_frame: ::core::option::Option<
1121 super::super::super::common::TimeFrameSelect,
1122 >,
1123 #[prost(message, repeated, tag = "7")]
1124 pub group_names_fields: ::prost::alloc::vec::Vec<
1125 super::super::super::common::SpanObservationField,
1126 >,
1127 #[prost(message, optional, tag = "8")]
1128 pub stacked_group_name_field: ::core::option::Option<
1129 super::super::super::common::SpanObservationField,
1130 >,
1131 }
1132 #[derive(serde::Serialize, serde::Deserialize)]
1133 #[serde(rename_all = "snake_case")]
1134 #[derive(Clone, PartialEq, ::prost::Message)]
1135 pub struct MetricsQuery {
1136 #[prost(message, optional, tag = "1")]
1137 pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
1138 #[prost(message, repeated, tag = "2")]
1139 pub filters: ::prost::alloc::vec::Vec<
1140 super::super::filters::filter::MetricsFilter,
1141 >,
1142 #[prost(message, repeated, tag = "3")]
1143 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1144 #[prost(message, optional, tag = "4")]
1145 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1146 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
1147 pub editor_mode: i32,
1148 #[prost(message, optional, tag = "6")]
1149 pub time_frame: ::core::option::Option<
1150 super::super::super::common::TimeFrameSelect,
1151 >,
1152 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
1153 pub promql_query_type: i32,
1154 #[prost(enumeration = "super::common::Aggregation", tag = "8")]
1155 pub aggregation: i32,
1156 }
1157 #[derive(serde::Serialize, serde::Deserialize)]
1158 #[serde(rename_all = "snake_case")]
1159 #[derive(Clone, PartialEq, ::prost::Message)]
1160 pub struct DataprimeQuery {
1161 #[prost(message, optional, tag = "1")]
1162 pub dataprime_query: ::core::option::Option<
1163 super::super::super::common::DataprimeQuery,
1164 >,
1165 #[prost(message, repeated, tag = "2")]
1166 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
1167 #[prost(message, repeated, tag = "3")]
1168 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1169 #[prost(message, optional, tag = "4")]
1170 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1171 #[prost(message, optional, tag = "5")]
1172 pub time_frame: ::core::option::Option<
1173 super::super::super::common::TimeFrameSelect,
1174 >,
1175 }
1176}
1177#[derive(serde::Serialize, serde::Deserialize)]
1178#[serde(rename_all = "snake_case")]
1179#[derive(Clone, PartialEq, ::prost::Message)]
1180pub struct LineChart {
1181 #[prost(message, optional, tag = "2")]
1182 pub legend: ::core::option::Option<common::Legend>,
1183 #[prost(message, optional, tag = "6")]
1184 pub tooltip: ::core::option::Option<line_chart::Tooltip>,
1185 #[prost(message, repeated, tag = "7")]
1186 pub query_definitions: ::prost::alloc::vec::Vec<line_chart::QueryDefinition>,
1187 #[prost(enumeration = "line_chart::StackedLine", tag = "9")]
1188 pub stacked_line: i32,
1189}
1190pub mod line_chart {
1192 #[derive(serde::Serialize, serde::Deserialize)]
1193 #[serde(rename_all = "snake_case")]
1194 #[derive(Clone, PartialEq, ::prost::Message)]
1195 pub struct QueryDefinition {
1196 #[prost(message, optional, tag = "1")]
1197 pub id: ::core::option::Option<::prost::alloc::string::String>,
1198 #[prost(message, optional, tag = "2")]
1199 pub query: ::core::option::Option<Query>,
1200 #[prost(message, optional, tag = "3")]
1201 pub series_name_template: ::core::option::Option<::prost::alloc::string::String>,
1202 #[prost(message, optional, tag = "4")]
1203 pub series_count_limit: ::core::option::Option<i64>,
1204 #[prost(enumeration = "super::common::Unit", tag = "5")]
1205 pub unit: i32,
1206 #[prost(enumeration = "super::common::ScaleType", tag = "6")]
1207 pub scale_type: i32,
1208 #[prost(message, optional, tag = "7")]
1209 pub name: ::core::option::Option<::prost::alloc::string::String>,
1210 #[prost(message, optional, tag = "8")]
1211 pub is_visible: ::core::option::Option<bool>,
1212 #[prost(message, optional, tag = "9")]
1213 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1214 #[prost(message, optional, tag = "10")]
1215 pub resolution: ::core::option::Option<Resolution>,
1216 #[prost(enumeration = "super::common::DataModeType", tag = "11")]
1217 pub data_mode_type: i32,
1218 #[prost(message, optional, tag = "12")]
1219 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1220 #[prost(message, optional, tag = "13")]
1221 pub decimal: ::core::option::Option<i32>,
1222 #[prost(message, optional, tag = "14")]
1223 pub hash_colors: ::core::option::Option<bool>,
1224 #[prost(message, optional, tag = "15")]
1225 pub y_axis_min: ::core::option::Option<f32>,
1226 #[prost(message, optional, tag = "16")]
1227 pub y_axis_max: ::core::option::Option<f32>,
1228 #[prost(message, optional, tag = "17")]
1229 pub decimal_precision: ::core::option::Option<bool>,
1230 }
1231 #[derive(serde::Serialize, serde::Deserialize)]
1232 #[serde(rename_all = "snake_case")]
1233 #[derive(Clone, PartialEq, ::prost::Message)]
1234 pub struct Query {
1235 #[prost(oneof = "query::Value", tags = "1, 2, 3, 5")]
1236 pub value: ::core::option::Option<query::Value>,
1237 }
1238 pub mod query {
1240 #[derive(serde::Serialize, serde::Deserialize)]
1241 #[serde(rename_all = "snake_case")]
1242 #[derive(Clone, PartialEq, ::prost::Oneof)]
1243 pub enum Value {
1244 #[prost(message, tag = "1")]
1245 Logs(super::LogsQuery),
1246 #[prost(message, tag = "2")]
1247 Metrics(super::MetricsQuery),
1248 #[prost(message, tag = "3")]
1249 Spans(super::SpansQuery),
1250 #[prost(message, tag = "5")]
1251 Dataprime(super::DataprimeQuery),
1252 }
1253 }
1254 #[derive(serde::Serialize, serde::Deserialize)]
1255 #[serde(rename_all = "snake_case")]
1256 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1257 pub struct Tooltip {
1258 #[prost(message, optional, tag = "1")]
1259 pub show_labels: ::core::option::Option<bool>,
1260 #[prost(enumeration = "TooltipType", tag = "2")]
1261 pub r#type: i32,
1262 }
1263 #[derive(serde::Serialize, serde::Deserialize)]
1264 #[serde(rename_all = "snake_case")]
1265 #[derive(Clone, PartialEq, ::prost::Message)]
1266 pub struct LogsQuery {
1267 #[prost(message, optional, tag = "1")]
1268 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1269 #[prost(message, repeated, tag = "2")]
1270 pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1271 #[prost(message, repeated, tag = "3")]
1272 pub aggregations: ::prost::alloc::vec::Vec<
1273 super::super::super::common::LogsAggregation,
1274 >,
1275 #[prost(message, repeated, tag = "4")]
1276 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
1277 #[prost(message, repeated, tag = "5")]
1278 pub group_bys: ::prost::alloc::vec::Vec<
1279 super::super::super::common::ObservationField,
1280 >,
1281 #[prost(message, optional, tag = "6")]
1282 pub time_frame: ::core::option::Option<
1283 super::super::super::common::TimeFrameSelect,
1284 >,
1285 }
1286 #[derive(serde::Serialize, serde::Deserialize)]
1287 #[serde(rename_all = "snake_case")]
1288 #[derive(Clone, PartialEq, ::prost::Message)]
1289 pub struct MetricsQuery {
1290 #[prost(message, optional, tag = "1")]
1291 pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
1292 #[prost(message, repeated, tag = "2")]
1293 pub filters: ::prost::alloc::vec::Vec<
1294 super::super::filters::filter::MetricsFilter,
1295 >,
1296 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
1297 pub editor_mode: i32,
1298 #[prost(message, optional, tag = "4")]
1299 pub time_frame: ::core::option::Option<
1300 super::super::super::common::TimeFrameSelect,
1301 >,
1302 }
1303 #[derive(serde::Serialize, serde::Deserialize)]
1304 #[serde(rename_all = "snake_case")]
1305 #[derive(Clone, PartialEq, ::prost::Message)]
1306 pub struct SpansQuery {
1307 #[prost(message, optional, tag = "1")]
1308 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1309 #[prost(message, repeated, tag = "2")]
1310 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
1311 #[prost(message, repeated, tag = "3")]
1312 pub aggregations: ::prost::alloc::vec::Vec<
1313 super::super::super::common::SpansAggregation,
1314 >,
1315 #[prost(message, repeated, tag = "4")]
1316 pub filters: ::prost::alloc::vec::Vec<
1317 super::super::filters::filter::SpansFilter,
1318 >,
1319 #[prost(message, optional, tag = "5")]
1320 pub time_frame: ::core::option::Option<
1321 super::super::super::common::TimeFrameSelect,
1322 >,
1323 #[prost(message, repeated, tag = "6")]
1324 pub group_bys: ::prost::alloc::vec::Vec<
1325 super::super::super::common::SpanObservationField,
1326 >,
1327 }
1328 #[derive(serde::Serialize, serde::Deserialize)]
1329 #[serde(rename_all = "snake_case")]
1330 #[derive(Clone, PartialEq, ::prost::Message)]
1331 pub struct DataprimeQuery {
1332 #[prost(message, optional, tag = "1")]
1333 pub dataprime_query: ::core::option::Option<
1334 super::super::super::common::DataprimeQuery,
1335 >,
1336 #[prost(message, repeated, tag = "2")]
1337 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
1338 #[prost(message, optional, tag = "3")]
1339 pub time_frame: ::core::option::Option<
1340 super::super::super::common::TimeFrameSelect,
1341 >,
1342 }
1343 #[derive(serde::Serialize, serde::Deserialize)]
1344 #[serde(rename_all = "snake_case")]
1345 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1346 pub struct Resolution {
1347 #[prost(message, optional, tag = "1")]
1349 pub interval: ::core::option::Option<::prost_wkt_types::Duration>,
1350 #[prost(message, optional, tag = "2")]
1351 pub buckets_presented: ::core::option::Option<i32>,
1352 }
1353 #[derive(serde::Serialize, serde::Deserialize)]
1354 #[serde(rename_all = "snake_case")]
1355 #[derive(
1356 Clone,
1357 Copy,
1358 Debug,
1359 PartialEq,
1360 Eq,
1361 Hash,
1362 PartialOrd,
1363 Ord,
1364 ::prost::Enumeration
1365 )]
1366 #[repr(i32)]
1367 pub enum TooltipType {
1368 Unspecified = 0,
1369 All = 1,
1370 Single = 2,
1371 }
1372 impl TooltipType {
1373 pub fn as_str_name(&self) -> &'static str {
1378 match self {
1379 Self::Unspecified => "TOOLTIP_TYPE_UNSPECIFIED",
1380 Self::All => "TOOLTIP_TYPE_ALL",
1381 Self::Single => "TOOLTIP_TYPE_SINGLE",
1382 }
1383 }
1384 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1386 match value {
1387 "TOOLTIP_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1388 "TOOLTIP_TYPE_ALL" => Some(Self::All),
1389 "TOOLTIP_TYPE_SINGLE" => Some(Self::Single),
1390 _ => None,
1391 }
1392 }
1393 }
1394 #[derive(serde::Serialize, serde::Deserialize)]
1395 #[serde(rename_all = "snake_case")]
1396 #[derive(
1397 Clone,
1398 Copy,
1399 Debug,
1400 PartialEq,
1401 Eq,
1402 Hash,
1403 PartialOrd,
1404 Ord,
1405 ::prost::Enumeration
1406 )]
1407 #[repr(i32)]
1408 pub enum StackedLine {
1409 Unspecified = 0,
1410 Absolute = 1,
1411 Relative = 2,
1412 }
1413 impl StackedLine {
1414 pub fn as_str_name(&self) -> &'static str {
1419 match self {
1420 Self::Unspecified => "STACKED_LINE_UNSPECIFIED",
1421 Self::Absolute => "STACKED_LINE_ABSOLUTE",
1422 Self::Relative => "STACKED_LINE_RELATIVE",
1423 }
1424 }
1425 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1427 match value {
1428 "STACKED_LINE_UNSPECIFIED" => Some(Self::Unspecified),
1429 "STACKED_LINE_ABSOLUTE" => Some(Self::Absolute),
1430 "STACKED_LINE_RELATIVE" => Some(Self::Relative),
1431 _ => None,
1432 }
1433 }
1434 }
1435}
1436#[derive(serde::Serialize, serde::Deserialize)]
1437#[serde(rename_all = "snake_case")]
1438#[derive(Clone, PartialEq, ::prost::Message)]
1439pub struct Markdown {
1440 #[prost(message, optional, tag = "1")]
1441 pub markdown_text: ::core::option::Option<::prost::alloc::string::String>,
1442 #[prost(message, optional, tag = "2")]
1443 pub tooltip_text: ::core::option::Option<::prost::alloc::string::String>,
1444}
1445#[derive(serde::Serialize, serde::Deserialize)]
1446#[serde(rename_all = "snake_case")]
1447#[derive(Clone, PartialEq, ::prost::Message)]
1448pub struct PieChart {
1449 #[prost(message, optional, tag = "1")]
1450 pub query: ::core::option::Option<pie_chart::Query>,
1451 #[prost(message, optional, tag = "2")]
1452 pub max_slices_per_chart: ::core::option::Option<i32>,
1453 #[prost(message, optional, tag = "3")]
1454 pub min_slice_percentage: ::core::option::Option<i32>,
1455 #[prost(message, optional, tag = "4")]
1456 pub stack_definition: ::core::option::Option<pie_chart::StackDefinition>,
1457 #[prost(message, optional, tag = "5")]
1458 pub label_definition: ::core::option::Option<pie_chart::LabelDefinition>,
1459 #[prost(message, optional, tag = "6")]
1461 pub show_legend: ::core::option::Option<bool>,
1462 #[prost(message, optional, tag = "7")]
1463 pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
1464 #[prost(enumeration = "common::Unit", tag = "8")]
1465 pub unit: i32,
1466 #[prost(message, optional, tag = "9")]
1467 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1468 #[prost(enumeration = "common::DataModeType", tag = "10")]
1469 pub data_mode_type: i32,
1470 #[prost(message, optional, tag = "11")]
1471 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1472 #[prost(message, optional, tag = "12")]
1473 pub decimal: ::core::option::Option<i32>,
1474 #[prost(message, optional, tag = "13")]
1475 pub legend: ::core::option::Option<common::Legend>,
1476 #[prost(message, optional, tag = "14")]
1477 pub hash_colors: ::core::option::Option<bool>,
1478 #[prost(message, optional, tag = "15")]
1479 pub decimal_precision: ::core::option::Option<bool>,
1480}
1481pub mod pie_chart {
1483 #[derive(serde::Serialize, serde::Deserialize)]
1484 #[serde(rename_all = "snake_case")]
1485 #[derive(Clone, PartialEq, ::prost::Message)]
1486 pub struct Query {
1487 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
1488 pub value: ::core::option::Option<query::Value>,
1489 }
1490 pub mod query {
1492 #[derive(serde::Serialize, serde::Deserialize)]
1493 #[serde(rename_all = "snake_case")]
1494 #[derive(Clone, PartialEq, ::prost::Oneof)]
1495 pub enum Value {
1496 #[prost(message, tag = "1")]
1497 Logs(super::LogsQuery),
1498 #[prost(message, tag = "2")]
1499 Spans(super::SpansQuery),
1500 #[prost(message, tag = "3")]
1501 Metrics(super::MetricsQuery),
1502 #[prost(message, tag = "4")]
1503 Dataprime(super::DataprimeQuery),
1504 }
1505 }
1506 #[derive(serde::Serialize, serde::Deserialize)]
1507 #[serde(rename_all = "snake_case")]
1508 #[derive(Clone, PartialEq, ::prost::Message)]
1509 pub struct StackDefinition {
1510 #[prost(message, optional, tag = "1")]
1511 pub max_slices_per_stack: ::core::option::Option<i32>,
1512 #[prost(message, optional, tag = "2")]
1513 pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
1514 }
1515 #[derive(serde::Serialize, serde::Deserialize)]
1516 #[serde(rename_all = "snake_case")]
1517 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1518 pub struct LabelDefinition {
1519 #[prost(enumeration = "LabelSource", tag = "1")]
1520 pub label_source: i32,
1521 #[prost(message, optional, tag = "2")]
1522 pub is_visible: ::core::option::Option<bool>,
1523 #[prost(message, optional, tag = "3")]
1524 pub show_name: ::core::option::Option<bool>,
1525 #[prost(message, optional, tag = "4")]
1526 pub show_value: ::core::option::Option<bool>,
1527 #[prost(message, optional, tag = "5")]
1528 pub show_percentage: ::core::option::Option<bool>,
1529 }
1530 #[derive(serde::Serialize, serde::Deserialize)]
1531 #[serde(rename_all = "snake_case")]
1532 #[derive(Clone, PartialEq, ::prost::Message)]
1533 pub struct LogsQuery {
1534 #[prost(message, optional, tag = "1")]
1535 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1536 #[prost(message, optional, tag = "2")]
1537 pub aggregation: ::core::option::Option<
1538 super::super::super::common::LogsAggregation,
1539 >,
1540 #[prost(message, repeated, tag = "3")]
1541 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
1542 #[prost(message, repeated, tag = "4")]
1543 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1544 #[prost(message, optional, tag = "5")]
1545 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1546 #[prost(message, repeated, tag = "6")]
1547 pub group_names_fields: ::prost::alloc::vec::Vec<
1548 super::super::super::common::ObservationField,
1549 >,
1550 #[prost(message, optional, tag = "7")]
1551 pub stacked_group_name_field: ::core::option::Option<
1552 super::super::super::common::ObservationField,
1553 >,
1554 #[prost(message, optional, tag = "8")]
1555 pub time_frame: ::core::option::Option<
1556 super::super::super::common::TimeFrameSelect,
1557 >,
1558 }
1559 #[derive(serde::Serialize, serde::Deserialize)]
1560 #[serde(rename_all = "snake_case")]
1561 #[derive(Clone, PartialEq, ::prost::Message)]
1562 pub struct SpansQuery {
1563 #[prost(message, optional, tag = "1")]
1564 pub lucene_query: ::core::option::Option<super::common::LuceneQuery>,
1565 #[prost(message, optional, tag = "2")]
1566 pub aggregation: ::core::option::Option<
1567 super::super::super::common::SpansAggregation,
1568 >,
1569 #[prost(message, repeated, tag = "3")]
1570 pub filters: ::prost::alloc::vec::Vec<
1571 super::super::filters::filter::SpansFilter,
1572 >,
1573 #[prost(message, repeated, tag = "4")]
1574 pub group_names: ::prost::alloc::vec::Vec<
1575 super::super::super::common::SpanField,
1576 >,
1577 #[prost(message, optional, tag = "5")]
1578 pub stacked_group_name: ::core::option::Option<
1579 super::super::super::common::SpanField,
1580 >,
1581 #[prost(message, optional, tag = "6")]
1582 pub time_frame: ::core::option::Option<
1583 super::super::super::common::TimeFrameSelect,
1584 >,
1585 #[prost(message, repeated, tag = "7")]
1586 pub group_names_fields: ::prost::alloc::vec::Vec<
1587 super::super::super::common::SpanObservationField,
1588 >,
1589 #[prost(message, optional, tag = "8")]
1590 pub stacked_group_name_field: ::core::option::Option<
1591 super::super::super::common::SpanObservationField,
1592 >,
1593 }
1594 #[derive(serde::Serialize, serde::Deserialize)]
1595 #[serde(rename_all = "snake_case")]
1596 #[derive(Clone, PartialEq, ::prost::Message)]
1597 pub struct MetricsQuery {
1598 #[prost(message, optional, tag = "1")]
1599 pub promql_query: ::core::option::Option<super::common::PromQlQuery>,
1600 #[prost(message, repeated, tag = "2")]
1601 pub filters: ::prost::alloc::vec::Vec<
1602 super::super::filters::filter::MetricsFilter,
1603 >,
1604 #[prost(message, repeated, tag = "3")]
1605 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1606 #[prost(message, optional, tag = "4")]
1607 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1608 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
1609 pub editor_mode: i32,
1610 #[prost(message, optional, tag = "6")]
1611 pub time_frame: ::core::option::Option<
1612 super::super::super::common::TimeFrameSelect,
1613 >,
1614 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
1615 pub promql_query_type: i32,
1616 #[prost(enumeration = "super::common::Aggregation", tag = "8")]
1617 pub aggregation: i32,
1618 }
1619 #[derive(serde::Serialize, serde::Deserialize)]
1620 #[serde(rename_all = "snake_case")]
1621 #[derive(Clone, PartialEq, ::prost::Message)]
1622 pub struct DataprimeQuery {
1623 #[prost(message, optional, tag = "1")]
1624 pub dataprime_query: ::core::option::Option<
1625 super::super::super::common::DataprimeQuery,
1626 >,
1627 #[prost(message, repeated, tag = "2")]
1628 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
1629 #[prost(message, repeated, tag = "3")]
1630 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1631 #[prost(message, optional, tag = "4")]
1632 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1633 #[prost(message, optional, tag = "5")]
1634 pub time_frame: ::core::option::Option<
1635 super::super::super::common::TimeFrameSelect,
1636 >,
1637 }
1638 #[derive(serde::Serialize, serde::Deserialize)]
1639 #[serde(rename_all = "snake_case")]
1640 #[derive(
1641 Clone,
1642 Copy,
1643 Debug,
1644 PartialEq,
1645 Eq,
1646 Hash,
1647 PartialOrd,
1648 Ord,
1649 ::prost::Enumeration
1650 )]
1651 #[repr(i32)]
1652 pub enum LabelSource {
1653 Unspecified = 0,
1654 Inner = 1,
1655 Stack = 2,
1656 }
1657 impl LabelSource {
1658 pub fn as_str_name(&self) -> &'static str {
1663 match self {
1664 Self::Unspecified => "LABEL_SOURCE_UNSPECIFIED",
1665 Self::Inner => "LABEL_SOURCE_INNER",
1666 Self::Stack => "LABEL_SOURCE_STACK",
1667 }
1668 }
1669 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1671 match value {
1672 "LABEL_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
1673 "LABEL_SOURCE_INNER" => Some(Self::Inner),
1674 "LABEL_SOURCE_STACK" => Some(Self::Stack),
1675 _ => None,
1676 }
1677 }
1678 }
1679}