prism_telemetry/
config.rs1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3
4#[derive(Debug, Default, Serialize, Deserialize, Clone)]
6pub struct BasicAuth {
7 pub enabled: bool,
8 pub username: String,
9 pub password: String,
10}
11
12#[derive(Debug, Default, Serialize, Deserialize, Clone)]
14pub struct MetricsConfig {
15 pub enabled: bool,
16 pub endpoint: String,
17 pub auth: BasicAuth,
18}
19
20#[derive(Debug, Default, Serialize, Deserialize, Clone)]
22pub struct LogsConfig {
23 pub enabled: bool,
24 pub endpoint: String,
25 pub auth: BasicAuth,
26}
27
28#[derive(Debug, Default, Serialize, Deserialize, Clone)]
30pub struct TracesConfig {
31 pub enabled: bool,
32 pub endpoint: String,
33 pub auth: BasicAuth,
34}
35
36#[derive(Debug, Default, Serialize, Deserialize, Clone)]
38pub struct ProfilesConfig {
39 pub enabled: bool,
40 pub endpoint: String,
41 pub auth: BasicAuth,
42}
43
44#[derive(Debug, Default, Serialize, Deserialize, Clone)]
46pub struct TelemetryLabels {
47 pub labels: HashMap<String, String>,
48}
49
50#[derive(Debug, Default, Serialize, Deserialize, Clone)]
52pub struct TelemetryConfig {
53 pub metrics: MetricsConfig,
54 pub logs: LogsConfig,
55 pub traces: TracesConfig,
56 pub profiles: ProfilesConfig,
57 pub global_labels: TelemetryLabels,
58}