@@ -12,7 +12,10 @@ namespace tracing {
1212TracerTelemetry::TracerTelemetry (
1313 const Clock& clock, const std::shared_ptr<Logger>& logger,
1414 const std::shared_ptr<const SpanDefaults>& span_defaults)
15- : clock_(clock), logger_(logger), span_defaults_(span_defaults) {
15+ : clock_(clock),
16+ logger_ (logger),
17+ span_defaults_(span_defaults),
18+ hostname_(get_hostname().value_or(" hostname-unavailable" )) {
1619 metrics_snapshots_.emplace_back (metrics_.tracer .spans_created ,
1720 MetricSnapshot{});
1821 metrics_snapshots_.emplace_back (metrics_.tracer .spans_finished ,
@@ -47,7 +50,7 @@ std::string TracerTelemetry::app_started(nlohmann::json&& tracer_config) {
4750 time_t tracer_time = std::chrono::duration_cast<std::chrono::seconds>(
4851 clock_ ().wall .time_since_epoch ())
4952 .count ();
50-
53+
5154 seq_id++;
5255 auto payload =
5356 nlohmann::json::object (
@@ -68,8 +71,7 @@ std::string TracerTelemetry::app_started(nlohmann::json&& tracer_config) {
6871 })},
6972 // TODO: host information (os, os_version, kernel, etc)
7073 {" host" , nlohmann::json::object ({
71- {" hostname" ,
72- get_hostname ().value_or (" hostname-unavailable" )},
74+ {" hostname" , hostname_},
7375 })},
7476 {" payload" ,
7577 nlohmann::json::object ({
@@ -109,8 +111,6 @@ std::string TracerTelemetry::heartbeat_and_telemetry() {
109111 time_t tracer_time = std::chrono::duration_cast<std::chrono::seconds>(
110112 clock_ ().wall .time_since_epoch ())
111113 .count ();
112- std::string hostname = get_hostname ().value_or (" hostname-unavailable" );
113-
114114 auto heartbeat = nlohmann::json::object ({
115115 {" request_type" , " app-heartbeat" },
116116 });
@@ -161,7 +161,7 @@ std::string TracerTelemetry::heartbeat_and_telemetry() {
161161 })},
162162 // TODO: host information (hostname, os, os_version, kernel, etc)
163163 {" host" , nlohmann::json::object ({
164- {" hostname" , hostname },
164+ {" hostname" , hostname_ },
165165 })},
166166 {" payload" , nlohmann::json::array ({
167167 heartbeat,
0 commit comments