1use serde::{Deserialize, Serialize};
4
5use kinetic_doc_derive::ComponentDoc;
6
7#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ComponentDoc)]
11#[component(type = "source", name = "opentelemetry")]
12pub struct OtelServerConfig {
13 #[serde(default = "default_grpc_addr")]
15 pub grpc_endpoint: String,
16
17 #[serde(default = "default_http_addr")]
19 pub http_endpoint: String,
20}
21
22#[derive(Debug, Clone, Deserialize, Serialize)]
26pub struct OtelClientConfig {
27 pub endpoint: String,
29
30 #[serde(default)]
32 pub headers: std::collections::HashMap<String, String>,
33}
34
35fn default_grpc_addr() -> String {
36 "0.0.0.0:4317".to_string()
37}
38
39fn default_http_addr() -> String {
40 "0.0.0.0:4318".to_string()
41}