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}
499pub mod dynamic {
501 #[derive(serde::Serialize, serde::Deserialize)]
502 #[serde(rename_all = "snake_case")]
503 #[derive(Clone, PartialEq, ::prost::Message)]
504 pub struct Query {
505 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
506 pub value: ::core::option::Option<query::Value>,
507 }
508 pub mod query {
510 #[derive(serde::Serialize, serde::Deserialize)]
511 #[serde(rename_all = "snake_case")]
512 #[derive(Clone, PartialEq, ::prost::Message)]
513 pub struct Logs {
514 #[prost(message, optional, tag = "1")]
515 pub lucene_query: ::core::option::Option<
516 super::super::super::super::common::LuceneQuery,
517 >,
518 #[prost(enumeration = "super::super::common::DataModeType", tag = "2")]
519 pub data_mode_type: i32,
520 #[prost(message, repeated, tag = "3")]
521 pub filters: ::prost::alloc::vec::Vec<
522 super::super::super::filters::filter::LogsFilter,
523 >,
524 #[prost(message, repeated, tag = "4")]
525 pub group_by: ::prost::alloc::vec::Vec<
526 super::super::super::super::common::ObservationField,
527 >,
528 #[prost(message, repeated, tag = "5")]
529 pub aggregation: ::prost::alloc::vec::Vec<
530 super::super::super::super::common::LogsAggregation,
531 >,
532 }
533 #[derive(serde::Serialize, serde::Deserialize)]
534 #[serde(rename_all = "snake_case")]
535 #[derive(Clone, PartialEq, ::prost::Message)]
536 pub struct Spans {
537 #[prost(message, optional, tag = "1")]
538 pub lucene_query: ::core::option::Option<
539 super::super::super::super::common::LuceneQuery,
540 >,
541 #[prost(enumeration = "super::super::common::DataModeType", tag = "2")]
542 pub data_mode_type: i32,
543 #[prost(message, repeated, tag = "3")]
544 pub filters: ::prost::alloc::vec::Vec<
545 super::super::super::filters::filter::SpansFilter,
546 >,
547 #[prost(message, repeated, tag = "4")]
548 pub group_by: ::prost::alloc::vec::Vec<
549 super::super::super::super::common::SpanObservationField,
550 >,
551 #[prost(message, repeated, tag = "5")]
552 pub aggregation: ::prost::alloc::vec::Vec<
553 super::super::super::super::common::LogsAggregation,
554 >,
555 }
556 #[derive(serde::Serialize, serde::Deserialize)]
557 #[serde(rename_all = "snake_case")]
558 #[derive(Clone, PartialEq, ::prost::Message)]
559 pub struct Metrics {
560 #[prost(message, optional, tag = "1")]
561 pub promql_query: ::core::option::Option<
562 super::super::super::super::common::PromQlQuery,
563 >,
564 #[prost(
565 enumeration = "super::super::super::super::common::PromQlQueryType",
566 tag = "2"
567 )]
568 pub promql_query_type: i32,
569 #[prost(
570 enumeration = "super::super::common::MetricsQueryEditorMode",
571 tag = "3"
572 )]
573 pub editor_mode: i32,
574 #[prost(
575 enumeration = "super::super::super::super::common::MetricsSeriesLimitType",
576 tag = "4"
577 )]
578 pub series_limit_type: i32,
579 }
580 #[derive(serde::Serialize, serde::Deserialize)]
581 #[serde(rename_all = "snake_case")]
582 #[derive(Clone, PartialEq, ::prost::Message)]
583 pub struct Dataprime {
584 #[prost(message, optional, tag = "1")]
585 pub dataprime_query: ::core::option::Option<
586 super::super::super::super::common::DataprimeQuery,
587 >,
588 #[prost(enumeration = "super::super::common::DataModeType", tag = "2")]
589 pub data_mode_type: i32,
590 }
591 #[derive(serde::Serialize, serde::Deserialize)]
592 #[serde(rename_all = "snake_case")]
593 #[derive(Clone, PartialEq, ::prost::Oneof)]
594 pub enum Value {
595 #[prost(message, tag = "1")]
596 Logs(Logs),
597 #[prost(message, tag = "2")]
598 Spans(Spans),
599 #[prost(message, tag = "3")]
600 Metrics(Metrics),
601 #[prost(message, tag = "4")]
602 Dataprime(Dataprime),
603 }
604 }
605 #[derive(serde::Serialize, serde::Deserialize)]
606 #[serde(rename_all = "snake_case")]
607 #[derive(
608 Clone,
609 Copy,
610 Debug,
611 PartialEq,
612 Eq,
613 Hash,
614 PartialOrd,
615 Ord,
616 ::prost::Enumeration
617 )]
618 #[repr(i32)]
619 pub enum Interpretation {
620 Unspecified = 0,
621 RawDataTable = 1,
622 TrendOverTimeLine = 2,
623 SingleValueKpi = 3,
624 MultiValueKpi = 4,
625 CategoricalAnalysisVerticalBars = 5,
626 SingleValueKpiStat = 6,
627 SingleValueKpiGauge = 7,
628 MultiValueKpiStat = 8,
629 MultiValueKpiGauge = 9,
630 MultiValueKpiHexagonBins = 10,
631 CategoricalAnalysisPieChart = 11,
632 CategoricalAnalysisHorizontalBars = 12,
633 }
634 impl Interpretation {
635 pub fn as_str_name(&self) -> &'static str {
640 match self {
641 Self::Unspecified => "INTERPRETATION_UNSPECIFIED",
642 Self::RawDataTable => "INTERPRETATION_RAW_DATA_TABLE",
643 Self::TrendOverTimeLine => "INTERPRETATION_TREND_OVER_TIME_LINE",
644 Self::SingleValueKpi => "INTERPRETATION_SINGLE_VALUE_KPI",
645 Self::MultiValueKpi => "INTERPRETATION_MULTI_VALUE_KPI",
646 Self::CategoricalAnalysisVerticalBars => {
647 "INTERPRETATION_CATEGORICAL_ANALYSIS_VERTICAL_BARS"
648 }
649 Self::SingleValueKpiStat => "INTERPRETATION_SINGLE_VALUE_KPI_STAT",
650 Self::SingleValueKpiGauge => "INTERPRETATION_SINGLE_VALUE_KPI_GAUGE",
651 Self::MultiValueKpiStat => "INTERPRETATION_MULTI_VALUE_KPI_STAT",
652 Self::MultiValueKpiGauge => "INTERPRETATION_MULTI_VALUE_KPI_GAUGE",
653 Self::MultiValueKpiHexagonBins => {
654 "INTERPRETATION_MULTI_VALUE_KPI_HEXAGON_BINS"
655 }
656 Self::CategoricalAnalysisPieChart => {
657 "INTERPRETATION_CATEGORICAL_ANALYSIS_PIE_CHART"
658 }
659 Self::CategoricalAnalysisHorizontalBars => {
660 "INTERPRETATION_CATEGORICAL_ANALYSIS_HORIZONTAL_BARS"
661 }
662 }
663 }
664 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
666 match value {
667 "INTERPRETATION_UNSPECIFIED" => Some(Self::Unspecified),
668 "INTERPRETATION_RAW_DATA_TABLE" => Some(Self::RawDataTable),
669 "INTERPRETATION_TREND_OVER_TIME_LINE" => Some(Self::TrendOverTimeLine),
670 "INTERPRETATION_SINGLE_VALUE_KPI" => Some(Self::SingleValueKpi),
671 "INTERPRETATION_MULTI_VALUE_KPI" => Some(Self::MultiValueKpi),
672 "INTERPRETATION_CATEGORICAL_ANALYSIS_VERTICAL_BARS" => {
673 Some(Self::CategoricalAnalysisVerticalBars)
674 }
675 "INTERPRETATION_SINGLE_VALUE_KPI_STAT" => Some(Self::SingleValueKpiStat),
676 "INTERPRETATION_SINGLE_VALUE_KPI_GAUGE" => {
677 Some(Self::SingleValueKpiGauge)
678 }
679 "INTERPRETATION_MULTI_VALUE_KPI_STAT" => Some(Self::MultiValueKpiStat),
680 "INTERPRETATION_MULTI_VALUE_KPI_GAUGE" => Some(Self::MultiValueKpiGauge),
681 "INTERPRETATION_MULTI_VALUE_KPI_HEXAGON_BINS" => {
682 Some(Self::MultiValueKpiHexagonBins)
683 }
684 "INTERPRETATION_CATEGORICAL_ANALYSIS_PIE_CHART" => {
685 Some(Self::CategoricalAnalysisPieChart)
686 }
687 "INTERPRETATION_CATEGORICAL_ANALYSIS_HORIZONTAL_BARS" => {
688 Some(Self::CategoricalAnalysisHorizontalBars)
689 }
690 _ => None,
691 }
692 }
693 }
694}
695#[derive(serde::Serialize, serde::Deserialize)]
696#[serde(rename_all = "snake_case")]
697#[derive(Clone, PartialEq, ::prost::Message)]
698pub struct Gauge {
699 #[prost(message, optional, tag = "1")]
700 pub query: ::core::option::Option<gauge::Query>,
701 #[prost(message, optional, tag = "2")]
702 pub min: ::core::option::Option<f64>,
703 #[prost(message, optional, tag = "3")]
704 pub max: ::core::option::Option<f64>,
705 #[prost(message, optional, tag = "4")]
706 pub show_inner_arc: ::core::option::Option<bool>,
707 #[prost(message, optional, tag = "5")]
708 pub show_outer_arc: ::core::option::Option<bool>,
709 #[prost(enumeration = "gauge::Unit", tag = "6")]
710 pub unit: i32,
711 #[prost(message, repeated, tag = "7")]
712 pub thresholds: ::prost::alloc::vec::Vec<gauge::Threshold>,
713 #[prost(enumeration = "common::DataModeType", tag = "8")]
714 pub data_mode_type: i32,
715 #[prost(enumeration = "gauge::ThresholdBy", tag = "9")]
716 pub threshold_by: i32,
717 #[prost(message, optional, tag = "10")]
718 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
719 #[prost(message, optional, tag = "11")]
720 pub decimal: ::core::option::Option<i32>,
721 #[prost(enumeration = "common::ThresholdType", tag = "12")]
722 pub threshold_type: i32,
723 #[prost(message, optional, tag = "13")]
724 pub legend: ::core::option::Option<common::Legend>,
725 #[prost(enumeration = "common::LegendBy", tag = "14")]
726 pub legend_by: i32,
727 #[prost(message, optional, tag = "15")]
728 pub display_series_name: ::core::option::Option<bool>,
729 #[prost(message, optional, tag = "16")]
730 pub decimal_precision: ::core::option::Option<bool>,
731}
732pub mod gauge {
734 #[derive(serde::Serialize, serde::Deserialize)]
735 #[serde(rename_all = "snake_case")]
736 #[derive(Clone, PartialEq, ::prost::Message)]
737 pub struct Query {
738 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
739 pub value: ::core::option::Option<query::Value>,
740 }
741 pub mod query {
743 #[derive(serde::Serialize, serde::Deserialize)]
744 #[serde(rename_all = "snake_case")]
745 #[derive(Clone, PartialEq, ::prost::Oneof)]
746 pub enum Value {
747 #[prost(message, tag = "1")]
748 Metrics(super::MetricsQuery),
749 #[prost(message, tag = "2")]
750 Logs(super::LogsQuery),
751 #[prost(message, tag = "3")]
752 Spans(super::SpansQuery),
753 #[prost(message, tag = "4")]
754 Dataprime(super::DataprimeQuery),
755 }
756 }
757 #[derive(serde::Serialize, serde::Deserialize)]
758 #[serde(rename_all = "snake_case")]
759 #[derive(Clone, PartialEq, ::prost::Message)]
760 pub struct MetricsQuery {
761 #[prost(message, optional, tag = "1")]
762 pub promql_query: ::core::option::Option<
763 super::super::super::common::PromQlQuery,
764 >,
765 #[prost(enumeration = "Aggregation", tag = "2")]
766 pub aggregation: i32,
767 #[prost(message, repeated, tag = "3")]
768 pub filters: ::prost::alloc::vec::Vec<
769 super::super::filters::filter::MetricsFilter,
770 >,
771 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "4")]
772 pub editor_mode: i32,
773 #[prost(message, optional, tag = "5")]
774 pub time_frame: ::core::option::Option<
775 super::super::super::common::TimeFrameSelect,
776 >,
777 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "6")]
778 pub promql_query_type: i32,
779 }
780 #[derive(serde::Serialize, serde::Deserialize)]
781 #[serde(rename_all = "snake_case")]
782 #[derive(Clone, PartialEq, ::prost::Message)]
783 pub struct LogsQuery {
784 #[prost(message, optional, tag = "1")]
785 pub lucene_query: ::core::option::Option<
786 super::super::super::common::LuceneQuery,
787 >,
788 #[prost(message, optional, tag = "2")]
789 pub logs_aggregation: ::core::option::Option<
790 super::super::super::common::LogsAggregation,
791 >,
792 #[deprecated]
793 #[prost(enumeration = "Aggregation", tag = "3")]
794 pub aggregation: i32,
795 #[prost(message, repeated, tag = "4")]
796 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
797 #[prost(message, repeated, tag = "5")]
798 pub group_by: ::prost::alloc::vec::Vec<
799 super::super::super::common::ObservationField,
800 >,
801 #[prost(message, optional, tag = "6")]
802 pub time_frame: ::core::option::Option<
803 super::super::super::common::TimeFrameSelect,
804 >,
805 }
806 #[derive(serde::Serialize, serde::Deserialize)]
807 #[serde(rename_all = "snake_case")]
808 #[derive(Clone, PartialEq, ::prost::Message)]
809 pub struct SpansQuery {
810 #[prost(message, optional, tag = "1")]
811 pub lucene_query: ::core::option::Option<
812 super::super::super::common::LuceneQuery,
813 >,
814 #[prost(message, optional, tag = "2")]
815 pub spans_aggregation: ::core::option::Option<
816 super::super::super::common::SpansAggregation,
817 >,
818 #[deprecated]
819 #[prost(enumeration = "Aggregation", tag = "3")]
820 pub aggregation: i32,
821 #[prost(message, repeated, tag = "4")]
822 pub filters: ::prost::alloc::vec::Vec<
823 super::super::filters::filter::SpansFilter,
824 >,
825 #[prost(message, repeated, tag = "5")]
826 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
827 #[prost(message, optional, tag = "6")]
828 pub time_frame: ::core::option::Option<
829 super::super::super::common::TimeFrameSelect,
830 >,
831 #[prost(message, repeated, tag = "7")]
832 pub group_bys: ::prost::alloc::vec::Vec<
833 super::super::super::common::SpanObservationField,
834 >,
835 }
836 #[derive(serde::Serialize, serde::Deserialize)]
837 #[serde(rename_all = "snake_case")]
838 #[derive(Clone, PartialEq, ::prost::Message)]
839 pub struct DataprimeQuery {
840 #[prost(message, optional, tag = "1")]
841 pub dataprime_query: ::core::option::Option<
842 super::super::super::common::DataprimeQuery,
843 >,
844 #[prost(message, repeated, tag = "2")]
845 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
846 #[prost(message, optional, tag = "3")]
847 pub time_frame: ::core::option::Option<
848 super::super::super::common::TimeFrameSelect,
849 >,
850 }
851 #[derive(serde::Serialize, serde::Deserialize)]
852 #[serde(rename_all = "snake_case")]
853 #[derive(Clone, PartialEq, ::prost::Message)]
854 pub struct Threshold {
855 #[prost(message, optional, tag = "1")]
856 pub from: ::core::option::Option<f64>,
857 #[prost(message, optional, tag = "2")]
858 pub color: ::core::option::Option<::prost::alloc::string::String>,
859 #[prost(message, optional, tag = "3")]
860 pub label: ::core::option::Option<::prost::alloc::string::String>,
861 }
862 #[derive(serde::Serialize, serde::Deserialize)]
863 #[serde(rename_all = "snake_case")]
864 #[derive(
865 Clone,
866 Copy,
867 Debug,
868 PartialEq,
869 Eq,
870 Hash,
871 PartialOrd,
872 Ord,
873 ::prost::Enumeration
874 )]
875 #[repr(i32)]
876 pub enum Aggregation {
877 Unspecified = 0,
878 Last = 1,
879 Min = 2,
880 Max = 3,
881 Avg = 4,
882 Sum = 5,
883 }
884 impl Aggregation {
885 pub fn as_str_name(&self) -> &'static str {
890 match self {
891 Self::Unspecified => "AGGREGATION_UNSPECIFIED",
892 Self::Last => "AGGREGATION_LAST",
893 Self::Min => "AGGREGATION_MIN",
894 Self::Max => "AGGREGATION_MAX",
895 Self::Avg => "AGGREGATION_AVG",
896 Self::Sum => "AGGREGATION_SUM",
897 }
898 }
899 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
901 match value {
902 "AGGREGATION_UNSPECIFIED" => Some(Self::Unspecified),
903 "AGGREGATION_LAST" => Some(Self::Last),
904 "AGGREGATION_MIN" => Some(Self::Min),
905 "AGGREGATION_MAX" => Some(Self::Max),
906 "AGGREGATION_AVG" => Some(Self::Avg),
907 "AGGREGATION_SUM" => Some(Self::Sum),
908 _ => None,
909 }
910 }
911 }
912 #[derive(serde::Serialize, serde::Deserialize)]
913 #[serde(rename_all = "snake_case")]
914 #[derive(
915 Clone,
916 Copy,
917 Debug,
918 PartialEq,
919 Eq,
920 Hash,
921 PartialOrd,
922 Ord,
923 ::prost::Enumeration
924 )]
925 #[repr(i32)]
926 pub enum Unit {
927 Unspecified = 0,
928 Number = 1,
929 Percent = 2,
930 Microseconds = 3,
931 Milliseconds = 4,
932 Seconds = 5,
933 Bytes = 6,
934 Kbytes = 7,
935 Mbytes = 8,
936 Gbytes = 9,
937 BytesIec = 10,
938 Kibytes = 11,
939 Mibytes = 12,
940 Gibytes = 13,
941 EurCents = 14,
942 Eur = 15,
943 UsdCents = 16,
944 Usd = 17,
945 Custom = 18,
946 PercentZeroOne = 19,
947 PercentZeroHundred = 20,
948 Nanoseconds = 21,
949 }
950 impl Unit {
951 pub fn as_str_name(&self) -> &'static str {
956 match self {
957 Self::Unspecified => "UNIT_UNSPECIFIED",
958 Self::Number => "UNIT_NUMBER",
959 Self::Percent => "UNIT_PERCENT",
960 Self::Microseconds => "UNIT_MICROSECONDS",
961 Self::Milliseconds => "UNIT_MILLISECONDS",
962 Self::Seconds => "UNIT_SECONDS",
963 Self::Bytes => "UNIT_BYTES",
964 Self::Kbytes => "UNIT_KBYTES",
965 Self::Mbytes => "UNIT_MBYTES",
966 Self::Gbytes => "UNIT_GBYTES",
967 Self::BytesIec => "UNIT_BYTES_IEC",
968 Self::Kibytes => "UNIT_KIBYTES",
969 Self::Mibytes => "UNIT_MIBYTES",
970 Self::Gibytes => "UNIT_GIBYTES",
971 Self::EurCents => "UNIT_EUR_CENTS",
972 Self::Eur => "UNIT_EUR",
973 Self::UsdCents => "UNIT_USD_CENTS",
974 Self::Usd => "UNIT_USD",
975 Self::Custom => "UNIT_CUSTOM",
976 Self::PercentZeroOne => "UNIT_PERCENT_ZERO_ONE",
977 Self::PercentZeroHundred => "UNIT_PERCENT_ZERO_HUNDRED",
978 Self::Nanoseconds => "UNIT_NANOSECONDS",
979 }
980 }
981 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
983 match value {
984 "UNIT_UNSPECIFIED" => Some(Self::Unspecified),
985 "UNIT_NUMBER" => Some(Self::Number),
986 "UNIT_PERCENT" => Some(Self::Percent),
987 "UNIT_MICROSECONDS" => Some(Self::Microseconds),
988 "UNIT_MILLISECONDS" => Some(Self::Milliseconds),
989 "UNIT_SECONDS" => Some(Self::Seconds),
990 "UNIT_BYTES" => Some(Self::Bytes),
991 "UNIT_KBYTES" => Some(Self::Kbytes),
992 "UNIT_MBYTES" => Some(Self::Mbytes),
993 "UNIT_GBYTES" => Some(Self::Gbytes),
994 "UNIT_BYTES_IEC" => Some(Self::BytesIec),
995 "UNIT_KIBYTES" => Some(Self::Kibytes),
996 "UNIT_MIBYTES" => Some(Self::Mibytes),
997 "UNIT_GIBYTES" => Some(Self::Gibytes),
998 "UNIT_EUR_CENTS" => Some(Self::EurCents),
999 "UNIT_EUR" => Some(Self::Eur),
1000 "UNIT_USD_CENTS" => Some(Self::UsdCents),
1001 "UNIT_USD" => Some(Self::Usd),
1002 "UNIT_CUSTOM" => Some(Self::Custom),
1003 "UNIT_PERCENT_ZERO_ONE" => Some(Self::PercentZeroOne),
1004 "UNIT_PERCENT_ZERO_HUNDRED" => Some(Self::PercentZeroHundred),
1005 "UNIT_NANOSECONDS" => Some(Self::Nanoseconds),
1006 _ => None,
1007 }
1008 }
1009 }
1010 #[derive(serde::Serialize, serde::Deserialize)]
1011 #[serde(rename_all = "snake_case")]
1012 #[derive(
1013 Clone,
1014 Copy,
1015 Debug,
1016 PartialEq,
1017 Eq,
1018 Hash,
1019 PartialOrd,
1020 Ord,
1021 ::prost::Enumeration
1022 )]
1023 #[repr(i32)]
1024 pub enum ThresholdBy {
1025 Unspecified = 0,
1026 Value = 1,
1027 Background = 2,
1028 }
1029 impl ThresholdBy {
1030 pub fn as_str_name(&self) -> &'static str {
1035 match self {
1036 Self::Unspecified => "THRESHOLD_BY_UNSPECIFIED",
1037 Self::Value => "THRESHOLD_BY_VALUE",
1038 Self::Background => "THRESHOLD_BY_BACKGROUND",
1039 }
1040 }
1041 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1043 match value {
1044 "THRESHOLD_BY_UNSPECIFIED" => Some(Self::Unspecified),
1045 "THRESHOLD_BY_VALUE" => Some(Self::Value),
1046 "THRESHOLD_BY_BACKGROUND" => Some(Self::Background),
1047 _ => None,
1048 }
1049 }
1050 }
1051}
1052#[derive(serde::Serialize, serde::Deserialize)]
1053#[serde(rename_all = "snake_case")]
1054#[derive(Clone, PartialEq, ::prost::Message)]
1055pub struct Hexagon {
1056 #[prost(message, optional, tag = "1")]
1057 pub query: ::core::option::Option<hexagon::Query>,
1058 #[prost(message, optional, tag = "2")]
1059 pub min: ::core::option::Option<f64>,
1060 #[prost(message, optional, tag = "3")]
1061 pub max: ::core::option::Option<f64>,
1062 #[prost(enumeration = "common::Unit", tag = "6")]
1063 pub unit: i32,
1064 #[prost(message, repeated, tag = "7")]
1065 pub thresholds: ::prost::alloc::vec::Vec<common::Threshold>,
1066 #[prost(enumeration = "common::DataModeType", tag = "8")]
1067 pub data_mode_type: i32,
1068 #[prost(message, optional, tag = "10")]
1069 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1070 #[prost(message, optional, tag = "11")]
1071 pub decimal: ::core::option::Option<i32>,
1072 #[prost(enumeration = "common::ThresholdType", tag = "12")]
1073 pub threshold_type: i32,
1074 #[prost(message, optional, tag = "13")]
1075 pub legend: ::core::option::Option<common::Legend>,
1076 #[prost(enumeration = "common::LegendBy", tag = "14")]
1077 pub legend_by: i32,
1078 #[prost(message, optional, tag = "15")]
1079 pub decimal_precision: ::core::option::Option<bool>,
1080}
1081pub mod hexagon {
1083 #[derive(serde::Serialize, serde::Deserialize)]
1084 #[serde(rename_all = "snake_case")]
1085 #[derive(Clone, PartialEq, ::prost::Message)]
1086 pub struct Query {
1087 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
1088 pub value: ::core::option::Option<query::Value>,
1089 }
1090 pub mod query {
1092 #[derive(serde::Serialize, serde::Deserialize)]
1093 #[serde(rename_all = "snake_case")]
1094 #[derive(Clone, PartialEq, ::prost::Oneof)]
1095 pub enum Value {
1096 #[prost(message, tag = "1")]
1097 Metrics(super::MetricsQuery),
1098 #[prost(message, tag = "2")]
1099 Logs(super::LogsQuery),
1100 #[prost(message, tag = "3")]
1101 Spans(super::SpansQuery),
1102 #[prost(message, tag = "4")]
1103 Dataprime(super::DataprimeQuery),
1104 }
1105 }
1106 #[derive(serde::Serialize, serde::Deserialize)]
1107 #[serde(rename_all = "snake_case")]
1108 #[derive(Clone, PartialEq, ::prost::Message)]
1109 pub struct MetricsQuery {
1110 #[prost(message, optional, tag = "1")]
1111 pub promql_query: ::core::option::Option<
1112 super::super::super::common::PromQlQuery,
1113 >,
1114 #[prost(message, repeated, tag = "2")]
1115 pub filters: ::prost::alloc::vec::Vec<
1116 super::super::filters::filter::MetricsFilter,
1117 >,
1118 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
1119 pub editor_mode: i32,
1120 #[prost(message, optional, tag = "4")]
1121 pub time_frame: ::core::option::Option<
1122 super::super::super::common::TimeFrameSelect,
1123 >,
1124 #[prost(enumeration = "super::common::Aggregation", tag = "5")]
1125 pub aggregation: i32,
1126 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "6")]
1127 pub promql_query_type: i32,
1128 }
1129 #[derive(serde::Serialize, serde::Deserialize)]
1130 #[serde(rename_all = "snake_case")]
1131 #[derive(Clone, PartialEq, ::prost::Message)]
1132 pub struct LogsQuery {
1133 #[prost(message, optional, tag = "1")]
1134 pub lucene_query: ::core::option::Option<
1135 super::super::super::common::LuceneQuery,
1136 >,
1137 #[prost(message, optional, tag = "2")]
1138 pub logs_aggregation: ::core::option::Option<
1139 super::super::super::common::LogsAggregation,
1140 >,
1141 #[prost(message, repeated, tag = "3")]
1142 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
1143 #[prost(message, repeated, tag = "4")]
1144 pub group_by: ::prost::alloc::vec::Vec<
1145 super::super::super::common::ObservationField,
1146 >,
1147 #[prost(message, optional, tag = "5")]
1148 pub time_frame: ::core::option::Option<
1149 super::super::super::common::TimeFrameSelect,
1150 >,
1151 }
1152 #[derive(serde::Serialize, serde::Deserialize)]
1153 #[serde(rename_all = "snake_case")]
1154 #[derive(Clone, PartialEq, ::prost::Message)]
1155 pub struct SpansQuery {
1156 #[prost(message, optional, tag = "1")]
1157 pub lucene_query: ::core::option::Option<
1158 super::super::super::common::LuceneQuery,
1159 >,
1160 #[prost(message, optional, tag = "2")]
1161 pub spans_aggregation: ::core::option::Option<
1162 super::super::super::common::SpansAggregation,
1163 >,
1164 #[prost(message, repeated, tag = "3")]
1165 pub filters: ::prost::alloc::vec::Vec<
1166 super::super::filters::filter::SpansFilter,
1167 >,
1168 #[prost(message, repeated, tag = "4")]
1169 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
1170 #[prost(message, optional, tag = "5")]
1171 pub time_frame: ::core::option::Option<
1172 super::super::super::common::TimeFrameSelect,
1173 >,
1174 #[prost(message, repeated, tag = "6")]
1175 pub group_bys: ::prost::alloc::vec::Vec<
1176 super::super::super::common::SpanObservationField,
1177 >,
1178 }
1179 #[derive(serde::Serialize, serde::Deserialize)]
1180 #[serde(rename_all = "snake_case")]
1181 #[derive(Clone, PartialEq, ::prost::Message)]
1182 pub struct DataprimeQuery {
1183 #[prost(message, optional, tag = "1")]
1184 pub dataprime_query: ::core::option::Option<
1185 super::super::super::common::DataprimeQuery,
1186 >,
1187 #[prost(message, repeated, tag = "2")]
1188 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
1189 #[prost(message, optional, tag = "3")]
1190 pub time_frame: ::core::option::Option<
1191 super::super::super::common::TimeFrameSelect,
1192 >,
1193 }
1194}
1195#[derive(serde::Serialize, serde::Deserialize)]
1196#[serde(rename_all = "snake_case")]
1197#[derive(Clone, PartialEq, ::prost::Message)]
1198pub struct HorizontalBarChart {
1199 #[prost(message, optional, tag = "1")]
1200 pub query: ::core::option::Option<horizontal_bar_chart::Query>,
1201 #[prost(message, optional, tag = "2")]
1202 pub max_bars_per_chart: ::core::option::Option<i32>,
1203 #[prost(message, optional, tag = "3")]
1204 pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
1205 #[prost(message, optional, tag = "4")]
1206 pub stack_definition: ::core::option::Option<horizontal_bar_chart::StackDefinition>,
1207 #[prost(enumeration = "common::ScaleType", tag = "5")]
1208 pub scale_type: i32,
1209 #[prost(message, optional, tag = "6")]
1210 pub colors_by: ::core::option::Option<common::ColorsBy>,
1211 #[prost(enumeration = "common::Unit", tag = "8")]
1212 pub unit: i32,
1213 #[prost(message, optional, tag = "9")]
1214 pub display_on_bar: ::core::option::Option<bool>,
1215 #[prost(message, optional, tag = "10")]
1216 pub y_axis_view_by: ::core::option::Option<horizontal_bar_chart::YAxisViewBy>,
1217 #[prost(enumeration = "common::SortByType", tag = "11")]
1218 pub sort_by: i32,
1219 #[prost(message, optional, tag = "12")]
1220 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1221 #[prost(enumeration = "common::DataModeType", tag = "13")]
1222 pub data_mode_type: i32,
1223 #[prost(message, optional, tag = "14")]
1224 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1225 #[prost(message, optional, tag = "15")]
1226 pub decimal: ::core::option::Option<i32>,
1227 #[prost(message, optional, tag = "16")]
1228 pub legend: ::core::option::Option<common::Legend>,
1229 #[prost(message, optional, tag = "17")]
1230 pub hash_colors: ::core::option::Option<bool>,
1231 #[prost(message, optional, tag = "18")]
1232 pub y_axis_min: ::core::option::Option<f32>,
1233 #[prost(message, optional, tag = "19")]
1234 pub y_axis_max: ::core::option::Option<f32>,
1235 #[prost(message, optional, tag = "20")]
1236 pub decimal_precision: ::core::option::Option<bool>,
1237}
1238pub mod horizontal_bar_chart {
1240 #[derive(serde::Serialize, serde::Deserialize)]
1241 #[serde(rename_all = "snake_case")]
1242 #[derive(Clone, PartialEq, ::prost::Message)]
1243 pub struct Query {
1244 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
1245 pub value: ::core::option::Option<query::Value>,
1246 }
1247 pub mod query {
1249 #[derive(serde::Serialize, serde::Deserialize)]
1250 #[serde(rename_all = "snake_case")]
1251 #[derive(Clone, PartialEq, ::prost::Oneof)]
1252 pub enum Value {
1253 #[prost(message, tag = "1")]
1254 Logs(super::LogsQuery),
1255 #[prost(message, tag = "2")]
1256 Spans(super::SpansQuery),
1257 #[prost(message, tag = "3")]
1258 Metrics(super::MetricsQuery),
1259 #[prost(message, tag = "4")]
1260 Dataprime(super::DataprimeQuery),
1261 }
1262 }
1263 #[derive(serde::Serialize, serde::Deserialize)]
1264 #[serde(rename_all = "snake_case")]
1265 #[derive(Clone, PartialEq, ::prost::Message)]
1266 pub struct StackDefinition {
1267 #[prost(message, optional, tag = "1")]
1268 pub max_slices_per_bar: ::core::option::Option<i32>,
1269 #[prost(message, optional, tag = "2")]
1270 pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
1271 }
1272 #[derive(serde::Serialize, serde::Deserialize)]
1273 #[serde(rename_all = "snake_case")]
1274 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1275 pub struct YAxisViewBy {
1276 #[prost(oneof = "y_axis_view_by::YAxisView", tags = "1, 2")]
1277 pub y_axis_view: ::core::option::Option<y_axis_view_by::YAxisView>,
1278 }
1279 pub mod y_axis_view_by {
1281 #[derive(serde::Serialize, serde::Deserialize)]
1282 #[serde(rename_all = "snake_case")]
1283 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1284 pub struct YAxisViewByCategory {}
1285 #[derive(serde::Serialize, serde::Deserialize)]
1286 #[serde(rename_all = "snake_case")]
1287 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1288 pub struct YAxisViewByValue {}
1289 #[derive(serde::Serialize, serde::Deserialize)]
1290 #[serde(rename_all = "snake_case")]
1291 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1292 pub enum YAxisView {
1293 #[prost(message, tag = "1")]
1294 Category(YAxisViewByCategory),
1295 #[prost(message, tag = "2")]
1296 Value(YAxisViewByValue),
1297 }
1298 }
1299 #[derive(serde::Serialize, serde::Deserialize)]
1300 #[serde(rename_all = "snake_case")]
1301 #[derive(Clone, PartialEq, ::prost::Message)]
1302 pub struct LogsQuery {
1303 #[prost(message, optional, tag = "1")]
1304 pub lucene_query: ::core::option::Option<
1305 super::super::super::common::LuceneQuery,
1306 >,
1307 #[prost(message, optional, tag = "2")]
1308 pub aggregation: ::core::option::Option<
1309 super::super::super::common::LogsAggregation,
1310 >,
1311 #[prost(message, repeated, tag = "3")]
1312 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
1313 #[prost(message, repeated, tag = "4")]
1314 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1315 #[prost(message, optional, tag = "5")]
1316 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1317 #[prost(message, repeated, tag = "6")]
1318 pub group_names_fields: ::prost::alloc::vec::Vec<
1319 super::super::super::common::ObservationField,
1320 >,
1321 #[prost(message, optional, tag = "7")]
1322 pub stacked_group_name_field: ::core::option::Option<
1323 super::super::super::common::ObservationField,
1324 >,
1325 #[prost(message, optional, tag = "8")]
1326 pub time_frame: ::core::option::Option<
1327 super::super::super::common::TimeFrameSelect,
1328 >,
1329 }
1330 #[derive(serde::Serialize, serde::Deserialize)]
1331 #[serde(rename_all = "snake_case")]
1332 #[derive(Clone, PartialEq, ::prost::Message)]
1333 pub struct SpansQuery {
1334 #[prost(message, optional, tag = "1")]
1335 pub lucene_query: ::core::option::Option<
1336 super::super::super::common::LuceneQuery,
1337 >,
1338 #[prost(message, optional, tag = "2")]
1339 pub aggregation: ::core::option::Option<
1340 super::super::super::common::SpansAggregation,
1341 >,
1342 #[prost(message, repeated, tag = "3")]
1343 pub filters: ::prost::alloc::vec::Vec<
1344 super::super::filters::filter::SpansFilter,
1345 >,
1346 #[prost(message, repeated, tag = "4")]
1347 pub group_names: ::prost::alloc::vec::Vec<
1348 super::super::super::common::SpanField,
1349 >,
1350 #[prost(message, optional, tag = "5")]
1351 pub stacked_group_name: ::core::option::Option<
1352 super::super::super::common::SpanField,
1353 >,
1354 #[prost(message, optional, tag = "6")]
1355 pub time_frame: ::core::option::Option<
1356 super::super::super::common::TimeFrameSelect,
1357 >,
1358 #[prost(message, repeated, tag = "7")]
1359 pub group_names_fields: ::prost::alloc::vec::Vec<
1360 super::super::super::common::SpanObservationField,
1361 >,
1362 #[prost(message, optional, tag = "8")]
1363 pub stacked_group_name_field: ::core::option::Option<
1364 super::super::super::common::SpanObservationField,
1365 >,
1366 }
1367 #[derive(serde::Serialize, serde::Deserialize)]
1368 #[serde(rename_all = "snake_case")]
1369 #[derive(Clone, PartialEq, ::prost::Message)]
1370 pub struct MetricsQuery {
1371 #[prost(message, optional, tag = "1")]
1372 pub promql_query: ::core::option::Option<
1373 super::super::super::common::PromQlQuery,
1374 >,
1375 #[prost(message, repeated, tag = "2")]
1376 pub filters: ::prost::alloc::vec::Vec<
1377 super::super::filters::filter::MetricsFilter,
1378 >,
1379 #[prost(message, repeated, tag = "3")]
1380 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1381 #[prost(message, optional, tag = "4")]
1382 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1383 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
1384 pub editor_mode: i32,
1385 #[prost(message, optional, tag = "6")]
1386 pub time_frame: ::core::option::Option<
1387 super::super::super::common::TimeFrameSelect,
1388 >,
1389 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
1390 pub promql_query_type: i32,
1391 #[prost(enumeration = "super::common::Aggregation", tag = "8")]
1392 pub aggregation: i32,
1393 }
1394 #[derive(serde::Serialize, serde::Deserialize)]
1395 #[serde(rename_all = "snake_case")]
1396 #[derive(Clone, PartialEq, ::prost::Message)]
1397 pub struct DataprimeQuery {
1398 #[prost(message, optional, tag = "1")]
1399 pub dataprime_query: ::core::option::Option<
1400 super::super::super::common::DataprimeQuery,
1401 >,
1402 #[prost(message, repeated, tag = "2")]
1403 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
1404 #[prost(message, repeated, tag = "3")]
1405 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1406 #[prost(message, optional, tag = "4")]
1407 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1408 #[prost(message, optional, tag = "5")]
1409 pub time_frame: ::core::option::Option<
1410 super::super::super::common::TimeFrameSelect,
1411 >,
1412 }
1413}
1414#[derive(serde::Serialize, serde::Deserialize)]
1415#[serde(rename_all = "snake_case")]
1416#[derive(Clone, PartialEq, ::prost::Message)]
1417pub struct LineChart {
1418 #[prost(message, optional, tag = "2")]
1419 pub legend: ::core::option::Option<common::Legend>,
1420 #[prost(message, optional, tag = "6")]
1421 pub tooltip: ::core::option::Option<line_chart::Tooltip>,
1422 #[prost(message, repeated, tag = "7")]
1423 pub query_definitions: ::prost::alloc::vec::Vec<line_chart::QueryDefinition>,
1424 #[prost(enumeration = "line_chart::StackedLine", tag = "9")]
1425 pub stacked_line: i32,
1426 #[prost(message, optional, tag = "10")]
1427 pub connect_nulls: ::core::option::Option<bool>,
1428}
1429pub mod line_chart {
1431 #[derive(serde::Serialize, serde::Deserialize)]
1432 #[serde(rename_all = "snake_case")]
1433 #[derive(Clone, PartialEq, ::prost::Message)]
1434 pub struct QueryDefinition {
1435 #[prost(message, optional, tag = "1")]
1436 pub id: ::core::option::Option<::prost::alloc::string::String>,
1437 #[prost(message, optional, tag = "2")]
1438 pub query: ::core::option::Option<Query>,
1439 #[prost(message, optional, tag = "3")]
1440 pub series_name_template: ::core::option::Option<::prost::alloc::string::String>,
1441 #[prost(message, optional, tag = "4")]
1442 pub series_count_limit: ::core::option::Option<i64>,
1443 #[prost(enumeration = "super::common::Unit", tag = "5")]
1444 pub unit: i32,
1445 #[prost(enumeration = "super::common::ScaleType", tag = "6")]
1446 pub scale_type: i32,
1447 #[prost(message, optional, tag = "7")]
1448 pub name: ::core::option::Option<::prost::alloc::string::String>,
1449 #[prost(message, optional, tag = "8")]
1450 pub is_visible: ::core::option::Option<bool>,
1451 #[prost(message, optional, tag = "9")]
1452 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1453 #[prost(message, optional, tag = "10")]
1454 pub resolution: ::core::option::Option<Resolution>,
1455 #[prost(enumeration = "super::common::DataModeType", tag = "11")]
1456 pub data_mode_type: i32,
1457 #[prost(message, optional, tag = "12")]
1458 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1459 #[prost(message, optional, tag = "13")]
1460 pub decimal: ::core::option::Option<i32>,
1461 #[prost(message, optional, tag = "14")]
1462 pub hash_colors: ::core::option::Option<bool>,
1463 #[prost(message, optional, tag = "15")]
1464 pub y_axis_min: ::core::option::Option<f32>,
1465 #[prost(message, optional, tag = "16")]
1466 pub y_axis_max: ::core::option::Option<f32>,
1467 #[prost(message, optional, tag = "17")]
1468 pub decimal_precision: ::core::option::Option<bool>,
1469 }
1470 #[derive(serde::Serialize, serde::Deserialize)]
1471 #[serde(rename_all = "snake_case")]
1472 #[derive(Clone, PartialEq, ::prost::Message)]
1473 pub struct Query {
1474 #[prost(oneof = "query::Value", tags = "1, 2, 3, 5")]
1475 pub value: ::core::option::Option<query::Value>,
1476 }
1477 pub mod query {
1479 #[derive(serde::Serialize, serde::Deserialize)]
1480 #[serde(rename_all = "snake_case")]
1481 #[derive(Clone, PartialEq, ::prost::Oneof)]
1482 pub enum Value {
1483 #[prost(message, tag = "1")]
1484 Logs(super::LogsQuery),
1485 #[prost(message, tag = "2")]
1486 Metrics(super::MetricsQuery),
1487 #[prost(message, tag = "3")]
1488 Spans(super::SpansQuery),
1489 #[prost(message, tag = "5")]
1490 Dataprime(super::DataprimeQuery),
1491 }
1492 }
1493 #[derive(serde::Serialize, serde::Deserialize)]
1494 #[serde(rename_all = "snake_case")]
1495 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1496 pub struct Tooltip {
1497 #[prost(message, optional, tag = "1")]
1498 pub show_labels: ::core::option::Option<bool>,
1499 #[prost(enumeration = "TooltipType", tag = "2")]
1500 pub r#type: i32,
1501 }
1502 #[derive(serde::Serialize, serde::Deserialize)]
1503 #[serde(rename_all = "snake_case")]
1504 #[derive(Clone, PartialEq, ::prost::Message)]
1505 pub struct LogsQuery {
1506 #[prost(message, optional, tag = "1")]
1507 pub lucene_query: ::core::option::Option<
1508 super::super::super::common::LuceneQuery,
1509 >,
1510 #[prost(message, repeated, tag = "2")]
1511 pub group_by: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1512 #[prost(message, repeated, tag = "3")]
1513 pub aggregations: ::prost::alloc::vec::Vec<
1514 super::super::super::common::LogsAggregation,
1515 >,
1516 #[prost(message, repeated, tag = "4")]
1517 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
1518 #[prost(message, repeated, tag = "5")]
1519 pub group_bys: ::prost::alloc::vec::Vec<
1520 super::super::super::common::ObservationField,
1521 >,
1522 #[prost(message, optional, tag = "6")]
1523 pub time_frame: ::core::option::Option<
1524 super::super::super::common::TimeFrameSelect,
1525 >,
1526 }
1527 #[derive(serde::Serialize, serde::Deserialize)]
1528 #[serde(rename_all = "snake_case")]
1529 #[derive(Clone, PartialEq, ::prost::Message)]
1530 pub struct MetricsQuery {
1531 #[prost(message, optional, tag = "1")]
1532 pub promql_query: ::core::option::Option<
1533 super::super::super::common::PromQlQuery,
1534 >,
1535 #[prost(message, repeated, tag = "2")]
1536 pub filters: ::prost::alloc::vec::Vec<
1537 super::super::filters::filter::MetricsFilter,
1538 >,
1539 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "3")]
1540 pub editor_mode: i32,
1541 #[prost(message, optional, tag = "4")]
1542 pub time_frame: ::core::option::Option<
1543 super::super::super::common::TimeFrameSelect,
1544 >,
1545 #[prost(
1546 enumeration = "super::super::super::common::MetricsSeriesLimitType",
1547 tag = "5"
1548 )]
1549 pub series_limit_type: i32,
1550 }
1551 #[derive(serde::Serialize, serde::Deserialize)]
1552 #[serde(rename_all = "snake_case")]
1553 #[derive(Clone, PartialEq, ::prost::Message)]
1554 pub struct SpansQuery {
1555 #[prost(message, optional, tag = "1")]
1556 pub lucene_query: ::core::option::Option<
1557 super::super::super::common::LuceneQuery,
1558 >,
1559 #[prost(message, repeated, tag = "2")]
1560 pub group_by: ::prost::alloc::vec::Vec<super::super::super::common::SpanField>,
1561 #[prost(message, repeated, tag = "3")]
1562 pub aggregations: ::prost::alloc::vec::Vec<
1563 super::super::super::common::SpansAggregation,
1564 >,
1565 #[prost(message, repeated, tag = "4")]
1566 pub filters: ::prost::alloc::vec::Vec<
1567 super::super::filters::filter::SpansFilter,
1568 >,
1569 #[prost(message, optional, tag = "5")]
1570 pub time_frame: ::core::option::Option<
1571 super::super::super::common::TimeFrameSelect,
1572 >,
1573 #[prost(message, repeated, tag = "6")]
1574 pub group_bys: ::prost::alloc::vec::Vec<
1575 super::super::super::common::SpanObservationField,
1576 >,
1577 }
1578 #[derive(serde::Serialize, serde::Deserialize)]
1579 #[serde(rename_all = "snake_case")]
1580 #[derive(Clone, PartialEq, ::prost::Message)]
1581 pub struct DataprimeQuery {
1582 #[prost(message, optional, tag = "1")]
1583 pub dataprime_query: ::core::option::Option<
1584 super::super::super::common::DataprimeQuery,
1585 >,
1586 #[prost(message, repeated, tag = "2")]
1587 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
1588 #[prost(message, optional, tag = "3")]
1589 pub time_frame: ::core::option::Option<
1590 super::super::super::common::TimeFrameSelect,
1591 >,
1592 }
1593 #[derive(serde::Serialize, serde::Deserialize)]
1594 #[serde(rename_all = "snake_case")]
1595 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1596 pub struct Resolution {
1597 #[prost(message, optional, tag = "1")]
1599 pub interval: ::core::option::Option<::prost_wkt_types::Duration>,
1600 #[prost(message, optional, tag = "2")]
1601 pub buckets_presented: ::core::option::Option<i32>,
1602 }
1603 #[derive(serde::Serialize, serde::Deserialize)]
1604 #[serde(rename_all = "snake_case")]
1605 #[derive(
1606 Clone,
1607 Copy,
1608 Debug,
1609 PartialEq,
1610 Eq,
1611 Hash,
1612 PartialOrd,
1613 Ord,
1614 ::prost::Enumeration
1615 )]
1616 #[repr(i32)]
1617 pub enum TooltipType {
1618 Unspecified = 0,
1619 All = 1,
1620 Single = 2,
1621 }
1622 impl TooltipType {
1623 pub fn as_str_name(&self) -> &'static str {
1628 match self {
1629 Self::Unspecified => "TOOLTIP_TYPE_UNSPECIFIED",
1630 Self::All => "TOOLTIP_TYPE_ALL",
1631 Self::Single => "TOOLTIP_TYPE_SINGLE",
1632 }
1633 }
1634 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1636 match value {
1637 "TOOLTIP_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
1638 "TOOLTIP_TYPE_ALL" => Some(Self::All),
1639 "TOOLTIP_TYPE_SINGLE" => Some(Self::Single),
1640 _ => None,
1641 }
1642 }
1643 }
1644 #[derive(serde::Serialize, serde::Deserialize)]
1645 #[serde(rename_all = "snake_case")]
1646 #[derive(
1647 Clone,
1648 Copy,
1649 Debug,
1650 PartialEq,
1651 Eq,
1652 Hash,
1653 PartialOrd,
1654 Ord,
1655 ::prost::Enumeration
1656 )]
1657 #[repr(i32)]
1658 pub enum StackedLine {
1659 Unspecified = 0,
1660 Absolute = 1,
1661 Relative = 2,
1662 }
1663 impl StackedLine {
1664 pub fn as_str_name(&self) -> &'static str {
1669 match self {
1670 Self::Unspecified => "STACKED_LINE_UNSPECIFIED",
1671 Self::Absolute => "STACKED_LINE_ABSOLUTE",
1672 Self::Relative => "STACKED_LINE_RELATIVE",
1673 }
1674 }
1675 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1677 match value {
1678 "STACKED_LINE_UNSPECIFIED" => Some(Self::Unspecified),
1679 "STACKED_LINE_ABSOLUTE" => Some(Self::Absolute),
1680 "STACKED_LINE_RELATIVE" => Some(Self::Relative),
1681 _ => None,
1682 }
1683 }
1684 }
1685}
1686#[derive(serde::Serialize, serde::Deserialize)]
1687#[serde(rename_all = "snake_case")]
1688#[derive(Clone, PartialEq, ::prost::Message)]
1689pub struct Markdown {
1690 #[prost(message, optional, tag = "1")]
1691 pub markdown_text: ::core::option::Option<::prost::alloc::string::String>,
1692 #[prost(message, optional, tag = "2")]
1693 pub tooltip_text: ::core::option::Option<::prost::alloc::string::String>,
1694}
1695#[derive(serde::Serialize, serde::Deserialize)]
1696#[serde(rename_all = "snake_case")]
1697#[derive(Clone, PartialEq, ::prost::Message)]
1698pub struct PieChart {
1699 #[prost(message, optional, tag = "1")]
1700 pub query: ::core::option::Option<pie_chart::Query>,
1701 #[prost(message, optional, tag = "2")]
1702 pub max_slices_per_chart: ::core::option::Option<i32>,
1703 #[prost(message, optional, tag = "3")]
1704 pub min_slice_percentage: ::core::option::Option<i32>,
1705 #[prost(message, optional, tag = "4")]
1706 pub stack_definition: ::core::option::Option<pie_chart::StackDefinition>,
1707 #[prost(message, optional, tag = "5")]
1708 pub label_definition: ::core::option::Option<pie_chart::LabelDefinition>,
1709 #[prost(message, optional, tag = "6")]
1711 pub show_legend: ::core::option::Option<bool>,
1712 #[prost(message, optional, tag = "7")]
1713 pub group_name_template: ::core::option::Option<::prost::alloc::string::String>,
1714 #[prost(enumeration = "common::Unit", tag = "8")]
1715 pub unit: i32,
1716 #[prost(message, optional, tag = "9")]
1717 pub color_scheme: ::core::option::Option<::prost::alloc::string::String>,
1718 #[prost(enumeration = "common::DataModeType", tag = "10")]
1719 pub data_mode_type: i32,
1720 #[prost(message, optional, tag = "11")]
1721 pub custom_unit: ::core::option::Option<::prost::alloc::string::String>,
1722 #[prost(message, optional, tag = "12")]
1723 pub decimal: ::core::option::Option<i32>,
1724 #[prost(message, optional, tag = "13")]
1725 pub legend: ::core::option::Option<common::Legend>,
1726 #[prost(message, optional, tag = "14")]
1727 pub hash_colors: ::core::option::Option<bool>,
1728 #[prost(message, optional, tag = "15")]
1729 pub decimal_precision: ::core::option::Option<bool>,
1730 #[prost(message, optional, tag = "16")]
1731 pub show_total: ::core::option::Option<bool>,
1732}
1733pub mod pie_chart {
1735 #[derive(serde::Serialize, serde::Deserialize)]
1736 #[serde(rename_all = "snake_case")]
1737 #[derive(Clone, PartialEq, ::prost::Message)]
1738 pub struct Query {
1739 #[prost(oneof = "query::Value", tags = "1, 2, 3, 4")]
1740 pub value: ::core::option::Option<query::Value>,
1741 }
1742 pub mod query {
1744 #[derive(serde::Serialize, serde::Deserialize)]
1745 #[serde(rename_all = "snake_case")]
1746 #[derive(Clone, PartialEq, ::prost::Oneof)]
1747 pub enum Value {
1748 #[prost(message, tag = "1")]
1749 Logs(super::LogsQuery),
1750 #[prost(message, tag = "2")]
1751 Spans(super::SpansQuery),
1752 #[prost(message, tag = "3")]
1753 Metrics(super::MetricsQuery),
1754 #[prost(message, tag = "4")]
1755 Dataprime(super::DataprimeQuery),
1756 }
1757 }
1758 #[derive(serde::Serialize, serde::Deserialize)]
1759 #[serde(rename_all = "snake_case")]
1760 #[derive(Clone, PartialEq, ::prost::Message)]
1761 pub struct StackDefinition {
1762 #[prost(message, optional, tag = "1")]
1763 pub max_slices_per_stack: ::core::option::Option<i32>,
1764 #[prost(message, optional, tag = "2")]
1765 pub stack_name_template: ::core::option::Option<::prost::alloc::string::String>,
1766 }
1767 #[derive(serde::Serialize, serde::Deserialize)]
1768 #[serde(rename_all = "snake_case")]
1769 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1770 pub struct LabelDefinition {
1771 #[prost(enumeration = "LabelSource", tag = "1")]
1772 pub label_source: i32,
1773 #[prost(message, optional, tag = "2")]
1774 pub is_visible: ::core::option::Option<bool>,
1775 #[prost(message, optional, tag = "3")]
1776 pub show_name: ::core::option::Option<bool>,
1777 #[prost(message, optional, tag = "4")]
1778 pub show_value: ::core::option::Option<bool>,
1779 #[prost(message, optional, tag = "5")]
1780 pub show_percentage: ::core::option::Option<bool>,
1781 }
1782 #[derive(serde::Serialize, serde::Deserialize)]
1783 #[serde(rename_all = "snake_case")]
1784 #[derive(Clone, PartialEq, ::prost::Message)]
1785 pub struct LogsQuery {
1786 #[prost(message, optional, tag = "1")]
1787 pub lucene_query: ::core::option::Option<
1788 super::super::super::common::LuceneQuery,
1789 >,
1790 #[prost(message, optional, tag = "2")]
1791 pub aggregation: ::core::option::Option<
1792 super::super::super::common::LogsAggregation,
1793 >,
1794 #[prost(message, repeated, tag = "3")]
1795 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::LogsFilter>,
1796 #[prost(message, repeated, tag = "4")]
1797 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1798 #[prost(message, optional, tag = "5")]
1799 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1800 #[prost(message, repeated, tag = "6")]
1801 pub group_names_fields: ::prost::alloc::vec::Vec<
1802 super::super::super::common::ObservationField,
1803 >,
1804 #[prost(message, optional, tag = "7")]
1805 pub stacked_group_name_field: ::core::option::Option<
1806 super::super::super::common::ObservationField,
1807 >,
1808 #[prost(message, optional, tag = "8")]
1809 pub time_frame: ::core::option::Option<
1810 super::super::super::common::TimeFrameSelect,
1811 >,
1812 }
1813 #[derive(serde::Serialize, serde::Deserialize)]
1814 #[serde(rename_all = "snake_case")]
1815 #[derive(Clone, PartialEq, ::prost::Message)]
1816 pub struct SpansQuery {
1817 #[prost(message, optional, tag = "1")]
1818 pub lucene_query: ::core::option::Option<
1819 super::super::super::common::LuceneQuery,
1820 >,
1821 #[prost(message, optional, tag = "2")]
1822 pub aggregation: ::core::option::Option<
1823 super::super::super::common::SpansAggregation,
1824 >,
1825 #[prost(message, repeated, tag = "3")]
1826 pub filters: ::prost::alloc::vec::Vec<
1827 super::super::filters::filter::SpansFilter,
1828 >,
1829 #[prost(message, repeated, tag = "4")]
1830 pub group_names: ::prost::alloc::vec::Vec<
1831 super::super::super::common::SpanField,
1832 >,
1833 #[prost(message, optional, tag = "5")]
1834 pub stacked_group_name: ::core::option::Option<
1835 super::super::super::common::SpanField,
1836 >,
1837 #[prost(message, optional, tag = "6")]
1838 pub time_frame: ::core::option::Option<
1839 super::super::super::common::TimeFrameSelect,
1840 >,
1841 #[prost(message, repeated, tag = "7")]
1842 pub group_names_fields: ::prost::alloc::vec::Vec<
1843 super::super::super::common::SpanObservationField,
1844 >,
1845 #[prost(message, optional, tag = "8")]
1846 pub stacked_group_name_field: ::core::option::Option<
1847 super::super::super::common::SpanObservationField,
1848 >,
1849 }
1850 #[derive(serde::Serialize, serde::Deserialize)]
1851 #[serde(rename_all = "snake_case")]
1852 #[derive(Clone, PartialEq, ::prost::Message)]
1853 pub struct MetricsQuery {
1854 #[prost(message, optional, tag = "1")]
1855 pub promql_query: ::core::option::Option<
1856 super::super::super::common::PromQlQuery,
1857 >,
1858 #[prost(message, repeated, tag = "2")]
1859 pub filters: ::prost::alloc::vec::Vec<
1860 super::super::filters::filter::MetricsFilter,
1861 >,
1862 #[prost(message, repeated, tag = "3")]
1863 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1864 #[prost(message, optional, tag = "4")]
1865 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1866 #[prost(enumeration = "super::common::MetricsQueryEditorMode", tag = "5")]
1867 pub editor_mode: i32,
1868 #[prost(message, optional, tag = "6")]
1869 pub time_frame: ::core::option::Option<
1870 super::super::super::common::TimeFrameSelect,
1871 >,
1872 #[prost(enumeration = "super::super::super::common::PromQlQueryType", tag = "7")]
1873 pub promql_query_type: i32,
1874 #[prost(enumeration = "super::common::Aggregation", tag = "8")]
1875 pub aggregation: i32,
1876 }
1877 #[derive(serde::Serialize, serde::Deserialize)]
1878 #[serde(rename_all = "snake_case")]
1879 #[derive(Clone, PartialEq, ::prost::Message)]
1880 pub struct DataprimeQuery {
1881 #[prost(message, optional, tag = "1")]
1882 pub dataprime_query: ::core::option::Option<
1883 super::super::super::common::DataprimeQuery,
1884 >,
1885 #[prost(message, repeated, tag = "2")]
1886 pub filters: ::prost::alloc::vec::Vec<super::super::filters::filter::Source>,
1887 #[prost(message, repeated, tag = "3")]
1888 pub group_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1889 #[prost(message, optional, tag = "4")]
1890 pub stacked_group_name: ::core::option::Option<::prost::alloc::string::String>,
1891 #[prost(message, optional, tag = "5")]
1892 pub time_frame: ::core::option::Option<
1893 super::super::super::common::TimeFrameSelect,
1894 >,
1895 }
1896 #[derive(serde::Serialize, serde::Deserialize)]
1897 #[serde(rename_all = "snake_case")]
1898 #[derive(
1899 Clone,
1900 Copy,
1901 Debug,
1902 PartialEq,
1903 Eq,
1904 Hash,
1905 PartialOrd,
1906 Ord,
1907 ::prost::Enumeration
1908 )]
1909 #[repr(i32)]
1910 pub enum LabelSource {
1911 Unspecified = 0,
1912 Inner = 1,
1913 Stack = 2,
1914 }
1915 impl LabelSource {
1916 pub fn as_str_name(&self) -> &'static str {
1921 match self {
1922 Self::Unspecified => "LABEL_SOURCE_UNSPECIFIED",
1923 Self::Inner => "LABEL_SOURCE_INNER",
1924 Self::Stack => "LABEL_SOURCE_STACK",
1925 }
1926 }
1927 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1929 match value {
1930 "LABEL_SOURCE_UNSPECIFIED" => Some(Self::Unspecified),
1931 "LABEL_SOURCE_INNER" => Some(Self::Inner),
1932 "LABEL_SOURCE_STACK" => Some(Self::Stack),
1933 _ => None,
1934 }
1935 }
1936 }
1937}