libdd_telemetry/data/
payloads.rs1use crate::data::metrics;
5
6use serde::{Deserialize, Serialize};
7
8#[derive(Serialize, Deserialize, Debug, Hash, PartialEq, Eq, Clone, Default)]
9pub struct Dependency {
10 pub name: String,
11 pub version: Option<String>,
12}
13
14#[derive(Serialize, Deserialize, Debug, Hash, PartialEq, Eq, Clone, Default)]
15pub struct Integration {
16 pub name: String,
17 pub enabled: bool,
18 pub version: Option<String>,
19 pub compatible: Option<bool>,
20 pub auto_enabled: Option<bool>,
21}
22
23#[derive(Serialize, Deserialize, Debug, Hash, PartialEq, Eq, Clone)]
24pub struct Configuration {
25 pub name: String,
26 pub value: String,
27 pub origin: ConfigurationOrigin,
28 pub config_id: Option<String>,
29}
30
31#[derive(Serialize, Deserialize, Debug, Hash, PartialEq, Eq, Clone)]
32#[repr(C)]
33#[serde(rename_all = "snake_case")]
34pub enum ConfigurationOrigin {
35 EnvVar,
36 Code,
37 DdConfig,
38 RemoteConfig,
39 Default,
40 LocalStableConfig,
41 FleetStableConfig,
42}
43
44#[derive(Serialize, Debug)]
45pub struct AppStarted {
46 pub configuration: Vec<Configuration>,
47}
48
49#[derive(Serialize, Debug)]
50pub struct AppDependenciesLoaded {
51 pub dependencies: Vec<Dependency>,
52}
53
54#[derive(Serialize, Debug)]
55pub struct AppIntegrationsChange {
56 pub integrations: Vec<Integration>,
57}
58
59#[derive(Debug, Serialize)]
60pub struct AppClientConfigurationChange {
61 pub configuration: Vec<Configuration>,
62}
63
64#[derive(Serialize, Debug)]
65pub struct GenerateMetrics {
66 pub series: Vec<metrics::Serie>,
67}
68
69#[derive(Serialize, Debug)]
70pub struct Distributions {
71 pub series: Vec<metrics::Distribution>,
72}
73
74#[derive(Serialize, Deserialize, Debug, Clone)]
75pub struct Log {
76 pub message: String,
77 pub level: LogLevel,
78 pub count: u32,
79
80 #[serde(default)]
81 pub stack_trace: Option<String>,
82 #[serde(default)]
83 pub tags: String,
84 #[serde(default)]
85 pub is_sensitive: bool,
86 #[serde(default)]
87 pub is_crash: bool,
88}
89
90#[derive(Serialize, Deserialize, Debug, PartialEq, Eq, Hash, Clone)]
91#[serde(rename_all = "UPPERCASE")]
92#[repr(C)]
93pub enum LogLevel {
94 Error,
95 Warn,
96 Debug,
97}