Skip to content

Commit 3039978

Browse files
authored
Refactor RUM telemetry (#9526)
* Update RumInjector and Metrics * Add RUM periodic action * Add testing * Remove print line * Clean up naming * Set common metric to true * Remove summary method * Address review comments * Add RUM to codeowners * Add to RumTelemetryCollectorTest * Reassign codeowners * Capitalize RUM team * Undo capitalization * Clean extra variables
1 parent 5422517 commit 3039978

File tree

12 files changed

+531
-441
lines changed

12 files changed

+531
-441
lines changed

.github/CODEOWNERS

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
/internal-api/src/test/groovy/datadog/trace/api/sampling @DataDog/apm-sdk-api-java
2929

3030
# @DataDog/apm-serverless
31-
/dd-trace-core/src/main/java/datadog/trace/lambda/ @DataDog/apm-serverless
31+
/dd-trace-core/src/main/java/datadog/trace/lambda/ @DataDog/apm-serverless
3232
/dd-trace-core/src/test/groovy/datadog/trace/lambda/ @DataDog/apm-serverless
3333

3434
# @DataDog/apm-lang-platform-java
@@ -131,3 +131,9 @@ dd-trace-api/src/main/java/datadog/trace/api/llmobs/ @DataDog/ml-observability
131131
dd-java-agent/agent-llmobs/ @DataDog/ml-observability
132132
dd-trace-core/src/main/java/datadog/trace/llmobs/ @DataDog/ml-observability
133133
dd-trace-core/src/test/groovy/datadog/trace/llmobs/ @DataDog/ml-observability
134+
135+
# @DataDog/rum
136+
/internal-api/src/main/java/datadog/trace/api/rum/ @DataDog/rum
137+
/internal-api/src/test/groovy/datadog/trace/api/rum/ @DataDog/rum
138+
/telemetry/src/main/java/datadog/telemetry/rum/ @DataDog/rum
139+
/telemetry/src/test/groovy/datadog/telemetry/rum/ @DataDog/rum

dd-java-agent/instrumentation-testing/src/main/groovy/datadog/trace/agent/test/base/HttpServerTest.groovy

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2246,26 +2246,20 @@ abstract class HttpServerTest<SERVER> extends WithHttpServer<SERVER> {
22462246
def "test rum injection in head for mime #mime"() {
22472247
setup:
22482248
assumeTrue(testRumInjection())
2249-
def telemetryCollector = RumInjector.getTelemetryCollector()
22502249
def request = new Request.Builder().url(server.address().resolve("gimme-$mime").toURL())
22512250
.get().build()
22522251

22532252
when:
22542253
def response = client.newCall(request).execute()
22552254
def responseBody = response.body().string()
2256-
def finalSummary = telemetryCollector.summary()
22572255

22582256
then:
22592257
assert response.code() == 200
22602258
assert responseBody.contains(new String(RumInjector.get().getSnippetBytes("UTF-8"), "UTF-8")) == expected
22612259
assert response.header("x-datadog-rum-injected") == (expected ? "1" : null)
22622260

2263-
// Check a few telemetry metrics
22642261
if (expected) {
2265-
assert finalSummary.contains("injectionSucceed=")
22662262
assert responseBody.length() > 0
2267-
} else {
2268-
assert finalSummary.contains("injectionSkipped=")
22692263
}
22702264

22712265
where:

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import datadog.trace.api.DynamicConfig;
3131
import datadog.trace.api.EndpointTracker;
3232
import datadog.trace.api.IdGenerationStrategy;
33-
import datadog.trace.api.InstrumenterConfig;
3433
import datadog.trace.api.StatsDClient;
3534
import datadog.trace.api.TagMap;
3635
import datadog.trace.api.TraceConfig;
@@ -714,11 +713,6 @@ private CoreTracer(
714713
: HealthMetrics.NO_OP);
715714
this.healthMetrics.start();
716715

717-
// Start RUM injector telemetry
718-
if (InstrumenterConfig.get().isRumEnabled()) {
719-
RumInjector.enableTelemetry(this.statsDClient);
720-
}
721-
722716
performanceMonitoring =
723717
config.isPerfMetricsEnabled()
724718
? new MonitoringImpl(this.statsDClient, 10, SECONDS)

internal-api/src/main/java/datadog/trace/api/rum/RumInjector.java

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -125,19 +125,11 @@ public byte[] getMarkerBytes(String encoding) {
125125
return this.markerCache.computeIfAbsent(encoding, MARKER_BYTES);
126126
}
127127

128-
/**
129-
* Starts telemetry collection and reports metrics via StatsDClient.
130-
*
131-
* @param statsDClient The StatsDClient to report metrics to.
132-
*/
133-
public static void enableTelemetry(datadog.trace.api.StatsDClient statsDClient) {
134-
if (statsDClient != null) {
135-
RumInjectorMetrics metrics = new RumInjectorMetrics(statsDClient);
136-
telemetryCollector = metrics;
137-
138-
if (INSTANCE.isEnabled()) {
139-
telemetryCollector.onInitializationSucceed();
140-
}
128+
/** Starts telemetry collection if RUM injection is enabled. */
129+
public static void enableTelemetry() {
130+
if (INSTANCE.isEnabled()) {
131+
telemetryCollector = new RumInjectorMetrics();
132+
telemetryCollector.onInitializationSucceed();
141133
} else {
142134
telemetryCollector = RumTelemetryCollector.NO_OP;
143135
}

0 commit comments

Comments
 (0)