Skip to main content

otelite_client/
models.rs

1pub use otelite_core::api::{
2    HistogramBucket, HistogramValue, LogEntry, LogsResponse, MetricResponse, MetricValue, Quantile,
3    Resource, SpanEntry, SpanEvent, SpanStatus, SummaryValue, TraceDetail, TraceEntry,
4    TracesResponse,
5};
6
7pub type TraceSummary = TraceEntry;
8pub type Trace = TraceDetail;
9pub type Span = SpanEntry;
10pub type Metric = MetricResponse;
11pub type MetricsResponse = Vec<MetricResponse>;
12
13#[derive(Debug, Clone, serde::Serialize)]
14pub struct LogsQuery {
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub severity: Option<String>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub search: Option<String>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub start_time: Option<i64>,
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub end_time: Option<i64>,
23    #[serde(skip_serializing_if = "Option::is_none")]
24    pub limit: Option<usize>,
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub offset: Option<usize>,
27}
28
29impl Default for LogsQuery {
30    fn default() -> Self {
31        Self {
32            severity: None,
33            search: None,
34            start_time: None,
35            end_time: None,
36            limit: Some(100),
37            offset: Some(0),
38        }
39    }
40}
41
42#[derive(Debug, Clone, serde::Serialize)]
43pub struct TracesQuery {
44    #[serde(skip_serializing_if = "Option::is_none")]
45    pub min_duration: Option<i64>,
46    #[serde(skip_serializing_if = "Option::is_none")]
47    pub max_duration: Option<i64>,
48    #[serde(skip_serializing_if = "Option::is_none")]
49    pub has_errors: Option<bool>,
50    #[serde(skip_serializing_if = "Option::is_none")]
51    pub start_time: Option<i64>,
52    #[serde(skip_serializing_if = "Option::is_none")]
53    pub end_time: Option<i64>,
54    #[serde(skip_serializing_if = "Option::is_none")]
55    pub limit: Option<usize>,
56    #[serde(skip_serializing_if = "Option::is_none")]
57    pub offset: Option<usize>,
58}
59
60impl Default for TracesQuery {
61    fn default() -> Self {
62        Self {
63            min_duration: None,
64            max_duration: None,
65            has_errors: None,
66            start_time: None,
67            end_time: None,
68            limit: Some(100),
69            offset: Some(0),
70        }
71    }
72}