Skip to content

Commit dba8cd1

Browse files
authored
Revert "Fix to DBM propagation - comment is injected before query is sent (#2938)"
This reverts commit 840f390.
1 parent 0e4fded commit dba8cd1

File tree

2 files changed

+19
-37
lines changed

2 files changed

+19
-37
lines changed

packages/datadog-instrumentations/src/pg.js

+11-15
Original file line numberDiff line numberDiff line change
@@ -27,38 +27,34 @@ function wrapQuery (query) {
2727
return query.apply(this, arguments)
2828
}
2929

30+
const retval = query.apply(this, arguments)
31+
32+
const queryQueue = this.queryQueue || this._queryQueue
33+
const activeQuery = this.activeQuery || this._activeQuery
34+
const pgQuery = queryQueue[queryQueue.length - 1] || activeQuery
35+
36+
if (!pgQuery) {
37+
return retval
38+
}
39+
3040
const callbackResource = new AsyncResource('bound-anonymous-fn')
3141
const asyncResource = new AsyncResource('bound-anonymous-fn')
3242
const processId = this.processID
33-
let pgQuery = {}
34-
pgQuery.text = arguments[0]
35-
3643
return asyncResource.runInAsyncScope(() => {
3744
startCh.publish({
3845
params: this.connectionParameters,
46+
originalQuery: pgQuery.text,
3947
query: pgQuery,
4048
processId
4149
})
4250

43-
arguments[0] = pgQuery.text
44-
4551
const finish = asyncResource.bind(function (error) {
4652
if (error) {
4753
errorCh.publish(error)
4854
}
4955
finishCh.publish()
5056
})
5157

52-
const retval = query.apply(this, arguments)
53-
const queryQueue = this.queryQueue || this._queryQueue
54-
const activeQuery = this.activeQuery || this._activeQuery
55-
56-
pgQuery = queryQueue[queryQueue.length - 1] || activeQuery
57-
58-
if (!pgQuery) {
59-
return retval
60-
}
61-
6258
if (pgQuery.callback) {
6359
const originalCallback = callbackResource.bind(pgQuery.callback)
6460
pgQuery.callback = function (err, res) {

packages/datadog-plugin-pg/test/index.spec.js

+8-22
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ const { expect } = require('chai')
44
const semver = require('semver')
55
const agent = require('../../dd-trace/test/plugins/agent')
66
const { ERROR_MESSAGE, ERROR_TYPE, ERROR_STACK } = require('../../dd-trace/src/constants')
7-
const net = require('net')
87

98
const clients = {
109
pg: pg => pg.Client
@@ -375,10 +374,6 @@ describe('Plugin', () => {
375374
})
376375
describe('with DBM propagation enabled with full using tracer configurations', () => {
377376
const tracer = require('../../dd-trace')
378-
let seenTraceParent
379-
let seenTraceId
380-
let seenSpanId
381-
let originalWrite
382377
before(() => {
383378
return agent.load('pg')
384379
})
@@ -398,36 +393,27 @@ describe('Plugin', () => {
398393
database: 'postgres'
399394
})
400395
client.connect(err => done(err))
401-
originalWrite = net.Socket.prototype.write
402-
net.Socket.prototype.write = function (buffer) {
403-
let strBuf = buffer.toString()
404-
if (strBuf.includes('traceparent=\'')) {
405-
strBuf = strBuf.split('-')
406-
seenTraceParent = true
407-
seenTraceId = strBuf[1]
408-
seenSpanId = strBuf[2]
409-
}
410-
return originalWrite.apply(this, arguments)
411-
}
412-
})
413-
afterEach(() => {
414-
net.Socket.prototype.write = originalWrite
415396
})
397+
416398
it('query text should contain traceparent', done => {
399+
let queryText = ''
417400
agent.use(traces => {
418401
const traceId = traces[0][0].trace_id.toString(16).padStart(32, '0')
419402
const spanId = traces[0][0].span_id.toString(16).padStart(16, '0')
420-
expect(seenTraceId).to.equal(traceId)
421-
expect(seenSpanId).to.equal(spanId)
403+
404+
expect(queryText).to.equal(
405+
`/*dddbs='post',dde='tester',ddps='test',ddpv='8.4.0',` +
406+
`traceparent='00-${traceId}-${spanId}-00'*/ SELECT $1::text as message`)
422407
}).then(done, done)
423408

424409
client.query('SELECT $1::text as message', ['Hello World!'], (err, result) => {
425410
if (err) return done(err)
426-
expect(seenTraceParent).to.be.true
411+
427412
client.end((err) => {
428413
if (err) return done(err)
429414
})
430415
})
416+
queryText = client.queryQueue[0].text
431417
})
432418
it('query should inject _dd.dbm_trace_injected into span', done => {
433419
agent.use(traces => {

0 commit comments

Comments
 (0)