Skip to content

Commit 0e65a27

Browse files
khanayan123claude
andcommitted
Move root session ID env lookup to tracer_config.cpp
Read _DD_ROOT_CPP_SESSION_ID in finalize_config() and store it in FinalizedTracerConfig, consistent with how all other env vars are handled. Removes the ad-hoc get_root_session_id() helper in tracer.cpp. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent a2fd9ca commit 0e65a27

3 files changed

Lines changed: 7 additions & 11 deletions

File tree

include/datadog/tracer_config.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ class FinalizedTracerConfig final {
225225
bool log_on_startup;
226226
bool generate_128bit_trace_ids;
227227
Optional<RuntimeID> runtime_id;
228+
Optional<std::string> root_session_id;
228229
Clock clock;
229230
std::string integration_name;
230231
std::string integration_version;

src/datadog/tracer.cpp

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,6 @@ namespace fs = std::filesystem;
3636
namespace datadog {
3737
namespace tracing {
3838

39-
namespace {
40-
41-
std::string get_root_session_id(const std::string& runtime_id) {
42-
if (auto val = environment::lookup(environment::_DD_ROOT_CPP_SESSION_ID)) {
43-
return std::string(*val);
44-
}
45-
return runtime_id;
46-
}
47-
48-
} // namespace
4939

5040
void to_json(nlohmann::json& j, const PropagationStyle& style) {
5141
j = to_string_view(style);
@@ -59,7 +49,8 @@ Tracer::Tracer(const FinalizedTracerConfig& config,
5949
: logger_(config.logger),
6050
runtime_id_(config.runtime_id ? *config.runtime_id
6151
: RuntimeID::generate()),
62-
signature_{runtime_id_, get_root_session_id(runtime_id_.string()),
52+
signature_{runtime_id_,
53+
config.root_session_id.value_or(runtime_id_.string()),
6354
config.defaults.service, config.defaults.environment},
6455
config_manager_(std::make_shared<ConfigManager>(config)),
6556
collector_(/* see constructor body */),

src/datadog/tracer_config.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,10 @@ Expected<FinalizedTracerConfig> finalize_config(const TracerConfig &user_config,
407407
final_config.runtime_id = user_config.runtime_id;
408408
}
409409

410+
if (auto val = lookup(environment::_DD_ROOT_CPP_SESSION_ID)) {
411+
final_config.root_session_id = std::string{*val};
412+
}
413+
410414
final_config.process_tags = user_config.process_tags;
411415

412416
auto agent_finalized =

0 commit comments

Comments
 (0)