8585import datadog .trace .core .baggage .BaggagePropagator ;
8686import datadog .trace .core .datastreams .DataStreamsMonitoring ;
8787import datadog .trace .core .datastreams .DefaultDataStreamsMonitoring ;
88- import datadog .trace .core .flare .TracerFlarePoller ;
8988import datadog .trace .core .histogram .Histograms ;
9089import datadog .trace .core .monitor .HealthMetrics ;
9190import datadog .trace .core .monitor .MonitoringImpl ;
131130 * datadog.trace.api.Tracer and TracerAPI, it coordinates many functions necessary creating,
132131 * reporting, and propagating traces
133132 */
134- public class CoreTracer implements AgentTracer .TracerAPI {
133+ public class CoreTracer implements AgentTracer .TracerAPI , TracerFlare . Reporter {
135134 private static final Logger log = LoggerFactory .getLogger (CoreTracer .class );
136135 // UINT64 max value
137136 public static final BigInteger TRACE_ID_MAX =
@@ -165,8 +164,6 @@ public static CoreTracerBuilder builder() {
165164 /** Nanosecond offset to counter clock drift */
166165 private volatile long counterDrift ;
167166
168- private final TracerFlarePoller tracerFlarePoller ;
169-
170167 private final TracingConfigPoller tracingConfigPoller ;
171168
172169 private final PendingTraceBuffer pendingTraceBuffer ;
@@ -328,7 +325,7 @@ public static class CoreTracerBuilder {
328325 private DataStreamsMonitoring dataStreamsMonitoring ;
329326 private ProfilingContextIntegration profilingContextIntegration =
330327 ProfilingContextIntegration .NoOp .INSTANCE ;
331- private boolean pollForTracerFlareRequests ;
328+ private boolean reportInTracerFlare ;
332329 private boolean pollForTracingConfiguration ;
333330 private boolean injectBaggageAsTags ;
334331 private boolean flushOnClose ;
@@ -455,8 +452,8 @@ public CoreTracerBuilder profilingContextIntegration(
455452 return this ;
456453 }
457454
458- public CoreTracerBuilder pollForTracerFlareRequests () {
459- this .pollForTracerFlareRequests = true ;
455+ public CoreTracerBuilder reportInTracerFlare () {
456+ this .reportInTracerFlare = true ;
460457 return this ;
461458 }
462459
@@ -534,7 +531,7 @@ public CoreTracer build() {
534531 timeSource ,
535532 dataStreamsMonitoring ,
536533 profilingContextIntegration ,
537- pollForTracerFlareRequests ,
534+ reportInTracerFlare ,
538535 pollForTracingConfiguration ,
539536 injectBaggageAsTags ,
540537 flushOnClose );
@@ -566,7 +563,7 @@ private CoreTracer(
566563 final TimeSource timeSource ,
567564 final DataStreamsMonitoring dataStreamsMonitoring ,
568565 final ProfilingContextIntegration profilingContextIntegration ,
569- final boolean pollForTracerFlareRequests ,
566+ final boolean reportInTracerFlare ,
570567 final boolean pollForTracingConfiguration ,
571568 final boolean injectBaggageAsTags ,
572569 final boolean flushOnClose ) {
@@ -594,7 +591,7 @@ private CoreTracer(
594591 timeSource ,
595592 dataStreamsMonitoring ,
596593 profilingContextIntegration ,
597- pollForTracerFlareRequests ,
594+ reportInTracerFlare ,
598595 pollForTracingConfiguration ,
599596 injectBaggageAsTags ,
600597 flushOnClose );
@@ -625,7 +622,7 @@ private CoreTracer(
625622 final TimeSource timeSource ,
626623 final DataStreamsMonitoring dataStreamsMonitoring ,
627624 final ProfilingContextIntegration profilingContextIntegration ,
628- final boolean pollForTracerFlareRequests ,
625+ final boolean reportInTracerFlare ,
629626 final boolean pollForTracingConfiguration ,
630627 final boolean injectBaggageAsTags ,
631628 final boolean flushOnClose ) {
@@ -636,6 +633,9 @@ private CoreTracer(
636633 assert taggedHeaders != null ;
637634 assert baggageMapping != null ;
638635
636+ if (reportInTracerFlare ) {
637+ TracerFlare .addReporter (this );
638+ }
639639 this .timeSource = timeSource == null ? SystemTimeSource .INSTANCE : timeSource ;
640640 startTimeNano = this .timeSource .getCurrentTimeNanos ();
641641 startNanoTicks = this .timeSource .getNanoTicks ();
@@ -740,11 +740,6 @@ private CoreTracer(
740740 sharedCommunicationObjects .monitoring = monitoring ;
741741 sharedCommunicationObjects .createRemaining (config );
742742
743- tracerFlarePoller = new TracerFlarePoller (dynamicConfig );
744- if (pollForTracerFlareRequests ) {
745- tracerFlarePoller .start (config , sharedCommunicationObjects , this );
746- }
747-
748743 tracingConfigPoller = new TracingConfigPoller (dynamicConfig );
749744 if (pollForTracingConfiguration ) {
750745 tracingConfigPoller .start (config , sharedCommunicationObjects );
@@ -1288,7 +1283,6 @@ public void close() {
12881283 metricsAggregator .close ();
12891284 dataStreamsMonitoring .close ();
12901285 externalAgentLauncher .close ();
1291- tracerFlarePoller .stop ();
12921286 healthMetrics .close ();
12931287 }
12941288
@@ -1342,7 +1336,9 @@ public TraceSegment getTraceSegment() {
13421336 return null ;
13431337 }
13441338
1345- public void addTracerReportToFlare (ZipOutputStream zip ) throws IOException {
1339+ @ Override
1340+ public void addReportToFlare (ZipOutputStream zip ) throws IOException {
1341+ TracerFlare .addText (zip , "dynamic_config.txt" , dynamicConfig .toString ());
13461342 TracerFlare .addText (zip , "tracer_health.txt" , healthMetrics .summary ());
13471343 TracerFlare .addText (zip , "span_metrics.txt" , SpanMetricRegistry .getInstance ().summary ());
13481344 }
0 commit comments