Skip to content

Commit 4beb41a

Browse files
committed
address reviewer comments and add test agent to documentation
1 parent 6ebe022 commit 4beb41a

2 files changed

Lines changed: 22 additions & 11 deletions

File tree

CONTRIBUTING.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,3 +212,19 @@ To run tests on a different JVM than the one used for doing the build, you need
212212
2) A command line option to the gradle task on the form `-PtestJvm=[JDKNAME]`, i.e. `-PtestJvm=ZULU15`
213213

214214
Please note that the JDK name needs to end with the JDK version, i.e. `11`, `ZULU15`, `ORACLE8`, et.c.
215+
216+
## The APM Test Agent
217+
218+
The APM test agent emulates the APM endpoints of the Datadog Agent. The Test Agent container runs alongside Java tracer
219+
Instrumentation Tests in CI, handling all traces during test runs and performing a number of `Trace Checks`. Trace
220+
Check results are returned within the `Get APM Test Agent Trace Check Results` step for all instrumentation test jobs.
221+
222+
For more information on Trace Checks, see:
223+
https://github.com/DataDog/dd-apm-test-agent#trace-invariant-checks
224+
225+
The APM Test Agent also emits helpful logging, including logging received traces' headers, spans, errors encountered,
226+
ands information on trace checks being performed. Logs can be viewed in CircleCI within the Test-Agent container step
227+
for all instrumentation test suites, ie: `z_test_8_inst` job
228+
229+
Read more about the APM Test Agent:
230+
https://github.com/datadog/dd-apm-test-agent#readme

dd-java-agent/testing/src/main/groovy/datadog/trace/agent/test/AgentTestRunner.groovy

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@ import datadog.trace.agent.tooling.AgentInstaller
1414
import datadog.trace.agent.tooling.Instrumenter
1515
import datadog.trace.agent.tooling.TracerInstaller
1616
import datadog.trace.agent.tooling.bytebuddy.matcher.GlobalIgnores
17-
import datadog.trace.api.Config
18-
import datadog.trace.api.DDSpanId
19-
import datadog.trace.api.IdGenerationStrategy
20-
import datadog.trace.api.StatsDClient
21-
import datadog.trace.api.WellKnownTags
17+
import datadog.trace.api.*
2218
import datadog.trace.api.config.TracerConfig
2319
import datadog.trace.api.time.SystemTimeSource
2420
import datadog.trace.bootstrap.ActiveSubsystems
2521
import datadog.trace.bootstrap.instrumentation.api.AgentSpan
2622
import datadog.trace.bootstrap.instrumentation.api.AgentTracer.TracerAPI
23+
import datadog.trace.bootstrap.instrumentation.api.DataStreamsMonitoring
24+
import datadog.trace.bootstrap.instrumentation.api.NoopDataStreamsMonitoring
2725
import datadog.trace.common.metrics.EventListener
2826
import datadog.trace.common.metrics.Sink
2927
import datadog.trace.common.writer.DDAgentWriter
@@ -32,9 +30,7 @@ import datadog.trace.common.writer.ddagent.DDAgentApi
3230
import datadog.trace.core.CoreTracer
3331
import datadog.trace.core.DDSpan
3432
import datadog.trace.core.PendingTrace
35-
import datadog.trace.bootstrap.instrumentation.api.DataStreamsMonitoring
3633
import datadog.trace.core.datastreams.DefaultDataStreamsMonitoring
37-
import datadog.trace.bootstrap.instrumentation.api.NoopDataStreamsMonitoring
3834
import datadog.trace.test.util.DDSpecification
3935
import datadog.trace.util.Strings
4036
import de.thetaphi.forbiddenapis.SuppressForbidden
@@ -61,10 +57,9 @@ import java.util.concurrent.TimeoutException
6157
import java.util.concurrent.atomic.AtomicInteger
6258

6359
import static datadog.communication.http.OkHttpUtils.buildHttpClient
64-
import static datadog.trace.api.ConfigDefaults.DEFAULT_AGENT_HOST
65-
import static datadog.trace.api.ConfigDefaults.DEFAULT_AGENT_TIMEOUT
66-
import static datadog.trace.api.ConfigDefaults.DEFAULT_TRACE_AGENT_PORT
60+
import static datadog.trace.api.ConfigDefaults.*
6761
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.closePrevious
62+
6863
/**
6964
* A spock test runner which automatically applies instrumentation and exposes a global trace
7065
* writer.
@@ -100,7 +95,7 @@ abstract class AgentTestRunner extends DDSpecification implements AgentBuilder.L
10095
.append("=").append(entry.getValue()).append(",")
10196
}
10297
}
103-
ddEnvVars.append("DD_SERVICE").append("=").append(Config.get().getServiceName())
98+
ddEnvVars.append("DD_SERVICE=").append(Config.get().getServiceName())
10499

105100
if (ddEnvVars.length() > 0) {
106101
agentapi.setHeader("X-Datadog-Trace-Env-Variables", ddEnvVars.toString())

0 commit comments

Comments
 (0)