Skip to content

Commit 7eec462

Browse files
committed
add router subscription for code origin
1 parent c1bb205 commit 7eec462

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

packages/datadog-plugin-express/src/code_origin.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,16 @@ class ExpressCodeOriginForSpansPlugin extends Plugin {
2222
if (layerTags.has(layer)) return
2323
layerTags.set(layer, entryTags(topOfStackFunc))
2424
})
25+
this.addSub('apm:router:middleware:enter', ({ req, layer }) => {
26+
const tags = layerTags.get(layer)
27+
if (!tags) return
28+
web.getContext(req).span?.addTags(tags)
29+
})
30+
31+
this.addSub('apm:router:route:added', ({ topOfStackFunc, layer }) => {
32+
if (layerTags.has(layer)) return
33+
layerTags.set(layer, entryTags(topOfStackFunc))
34+
})
2535
}
2636
}
2737

packages/datadog-plugin-express/test/code_origin.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('Plugin', () => {
2424
const config = { codeOriginForSpans: { enabled: false } }
2525

2626
describe(`with tracer config ${JSON.stringify(config)}`, () => {
27-
before(() => agent.load(['express', 'http'], [{}, {}, { client: false }], config))
27+
before(() => agent.load(['express', 'http', 'router'], [{}, { client: false }, {}], config))
2828

2929
after(() => agent.close({ ritmReset: false, wipe: true }))
3030

@@ -52,7 +52,7 @@ describe('Plugin', () => {
5252

5353
for (const config of configs) {
5454
describe(`with tracer config ${JSON.stringify(config)}`, () => {
55-
before(() => agent.load(['express', 'http'], [{}, {}, { client: false }], config))
55+
before(() => agent.load(['express', 'http', 'router'], [{}, { client: false }, {}], config))
5656

5757
after(() => agent.close({ ritmReset: false, wipe: true }))
5858

0 commit comments

Comments
 (0)