@@ -68,7 +68,8 @@ Tracer::Tracer(const FinalizedTracerConfig& config,
6868 tags_header_max_size_(config.tags_header_size),
6969 baggage_opts_(config.baggage_opts),
7070 baggage_injection_enabled_(false ),
71- baggage_extraction_enabled_(false ) {
71+ baggage_extraction_enabled_(false ),
72+ correlate_full_host_profiles_(config.correlate_full_host_profiles) {
7273 telemetry::init (config.telemetry , logger_, config.http_client ,
7374 std::vector<std::shared_ptr<telemetry::Metric>>{},
7475 config.event_scheduler , config.agent_url );
@@ -107,9 +108,9 @@ Tracer::Tracer(const FinalizedTracerConfig& config,
107108
108109#ifdef __linux__
109110 // TODO: change the way this is done to handle programs that fork.
110- // TODO: add a flag to disable this by default.
111- elastic_apm_profiling_correlation_process_storage_v1 =
112- *signature_.generate_process_correlation_storage ();
111+ if (correlate_full_host_profiles_)
112+ elastic_apm_profiling_correlation_process_storage_v1 =
113+ *signature_.generate_process_correlation_storage ();
113114#endif
114115
115116 if (config.log_on_startup ) {
@@ -239,7 +240,7 @@ Span Tracer::create_span(const SpanConfig& config) {
239240 [generator = generator_]() { return generator->span_id (); },
240241 clock_};
241242#ifdef __linux__
242- correlate (span);
243+ if (correlate_full_host_profiles_) correlate (span);
243244#endif
244245 return span;
245246}
@@ -444,7 +445,7 @@ Expected<Span> Tracer::extract_span(const DictReader& reader,
444445 [generator = generator_]() { return generator->span_id (); },
445446 clock_};
446447#ifdef __linux__
447- correlate (span);
448+ if (correlate_full_host_profiles_) correlate (span);
448449#endif
449450 return span;
450451}
0 commit comments