UNPKG

dd-trace

Version:

Datadog APM tracing client for JavaScript

152 lines (146 loc) 4.69 kB
'use strict' const { identityService, awsServiceV0, awsServiceSource } = require('../util') function amqpServiceName ({ tracerService }) { return `${tracerService}-amqp` } function integrationSource (source) { return () => source } const messaging = { producer: { amqplib: { opName: () => 'amqp.command', serviceName: amqpServiceName, serviceSource: integrationSource('amqp'), }, amqp10: { opName: () => 'amqp.send', serviceName: amqpServiceName, serviceSource: integrationSource('amqp'), }, 'azure-event-hubs': { opName: () => 'azure.eventhubs.send', serviceName: ({ tracerService }) => `${tracerService}-azure-event-hubs`, serviceSource: integrationSource('azure-event-hubs'), }, 'azure-service-bus': { opName: () => 'azure.servicebus.send', serviceName: ({ tracerService }) => `${tracerService}-azure-service-bus`, serviceSource: integrationSource('azure-service-bus'), }, 'electron:ipc:main:send': { opName: () => 'electron.main.send', serviceName: identityService, }, 'electron:ipc:renderer:send': { opName: () => 'electron.renderer.send', serviceName: identityService, }, 'google-cloud-pubsub': { opName: () => 'pubsub.request', serviceName: ({ tracerService }) => `${tracerService}-pubsub`, serviceSource: integrationSource('google-cloud-pubsub'), }, kafkajs: { opName: () => 'kafka.produce', serviceName: ({ tracerService }) => `${tracerService}-kafka`, serviceSource: integrationSource('kafka'), }, 'confluentinc-kafka-javascript': { opName: () => 'kafka.produce', serviceName: ({ tracerService }) => `${tracerService}-kafka`, serviceSource: integrationSource('kafka'), }, rhea: { opName: () => 'amqp.send', serviceName: ({ tracerService }) => `${tracerService}-amqp-producer`, serviceSource: integrationSource('amqp'), }, sqs: { opName: () => 'aws.request', serviceName: awsServiceV0, serviceSource: awsServiceSource, }, sns: { opName: () => 'aws.request', serviceName: awsServiceV0, serviceSource: awsServiceSource, }, bullmq: { opName: () => 'bullmq.add', serviceName: ({ tracerService }) => `${tracerService}-bullmq`, serviceSource: integrationSource('bullmq'), }, }, consumer: { amqplib: { opName: () => 'amqp.command', serviceName: amqpServiceName, serviceSource: integrationSource('amqp'), }, amqp10: { opName: () => 'amqp.receive', serviceName: amqpServiceName, serviceSource: integrationSource('amqp'), }, 'electron:ipc:main:receive': { opName: () => 'electron.main.receive', serviceName: identityService, }, 'electron:ipc:main:handle': { opName: () => 'electron.main.handle', serviceName: identityService, }, 'electron:ipc:renderer:receive': { opName: () => 'electron.renderer.receive', serviceName: identityService, }, 'google-cloud-pubsub': { opName: () => 'pubsub.receive', serviceName: ({ tracerService }) => `${tracerService}-pubsub`, serviceSource: integrationSource('google-cloud-pubsub'), }, 'google-cloud-pubsub-push-subscription': { opName: () => 'pubsub.receive', serviceName: ({ tracerService }) => `${tracerService}-pubsub`, serviceSource: integrationSource('google-cloud-pubsub'), }, kafkajs: { opName: () => 'kafka.consume', serviceName: ({ tracerService }) => `${tracerService}-kafka`, serviceSource: integrationSource('kafka'), }, 'confluentinc-kafka-javascript': { opName: () => 'kafka.consume', serviceName: ({ tracerService }) => `${tracerService}-kafka`, serviceSource: integrationSource('kafka'), }, rhea: { opName: () => 'amqp.receive', serviceName: identityService, }, sqs: { opName: () => 'aws.request', serviceName: awsServiceV0, serviceSource: awsServiceSource, }, bullmq: { opName: () => 'bullmq.processJob', serviceName: ({ tracerService }) => `${tracerService}-bullmq`, serviceSource: integrationSource('bullmq'), }, }, client: { amqplib: { opName: () => 'amqp.command', serviceName: amqpServiceName, serviceSource: integrationSource('amqp'), }, 'google-cloud-pubsub': { opName: () => 'pubsub.request', serviceName: ({ tracerService }) => `${tracerService}-pubsub`, serviceSource: integrationSource('google-cloud-pubsub'), }, }, } module.exports = messaging