Skip to content

Commit ee41612

Browse files
committed
[#256] Refactor gRPC client initialization and remove unused metadata handling
1 parent 5507950 commit ee41612

File tree

5 files changed

+107
-62
lines changed

5 files changed

+107
-62
lines changed

lib/client/call-arguments-builder.js

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@ class CallArguments {
1717
return this.callback
1818
}
1919

20-
getMetadata() {
21-
return this.metadata
22-
}
23-
2420
getOptions() {
2521
const options = this.options
2622
if (this.deadlineMilliseconds) {
@@ -40,7 +36,6 @@ class CallArgumentsBuilder {
4036

4137
constructor(callback) {
4238
this.callback = callback
43-
this.metadata = new grpc.Metadata()
4439
this.options = {}
4540
}
4641

@@ -49,14 +44,8 @@ class CallArgumentsBuilder {
4944
return this
5045
}
5146

52-
setMetadata(key, value) {
53-
this.metadata.set(key, value)
54-
return this
55-
}
56-
5747
build() {
5848
const callArguments = new CallArguments(this.callback)
59-
callArguments.metadata = this.metadata
6049
callArguments.options = this.options
6150
callArguments.deadlineMilliseconds = this.deadlineMilliseconds ?? DEFAULT_CLIENT_REQUEST_TIMEOUT
6251
return callArguments

lib/client/grpc-data-sender.js

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,14 @@ const DEFAULT_AGENT_INFO_REFRESH_INTERVAL_MS = 24 * 60 * 60 * 1000
3030
class GrpcDataSender {
3131
constructor(collectorIp, collectorTcpPort, collectorStatPort, collectorSpanPort, agentInfo, config) {
3232
this.agentInfo = agentInfo
33-
this.initializeClients(collectorIp, collectorTcpPort, config)
34-
this.initializeMetadataClients(collectorIp, collectorTcpPort, config)
33+
this.config = config
34+
this.collectorIp = collectorIp
35+
this.collectorTcpPort = collectorTcpPort
36+
this.collectorStatPort = collectorStatPort
37+
this.collectorSpanPort = collectorSpanPort
38+
39+
this.initializeClients()
40+
this.initializeMetadataClients()
3541
this.initializeSpanStream(collectorIp, collectorSpanPort, config)
3642
this.initializeStatStream(collectorIp, collectorStatPort, config)
3743
this.initializePingStream()
@@ -74,27 +80,35 @@ class GrpcDataSender {
7480
}
7581
}
7682

77-
initializeClients(collectorIp, collectorTcpPort, config) {
78-
const agentBuilder = new OptionsBuilder()
83+
initializeClients() {
84+
const agentBuilder = this.agentClientOptionsBuilder()
85+
86+
if (this.config && this.config.grpcServiceConfig && typeof this.config.grpcServiceConfig.getAgent === 'function') {
87+
agentBuilder.setGrpcServiceConfig(this.config.grpcServiceConfig.getAgent())
88+
}
89+
this.agentClient = new services.AgentClient(this.collectorIp + ":" + this.collectorTcpPort, grpc.credentials.createInsecure(), agentBuilder.build())
90+
}
91+
92+
agentClientOptionsBuilder() {
93+
return new OptionsBuilder()
7994
.addInterceptor(makeAgentInformationMetadataInterceptor(this.agentInfo))
8095
.addInterceptor(socketIdInterceptor)
8196
.addInterceptor(grpcBuiltInRetryHeaderInterceptor)
97+
}
8298

83-
if (config && config.grpcServiceConfig && typeof config.grpcServiceConfig.getAgent === 'function') {
84-
agentBuilder.setGrpcServiceConfig(config.grpcServiceConfig.getAgent())
99+
initializeMetadataClients() {
100+
const metadataBuilder = this.metadataClientOptionsBuilder()
101+
102+
if (this.config && this.config.grpcServiceConfig && typeof this.config.grpcServiceConfig.getMetadata === 'function') {
103+
metadataBuilder.setGrpcServiceConfig(this.config.grpcServiceConfig.getMetadata())
85104
}
86-
this.agentClient = new services.AgentClient(collectorIp + ":" + collectorTcpPort, grpc.credentials.createInsecure(), agentBuilder.build())
105+
this.metadataClient = new services.MetadataClient(this.collectorIp + ":" + this.collectorTcpPort, grpc.credentials.createInsecure(), metadataBuilder.build())
87106
}
88107

89-
initializeMetadataClients(collectorIp, collectorTcpPort, config) {
90-
const metadataBuilder = new OptionsBuilder()
108+
metadataClientOptionsBuilder() {
109+
return new OptionsBuilder()
91110
.addInterceptor(makeAgentInformationMetadataInterceptor(this.agentInfo))
92111
.addInterceptor(grpcBuiltInRetryHeaderInterceptor)
93-
94-
if (config && config.grpcServiceConfig && typeof config.grpcServiceConfig.getMetadata === 'function') {
95-
metadataBuilder.setGrpcServiceConfig(config.grpcServiceConfig.getMetadata())
96-
}
97-
this.metadataClient = new services.MetadataClient(collectorIp + ":" + collectorTcpPort, grpc.credentials.createInsecure(), metadataBuilder.build())
98112
}
99113

100114
initializeSpanStream(collectorIp, collectorSpanPort, config) {
@@ -188,10 +202,9 @@ class GrpcDataSender {
188202
makeActiveThreadCountStream(callArguments) {
189203
this.activeThreadCountStream = new GrpcReadableStream(() => {
190204
callArguments = guardCallArguments(callArguments)
191-
const metadata = callArguments.getMetadata()
192205
let options = callArguments.getOptions()
193206
const callback = callArguments.getCallback()
194-
return this.profilerClient.commandStreamActiveThreadCount(metadata, options, (err, response) => {
207+
return this.profilerClient.commandStreamActiveThreadCount(options, (err, response) => {
195208
if (err) {
196209
log.error(err)
197210
}
@@ -213,10 +226,9 @@ class GrpcDataSender {
213226
}
214227

215228
callArguments = guardCallArguments(callArguments)
216-
const metadata = callArguments.getMetadata()
217229
let options = callArguments.getOptions()
218230
const callback = callArguments.getCallback()
219-
this.agentClient.requestAgentInfo(pAgentInfo, metadata, options, (err, response) => {
231+
this.agentClient.requestAgentInfo(pAgentInfo, options, (err, response) => {
220232
if (typeof callback === 'function') {
221233
callback(err, response)
222234
}
@@ -226,7 +238,7 @@ class GrpcDataSender {
226238
if (this.agentInfoDailyScheduler) {
227239
this.removeJobForAgentInfo = this.agentInfoDailyScheduler.addJob(() => {
228240
options = callArguments.getOptions()
229-
this.agentClient.requestAgentInfo(pAgentInfo, metadata, options, (err, response) => {
241+
this.agentClient.requestAgentInfo(pAgentInfo, options, (err, response) => {
230242
if (typeof callback === 'function') {
231243
callback(err, response)
232244
}
@@ -243,10 +255,9 @@ class GrpcDataSender {
243255
}
244256

245257
callArguments = guardCallArguments(callArguments)
246-
const metadata = callArguments.getMetadata()
247-
let options = callArguments.getOptions()
258+
const options = callArguments.getOptions()
248259
const callback = callArguments.getCallback()
249-
this.metadataClient.requestApiMetaData(pApiMetaData, metadata, options, (err, response) => {
260+
this.metadataClient.requestApiMetaData(pApiMetaData, options, (err, response) => {
250261
if (err) {
251262
log.error(err)
252263
}
@@ -263,10 +274,9 @@ class GrpcDataSender {
263274
}
264275

265276
callArguments = guardCallArguments(callArguments)
266-
const metadata = callArguments.getMetadata()
267277
let options = callArguments.getOptions()
268278
const callback = callArguments.getCallback()
269-
this.metadataClient.requestStringMetaData(pStringMetaData, metadata, options, (err, response) => {
279+
this.metadataClient.requestStringMetaData(pStringMetaData, options, (err, response) => {
270280
if (err) {
271281
log.error(err)
272282
}
@@ -282,10 +292,9 @@ class GrpcDataSender {
282292
log.debug(`sendSqlMetaInfo sqlMetaData: ${JSON.stringify(pSqlMetaData.toObject())}`)
283293
}
284294
callArguments = guardCallArguments(callArguments)
285-
const metadata = callArguments.getMetadata()
286295
let options = callArguments.getOptions()
287296
const callback = callArguments.getCallback()
288-
this.metadataClient.requestSqlMetaData(pSqlMetaData, metadata, options, (err, response) => {
297+
this.metadataClient.requestSqlMetaData(pSqlMetaData, options, (err, response) => {
289298
if (err) {
290299
log.error(err)
291300
}
@@ -301,10 +310,9 @@ class GrpcDataSender {
301310
log.debug(`sendSqlMetaInfo sqlMetaData: ${JSON.stringify(pSqlMetaData.toObject())}`)
302311
}
303312
callArguments = guardCallArguments(callArguments)
304-
const metadata = callArguments.getMetadata()
305313
let options = callArguments.getOptions()
306314
const callback = callArguments.getCallback()
307-
this.metadataClient.requestSqlUidMetaData(pSqlMetaData, metadata, options, (err, response) => {
315+
this.metadataClient.requestSqlUidMetaData(pSqlMetaData, options, (err, response) => {
308316
if (err) {
309317
log.error(err)
310318
}
@@ -370,10 +378,9 @@ class GrpcDataSender {
370378

371379
sendCommandEcho(commandEchoResponse, callArguments) {
372380
callArguments = guardCallArguments(callArguments)
373-
const metadata = callArguments.getMetadata()
374381
let options = callArguments.getOptions()
375382
const callback = callArguments.getCallback()
376-
this.profilerClient.commandEcho(commandEchoResponse, metadata, options, (err, response) => {
383+
this.profilerClient.commandEcho(commandEchoResponse, options, (err, response) => {
377384
if (err) {
378385
log.error(err)
379386
}

lib/utils/logger.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class Logger {
5656
}
5757

5858
error() {
59-
this.logger.error.apply(null, arguments)
59+
this.logger.info.apply(null, arguments)
6060
}
6161
}
6262

test/client/grpc-data-sender.test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,7 @@ test('sendSupportedServicesCommand and commandEcho', (t) => {
516516
const server = new grpc.Server()
517517
server.addService(services.ProfilerCommandServiceService, {
518518
handleCommandV2: handleCommandV2Service,
519+
handleCommand: handleCommandV2Service,
519520
commandEcho: emptyResponseService
520521
})
521522

@@ -546,6 +547,7 @@ test('CommandStreamActiveThreadCount', (t) => {
546547
const server = new grpc.Server()
547548
server.addService(services.ProfilerCommandServiceService, {
548549
handleCommandV2: handleCommandV2Service,
550+
handleCommand: handleCommandV2Service,
549551
commandEcho: emptyResponseService,
550552
commandStreamActiveThreadCount: emptyResponseService
551553
})

0 commit comments

Comments
 (0)