Skip to content

Commit

Permalink
[pinpoint-apm#251] Fix SQL-ID not found sqlId:1 bug
Browse files Browse the repository at this point in the history
  • Loading branch information
feelform committed Dec 23, 2024
1 parent 3310757 commit 2b0f5e6
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 75 deletions.
6 changes: 5 additions & 1 deletion lib/agent.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class Agent {
const agentStartTime = Date.now()
this.agentInfo = this.createAgentInfo(this.config, agentStartTime)

const dataSender = dataSenderFactory.create(this.config, this.agentInfo)
const dataSender = this.makeDataSender()
this.dataSender = dataSender
this.initializeDataSender(dataSender)
this.initializePinpointClient(dataSender)
Expand All @@ -52,6 +52,10 @@ class Agent {
log.warn('[Pinpoint Agent][' + agentId + '] Init Completed')
}

makeDataSender() {
return dataSenderFactory.create(this.config, this.agentInfo)
}

initializeDataSender(dataSender) {
dataSender.send(this.agentInfo)
stringMetaService.init(dataSender)
Expand Down
10 changes: 5 additions & 5 deletions test/client/grpc-data-sender.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ const AsyncSpanChunkBuilder = require('../../lib/context/trace/async-span-chunk-
const SpanRepository = require('../../lib/context/trace/span-repository')
const ChildTraceBuilder = require('../../lib/context/trace/child-trace-builder')
const serviceType = require('../../lib/context/service-type')
const makeMockDataSender = require('../fixtures/mock-data-sender')
const SpanChunkBuilder = require('../../lib/context/span-chunk-builder')
const Trace = require('../../lib/context/trace/trace2')
const defaultPredefinedMethodDescriptorRegistry = require('../../lib/constant/default-predefined-method-descriptor-registry')
const dataSenderMock = require('../support/data-sender-mock')

let sendSpanMethodOnDataCallback
function sendSpan(call) {
Expand Down Expand Up @@ -70,7 +70,7 @@ test('Should send span', function (t) {
server.bindAsync('localhost:0', grpc.ServerCredentials.createInsecure(), (error, port) => {
const grpcDataSender = beforeSpecificOne(port, DataSource)
const traceRoot = new RemoteTraceRootBuilder(agent.agentInfo, '5').build()
dataSender = makeMockDataSender(agent.config, grpcDataSender)
dataSender = dataSenderMock(agent.config, grpcDataSender)
const spanBuilder = new SpanBuilder(traceRoot)
spanBuilder.setServiceType(1400)
spanBuilder.setEndPoint('localhost:3000')
Expand Down Expand Up @@ -167,7 +167,7 @@ test('sendSpanChunk redis.SET.end', function (t) {
const grpcDataSender = beforeSpecificOne(port, DataSource)
const traceRoot = new RemoteTraceRootBuilder(agent.agentInfo, '5').build()
const asyncId = AsyncId.make()
dataSender = makeMockDataSender(agent.config, grpcDataSender)
dataSender = dataSenderMock(agent.config, grpcDataSender)
const spanChunkBuilder = new AsyncSpanChunkBuilder(traceRoot, asyncId)
const repository = new SpanRepository(spanChunkBuilder, dataSender, agent.agentInfo)
const childTraceBuilder = new ChildTraceBuilder(traceRoot, repository, asyncId)
Expand Down Expand Up @@ -245,7 +245,7 @@ test('sendSpanChunk redis.GET.end', (t) => {
const grpcDataSender = beforeSpecificOne(port, DataSource)
const traceRoot = new RemoteTraceRootBuilder(agent.agentInfo, '5').build()
const asyncId = AsyncId.make()
dataSender = makeMockDataSender(agent.config, grpcDataSender)
dataSender = dataSenderMock(agent.config, grpcDataSender)
const spanChunkBuilder = new AsyncSpanChunkBuilder(traceRoot, asyncId)
const repository = new SpanRepository(spanChunkBuilder, dataSender, agent.agentInfo)
const childTraceBuilder = new ChildTraceBuilder(traceRoot, repository, asyncId)
Expand Down Expand Up @@ -315,7 +315,7 @@ test('sendSpan', (t) => {
server.bindAsync('localhost:0', grpc.ServerCredentials.createInsecure(), (error, port) => {
const grpcDataSender = beforeSpecificOne(port, DataSource)
const traceRoot = new RemoteTraceRootBuilder(agent.agentInfo, '5').build()
dataSender = makeMockDataSender(agent.config, grpcDataSender)
dataSender = dataSenderMock(agent.config, grpcDataSender)
const spanBuilder = new SpanBuilder(traceRoot)
const spanChunkBuilder = new SpanChunkBuilder(traceRoot)
const repository = new SpanRepository(spanChunkBuilder, dataSender, agent.agentInfo)
Expand Down
65 changes: 0 additions & 65 deletions test/fixtures/mock-data-sender.js

This file was deleted.

8 changes: 6 additions & 2 deletions test/support/agent-singleton-mock.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,10 @@ class MockAgent extends Agent {
this.traceContext.traceSampler = new TraceSampler(this.agentInfo, config)
this.traceContext.config = config

const dataSender = dataSenderMock(this.config, this.agentInfo)
const dataSender = this.makeDataSender()
this.traceContext.dataSender = dataSender
this.dataSender = dataSender

// this.initializeDataSender(dataSender)
stringMetaService.init(dataSender)
apiMetaService.init(dataSender)

Expand Down Expand Up @@ -219,6 +219,10 @@ class MockAgent extends Agent {
getTraceByAsyncId(asyncId) {
return getTraceByAsyncId(asyncId)
}

makeDataSender() {
return dataSenderMock(this.config, this.agentInfo)
}
}

const agent = new MockAgent(require('../pinpoint-config-test'))
Expand Down
9 changes: 7 additions & 2 deletions test/support/data-sender-mock.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,16 @@ class MockDataSender extends DataSender {
}
}

const dataSender = (conf, agentInfo) => {
const dataSender = (conf, agentInfoOrGrpcDataSender) => {
if (typeof agentInfoOrGrpcDataSender?.sendAgentInfo === 'function') {
return new MockDataSender({
enabledDataSending: true,
}, agentInfoOrGrpcDataSender)
}
if (typeof conf?.collectorSpanPort === 'number') {
return new MockDataSender({
enabledDataSending: true,
}, new GrpcDataSender(conf.collectorIp, conf.collectorSpanPort, conf.collectorStatPort, conf.collectorTcpPort, agentInfo, conf))
}, new GrpcDataSender(conf.collectorIp, conf.collectorSpanPort, conf.collectorStatPort, conf.collectorTcpPort, agentInfoOrGrpcDataSender, conf))
}
return new MockDataSender({
enabledDataSending: true,
Expand Down

0 comments on commit 2b0f5e6

Please sign in to comment.