Skip to content

Commit 93a8c9c

Browse files
committed
Reorganize classes
1 parent 95e8cb4 commit 93a8c9c

File tree

4 files changed

+30
-64
lines changed

4 files changed

+30
-64
lines changed

dd-trace-core/src/main/java/datadog/trace/core/CoreTracer.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050
import datadog.trace.api.naming.SpanNaming;
5151
import datadog.trace.api.remoteconfig.ServiceNameCollector;
5252
import datadog.trace.api.rum.RumInjector;
53+
import datadog.trace.api.rum.RumInjectorMetrics;
54+
import datadog.trace.api.rum.RumTelemetryCollector;
5355
import datadog.trace.api.sampling.PrioritySampling;
5456
import datadog.trace.api.scopemanager.ScopeListener;
5557
import datadog.trace.api.time.SystemTimeSource;
@@ -84,10 +86,8 @@
8486
import datadog.trace.core.datastreams.DefaultDataStreamsMonitoring;
8587
import datadog.trace.core.flare.TracerFlarePoller;
8688
import datadog.trace.core.histogram.Histograms;
87-
import datadog.trace.core.monitor.DefaultRumInjectorHealthMetrics;
8889
import datadog.trace.core.monitor.HealthMetrics;
8990
import datadog.trace.core.monitor.MonitoringImpl;
90-
import datadog.trace.core.monitor.RumInjectorHealthMetrics;
9191
import datadog.trace.core.monitor.TracerHealthMetrics;
9292
import datadog.trace.core.propagation.ExtractedContext;
9393
import datadog.trace.core.propagation.HttpCodec;
@@ -207,7 +207,7 @@ public static CoreTracerBuilder builder() {
207207
private final Monitoring performanceMonitoring;
208208

209209
private final HealthMetrics healthMetrics;
210-
private final RumInjectorHealthMetrics rumInjectorHealthMetrics;
210+
private final RumTelemetryCollector rumInjectorHealthMetrics;
211211
private final Recording traceWriteTimer;
212212
private final IdGenerationStrategy idGenerationStrategy;
213213
private final TraceCollector.Factory traceCollectorFactory;
@@ -707,14 +707,14 @@ private CoreTracer(
707707
: HealthMetrics.NO_OP;
708708
healthMetrics.start();
709709

710-
// Start RUM injector health metrics
710+
// Start RUM injector metrics
711711
rumInjectorHealthMetrics =
712712
config.isHealthMetricsEnabled() && config.isRumEnabled()
713-
? new DefaultRumInjectorHealthMetrics(this.statsDClient)
714-
: RumInjectorHealthMetrics.NO_OP;
713+
? new RumInjectorMetrics(this.statsDClient)
714+
: RumTelemetryCollector.NO_OP;
715715
rumInjectorHealthMetrics.start();
716716
// Register rumInjectorHealthMetrics as the RumInjector's telemetry collector
717-
RumInjector.setTelemetryCollector((DefaultRumInjectorHealthMetrics) rumInjectorHealthMetrics);
717+
RumInjector.setTelemetryCollector(rumInjectorHealthMetrics);
718718

719719
performanceMonitoring =
720720
config.isPerfMetricsEnabled()

dd-trace-core/src/main/java/datadog/trace/core/monitor/RumInjectorHealthMetrics.java

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 16 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,34 @@
1-
package datadog.trace.core.monitor;
1+
package datadog.trace.api.rum;
22

33
import static java.util.concurrent.TimeUnit.SECONDS;
44

55
import datadog.trace.api.StatsDClient;
6-
import datadog.trace.api.rum.RumTelemetryCollector;
76
import datadog.trace.util.AgentTaskScheduler;
87
import java.util.concurrent.TimeUnit;
98
import java.util.concurrent.atomic.AtomicBoolean;
10-
import org.jctools.counters.CountersFactory;
11-
import org.jctools.counters.FixedSizeStripedLongCounter;
9+
import java.util.concurrent.atomic.AtomicLong;
1210
import org.slf4j.Logger;
1311
import org.slf4j.LoggerFactory;
1412

1513
// Default implementation of RumInjectorHealthMetrics that reports metrics via StatsDClient
1614
// This class implements the RumTelemetryCollector interface, which is used to collect telemetry
1715
// from the RumInjector in the internal-api module
18-
public class DefaultRumInjectorHealthMetrics extends RumInjectorHealthMetrics
19-
implements RumTelemetryCollector {
20-
private static final Logger log = LoggerFactory.getLogger(DefaultRumInjectorHealthMetrics.class);
16+
public class RumInjectorMetrics implements RumTelemetryCollector {
17+
private static final Logger log = LoggerFactory.getLogger(RumInjectorMetrics.class);
2118

2219
private static final String[] NO_TAGS = new String[0];
2320

2421
private final AtomicBoolean started = new AtomicBoolean(false);
25-
private volatile AgentTaskScheduler.Scheduled<DefaultRumInjectorHealthMetrics> cancellation;
22+
private volatile AgentTaskScheduler.Scheduled<RumInjectorMetrics> cancellation;
2623

27-
private final FixedSizeStripedLongCounter injectionSucceed =
28-
CountersFactory.createFixedSizeStripedCounter(8);
29-
private final FixedSizeStripedLongCounter injectionFailed =
30-
CountersFactory.createFixedSizeStripedCounter(8);
31-
private final FixedSizeStripedLongCounter injectionSkipped =
32-
CountersFactory.createFixedSizeStripedCounter(8);
24+
private final AtomicLong injectionSucceed = new AtomicLong();
25+
private final AtomicLong injectionFailed = new AtomicLong();
26+
private final AtomicLong injectionSkipped = new AtomicLong();
3327

3428
private final StatsDClient statsd;
3529
private final long interval;
3630
private final TimeUnit units;
3731

38-
@Override
3932
public void start() {
4033
if (started.compareAndSet(false, true)) {
4134
cancellation =
@@ -44,39 +37,37 @@ public void start() {
4437
}
4538
}
4639

47-
public DefaultRumInjectorHealthMetrics(final StatsDClient statsd) {
40+
public RumInjectorMetrics(final StatsDClient statsd) {
4841
this(statsd, 30, SECONDS);
4942
}
5043

51-
public DefaultRumInjectorHealthMetrics(final StatsDClient statsd, long interval, TimeUnit units) {
44+
public RumInjectorMetrics(final StatsDClient statsd, long interval, TimeUnit units) {
5245
this.statsd = statsd;
5346
this.interval = interval;
5447
this.units = units;
5548
}
5649

5750
@Override
5851
public void onInjectionSucceed() {
59-
injectionSucceed.inc();
52+
injectionSucceed.incrementAndGet();
6053
}
6154

6255
@Override
6356
public void onInjectionFailed() {
64-
injectionFailed.inc();
57+
injectionFailed.incrementAndGet();
6558
}
6659

6760
@Override
6861
public void onInjectionSkipped() {
69-
injectionSkipped.inc();
62+
injectionSkipped.incrementAndGet();
7063
}
7164

72-
@Override
7365
public void close() {
7466
if (null != cancellation) {
7567
cancellation.cancel();
7668
}
7769
}
7870

79-
@Override
8071
public String summary() {
8172
return "injectionSucceed="
8273
+ injectionSucceed.get()
@@ -86,13 +77,13 @@ public String summary() {
8677
+ injectionSkipped.get();
8778
}
8879

89-
private static class Flush implements AgentTaskScheduler.Task<DefaultRumInjectorHealthMetrics> {
80+
private static class Flush implements AgentTaskScheduler.Task<RumInjectorMetrics> {
9081

9182
private final long[] previousCounts = new long[3]; // one per counter
9283
private int countIndex;
9384

9485
@Override
95-
public void run(DefaultRumInjectorHealthMetrics target) {
86+
public void run(RumInjectorMetrics target) {
9687
countIndex = -1;
9788
try {
9889
reportIfChanged(target.statsd, "rum.injection.succeed", target.injectionSucceed, NO_TAGS);
@@ -107,10 +98,7 @@ public void run(DefaultRumInjectorHealthMetrics target) {
10798
}
10899

109100
private void reportIfChanged(
110-
StatsDClient statsDClient,
111-
String aspect,
112-
FixedSizeStripedLongCounter counter,
113-
String[] tags) {
101+
StatsDClient statsDClient, String aspect, AtomicLong counter, String[] tags) {
114102
long count = counter.get();
115103
long delta = count - previousCounts[++countIndex];
116104
if (delta > 0) {
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package datadog.trace.core.monitor
1+
package datadog.trace.api.rum
22

33
import datadog.trace.api.StatsDClient
44
import spock.lang.Specification
@@ -7,16 +7,16 @@ import spock.lang.Subject
77
import java.util.concurrent.CountDownLatch
88
import java.util.concurrent.TimeUnit
99

10-
class RumInjectorHealthMetricsTest extends Specification {
10+
class RumInjectorMetricsTest extends Specification {
1111
def statsD = Mock(StatsDClient)
1212

1313
@Subject
14-
def healthMetrics = new DefaultRumInjectorHealthMetrics(statsD)
14+
def healthMetrics = new RumInjectorMetrics(statsD)
1515

1616
def "test onInjectionSucceed"() {
1717
setup:
1818
def latch = new CountDownLatch(1)
19-
def healthMetrics = new DefaultRumInjectorHealthMetrics(new Latched(statsD, latch), 10, TimeUnit.MILLISECONDS)
19+
def healthMetrics = new RumInjectorMetrics(new Latched(statsD, latch), 10, TimeUnit.MILLISECONDS)
2020
healthMetrics.start()
2121

2222
when:
@@ -34,7 +34,7 @@ class RumInjectorHealthMetricsTest extends Specification {
3434
def "test onInjectionFailed"() {
3535
setup:
3636
def latch = new CountDownLatch(1)
37-
def healthMetrics = new DefaultRumInjectorHealthMetrics(new Latched(statsD, latch), 10, TimeUnit.MILLISECONDS)
37+
def healthMetrics = new RumInjectorMetrics(new Latched(statsD, latch), 10, TimeUnit.MILLISECONDS)
3838
healthMetrics.start()
3939

4040
when:
@@ -52,7 +52,7 @@ class RumInjectorHealthMetricsTest extends Specification {
5252
def "test onInjectionSkipped"() {
5353
setup:
5454
def latch = new CountDownLatch(1)
55-
def healthMetrics = new DefaultRumInjectorHealthMetrics(new Latched(statsD, latch), 10, TimeUnit.MILLISECONDS)
55+
def healthMetrics = new RumInjectorMetrics(new Latched(statsD, latch), 10, TimeUnit.MILLISECONDS)
5656
healthMetrics.start()
5757

5858
when:
@@ -70,7 +70,7 @@ class RumInjectorHealthMetricsTest extends Specification {
7070
def "test multiple events"() {
7171
setup:
7272
def latch = new CountDownLatch(3) // expecting 3 metric types
73-
def healthMetrics = new DefaultRumInjectorHealthMetrics(new Latched(statsD, latch), 10, TimeUnit.MILLISECONDS)
73+
def healthMetrics = new RumInjectorMetrics(new Latched(statsD, latch), 10, TimeUnit.MILLISECONDS)
7474
healthMetrics.start()
7575

7676
when:

0 commit comments

Comments
 (0)