libdd_trace_utils/
tracer_metadata.rs1use crate::tracer_header_tags::TracerHeaderTags;
5use http::HeaderMap;
6
7#[derive(Clone, Default, Debug)]
8pub struct TracerMetadata {
9 pub hostname: String,
10 pub env: String,
11 pub app_version: String,
12 pub runtime_id: String,
13 pub service: String,
14 pub tracer_version: String,
15 pub language: String,
16 pub language_version: String,
17 pub language_interpreter: String,
18 pub language_interpreter_vendor: String,
19 pub git_commit_sha: String,
20 pub process_tags: String,
21 pub client_computed_stats: bool,
22 pub client_computed_top_level: bool,
23}
24
25impl<'a> From<&'a TracerMetadata> for TracerHeaderTags<'a> {
26 fn from(tags: &'a TracerMetadata) -> TracerHeaderTags<'a> {
27 TracerHeaderTags::<'_> {
28 lang: &tags.language,
29 lang_version: &tags.language_version,
30 tracer_version: &tags.tracer_version,
31 lang_interpreter: &tags.language_interpreter,
32 lang_vendor: &tags.language_interpreter_vendor,
33 client_computed_stats: tags.client_computed_stats,
34 client_computed_top_level: tags.client_computed_top_level,
35 ..Default::default()
36 }
37 }
38}
39
40impl<'a> From<&'a TracerMetadata> for HeaderMap {
41 fn from(tags: &'a TracerMetadata) -> HeaderMap {
42 TracerHeaderTags::from(tags).into()
43 }
44}