dd-trace
Version:
Datadog APM tracing client for JavaScript
30 lines (22 loc) • 717 B
JavaScript
const ClientPlugin = require('../../dd-trace/src/plugins/client')
class GoogleCloudPubsubClientPlugin extends ClientPlugin {
static id = 'google-cloud-pubsub'
static type = 'messaging'
static operation = 'request'
start (ctx) {
const { request, api, projectId } = ctx
if (api === 'publish') return
this.startSpan(this.operationName(), {
service: this.config.service || this.serviceName(),
resource: [api, request.name].filter(Boolean).join(' '),
kind: this.constructor.kind,
meta: {
'pubsub.method': api,
'gcloud.project_id': projectId
}
}, ctx)
return ctx.currentStore
}
}
module.exports = GoogleCloudPubsubClientPlugin