diff --git a/crashtracker/src/crash_info/telemetry.rs b/crashtracker/src/crash_info/telemetry.rs index 37ae43b47..c3266db7f 100644 --- a/crashtracker/src/crash_info/telemetry.rs +++ b/crashtracker/src/crash_info/telemetry.rs @@ -149,6 +149,7 @@ impl TelemetryCrashUploader { seq_id: 1, application: &metadata.application, host: &metadata.host, + origin: Some("Crashtracker"), payload: &data::Payload::Logs(vec![data::Log { message, level: LogLevel::Error, diff --git a/crashtracker/src/rfc5_crash_info/telemetry.rs b/crashtracker/src/rfc5_crash_info/telemetry.rs index 35c0d6244..7a1ac5149 100644 --- a/crashtracker/src/rfc5_crash_info/telemetry.rs +++ b/crashtracker/src/rfc5_crash_info/telemetry.rs @@ -136,6 +136,7 @@ impl TelemetryCrashUploader { is_sensitive: true, count: 1, }]), + origin: Some("Crashtracker"), }; let client = ddtelemetry::worker::http_client::from_config(&self.cfg); let req = request_builder(&self.cfg)? diff --git a/ddtelemetry/examples/tm-ping.rs b/ddtelemetry/examples/tm-ping.rs index c60244f17..cbea147f4 100644 --- a/ddtelemetry/examples/tm-ping.rs +++ b/ddtelemetry/examples/tm-ping.rs @@ -35,6 +35,7 @@ fn build_request<'a>( tracer_time: SystemTime::UNIX_EPOCH.elapsed().map_or(0, |d| d.as_secs()), runtime_id: "runtime_id", seq_id: seq_id(), + origin: Some("tm-ping"), application, host, payload, diff --git a/ddtelemetry/examples/tm-send-sketch.rs b/ddtelemetry/examples/tm-send-sketch.rs index 3585ad075..ee4bfe464 100644 --- a/ddtelemetry/examples/tm-send-sketch.rs +++ b/ddtelemetry/examples/tm-send-sketch.rs @@ -33,6 +33,7 @@ fn build_request<'a>( tracer_time: SystemTime::UNIX_EPOCH.elapsed().map_or(0, |d| d.as_secs()), runtime_id: "runtime_id", seq_id: seq_id(), + origin: Some("tm-send-sketch"), application, host, payload, diff --git a/ddtelemetry/src/data/common.rs b/ddtelemetry/src/data/common.rs index a9e7898f6..032e4e1c4 100644 --- a/ddtelemetry/src/data/common.rs +++ b/ddtelemetry/src/data/common.rs @@ -30,6 +30,8 @@ pub struct Telemetry<'a> { pub seq_id: u64, pub application: &'a Application, pub host: &'a Host, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub origin: Option<&'a str>, #[serde(flatten)] pub payload: &'a Payload, } diff --git a/ddtelemetry/src/worker/mod.rs b/ddtelemetry/src/worker/mod.rs index 9debd0cd5..df5a12dcf 100644 --- a/ddtelemetry/src/worker/mod.rs +++ b/ddtelemetry/src/worker/mod.rs @@ -636,6 +636,7 @@ impl TelemetryWorker { runtime_id: &self.runtime_id, seq_id, host: &self.data.host, + origin: None, application: &self.data.app, payload, };