Skip to content

Commit 134948c

Browse files
committed
grpc code origin test working
1 parent ab24c94 commit 134948c

File tree

3 files changed

+9
-92
lines changed

3 files changed

+9
-92
lines changed

dd-java-agent/instrumentation/grpc-1.5/src/test/groovy/GrpcCodeOriginTest.groovy

Lines changed: 8 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import com.google.common.util.concurrent.MoreExecutors
22
import datadog.trace.agent.test.naming.VersionedNamingTestBase
3-
import datadog.trace.api.DDSpanTypes
43
import datadog.trace.bootstrap.debugger.DebuggerContext
5-
import datadog.trace.bootstrap.instrumentation.api.Tags
64
import example.GreeterGrpc
75
import example.Helloworld
86
import io.grpc.BindableService
@@ -17,6 +15,8 @@ import java.util.concurrent.Executors
1715
import java.util.concurrent.TimeUnit
1816
import java.util.concurrent.atomic.AtomicReference
1917

18+
import static datadog.trace.agent.test.asserts.TagsAssert.assertTags
19+
2020

2121
abstract class GrpcCodeOriginTest extends VersionedNamingTestBase {
2222
@Override
@@ -51,7 +51,7 @@ abstract class GrpcCodeOriginTest extends VersionedNamingTestBase {
5151
codeOriginSetup()
5252
}
5353

54-
def "test conversation #name"() {
54+
def "code origin test #name"() {
5555
setup:
5656

5757
def msgCount = serverMessageCount
@@ -151,75 +151,12 @@ abstract class GrpcCodeOriginTest extends VersionedNamingTestBase {
151151
}.flatten().sort()
152152

153153
assert DebuggerContext.codeOriginRecorder != null
154-
assertTraces(2) {
155-
trace((hasClientMessageSpans() ? clientMessageCount * serverMessageCount : 0) + 1) {
156-
span {
157-
operationName clientOperation()
158-
resourceName "example.Greeter/Conversation"
159-
spanType DDSpanTypes.RPC
160-
parent()
161-
errored false
162-
tags {
163-
"$Tags.COMPONENT" "grpc-client"
164-
"$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT
165-
"$Tags.RPC_SERVICE" "example.Greeter"
166-
"status.code" "OK"
167-
"request.type" "example.Helloworld\$Response"
168-
"response.type" "example.Helloworld\$Response"
169-
peerServiceFrom(Tags.RPC_SERVICE)
170-
defaultTags()
171-
}
172-
}
173-
if (hasClientMessageSpans()) {
174-
(1..(clientMessageCount * serverMessageCount)).each {
175-
span {
176-
operationName "grpc.message"
177-
resourceName "grpc.message"
178-
spanType DDSpanTypes.RPC
179-
childOf span(0)
180-
errored false
181-
tags {
182-
"$Tags.COMPONENT" "grpc-client"
183-
"$Tags.SPAN_KIND" Tags.SPAN_KIND_CLIENT
184-
"message.type" "example.Helloworld\$Response"
185-
defaultTagsNoPeerService()
186-
}
187-
}
188-
}
189-
}
190-
}
191-
trace(clientMessageCount + 1) {
192-
span {
193-
operationName serverOperation()
194-
resourceName "example.Greeter/Conversation"
195-
spanType DDSpanTypes.RPC
196-
childOf trace(0).get(0)
197-
errored false
198-
tags {
199-
"$Tags.COMPONENT" "grpc-server"
200-
"$Tags.SPAN_KIND" Tags.SPAN_KIND_SERVER
201-
"status.code" "OK"
202-
203-
defaultTags(true)
204-
}
205-
}
206-
clientRange.each {
207-
span {
208-
operationName "grpc.message"
209-
resourceName "grpc.message"
210-
spanType DDSpanTypes.RPC
211-
childOf span(0)
212-
errored false
213-
tags {
214-
"$Tags.COMPONENT" "grpc-server"
215-
"$Tags.SPAN_KIND" Tags.SPAN_KIND_SERVER
216-
"message.type" "example.Helloworld\$Response"
217-
defaultTags()
218-
}
219-
}
220-
}
221-
}
154+
def span = TEST_WRITER.flatten().find {
155+
it.operationName.toString() == "grpc.server.request"
222156
}
157+
assertTags(span, {
158+
it.codeOriginTags()
159+
}, false)
223160

224161
cleanup:
225162
channel?.shutdownNow()?.awaitTermination(10, TimeUnit.SECONDS)

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

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@ import static datadog.trace.api.config.TraceInstrumentationConfig.CODE_ORIGIN_FO
9292
import static datadog.trace.bootstrap.instrumentation.api.AgentTracer.closePrevious
9393
import static datadog.trace.util.AgentThreadFactory.AgentThread.TASK_SCHEDULER
9494
import static org.mockito.Mockito.mock
95-
import static org.mockito.Mockito.when
9695

9796
/**
9897
* A spock test runner which automatically applies instrumentation and exposes a global trace
@@ -325,20 +324,7 @@ abstract class AgentTestRunner extends DDSpecification implements AgentBuilder.L
325324

326325
def sink = new DebuggerSink(config, probeStatusSink)
327326
ConfigurationUpdater configurationUpdater = new ConfigurationUpdater(INSTRUMENTATION, DebuggerTransformer::new, config, sink,
328-
new ClassesToRetransformFinder()) {
329-
@Override
330-
ProbeImplementation resolve(String encodedProbeId) {
331-
AgentSpan span = AgentTracer.activeSpan()
332-
if (span != null) {
333-
span.setTag("code origin span", true)
334-
}
335-
def resolve = super.resolve(encodedProbeId)
336-
337-
println("************* resolve() \n\tspan = " + span + "\n\t probe = " + resolve)
338-
339-
return resolve
340-
}
341-
}
327+
new ClassesToRetransformFinder())
342328

343329
INSTRUMENTATION.addTransformer(new DebuggerTransformer(config, configuration, {
344330
ProbeDefinition definition, InstrumentationResult result ->

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,6 @@ class TagsAssert {
115115
}
116116

117117
def codeOriginTags() {
118-
assertedTags.add(DDTags.DD_CODE_ORIGIN_TYPE)
119-
assertedTags.add(format(DD_CODE_ORIGIN_FRAME, 0, "file"))
120-
assertedTags.add(format(DD_CODE_ORIGIN_FRAME, 0, "method"))
121-
assertedTags.add(format(DD_CODE_ORIGIN_FRAME, 0, "line"))
122-
assertedTags.add(format(DD_CODE_ORIGIN_FRAME, 0, "type"))
123-
assertedTags.add(format(DD_CODE_ORIGIN_FRAME, 0, "signature"))
124118
assertedTags.add("code origin span")
125119

126120
assert tags[DDTags.DD_CODE_ORIGIN_TYPE] != null

0 commit comments

Comments
 (0)