diff --git a/index.d.ts b/index.d.ts
index 3d567238fd3..65f5433f903 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -23,7 +23,7 @@ interface Tracer extends opentracing.Tracer {
* @param {tracer.SpanOptions} [options] Options for the newly created span.
* @returns {Span} A new Span object.
*/
- startSpan (name: string, options?: tracer.SpanOptions): tracer.Span;
+ startSpan(name: string, options?: tracer.SpanOptions): tracer.Span;
/**
* Injects the given SpanContext instance for cross-process propagation
@@ -35,7 +35,7 @@ interface Tracer extends opentracing.Tracer {
* @param {string} format The format of the carrier.
* @param {any} carrier The carrier object.
*/
- inject (spanContext: tracer.SpanContext | tracer.Span, format: string, carrier: any): void;
+ inject(spanContext: tracer.SpanContext | tracer.Span, format: string, carrier: any): void;
/**
* Returns a SpanContext instance extracted from `carrier` in the given
@@ -46,31 +46,31 @@ interface Tracer extends opentracing.Tracer {
* The extracted SpanContext, or null if no such SpanContext could
* be found in `carrier`
*/
- extract (format: string, carrier: any): tracer.SpanContext | null;
+ extract(format: string, carrier: any): tracer.SpanContext | null;
/**
* Initializes the tracer. This should be called before importing other libraries.
*/
- init (options?: tracer.TracerOptions): this;
+ init(options?: tracer.TracerOptions): this;
/**
* Sets the URL for the trace agent. This should only be called _after_
* init() is called, only in cases where the URL needs to be set after
* initialization.
*/
- setUrl (url: string): this;
+ setUrl(url: string): this;
/**
* Enable and optionally configure a plugin.
* @param plugin The name of a built-in plugin.
* @param config Configuration options. Can also be `false` to disable the plugin.
*/
- use
(plugin: P, config?: Plugins[P] | boolean): this;
+ use
(plugin: P, config?: Plugins[P] | boolean): this;
/**
* Returns a reference to the current scope.
*/
- scope (): tracer.Scope;
+ scope(): tracer.Scope;
/**
* Instruments a function by automatically creating a span activated on its
@@ -86,9 +86,9 @@ interface Tracer extends opentracing.Tracer {
* * The function doesn't accept a callback and doesn't return a promise, in
* which case the span will finish at the end of the function execution.
*/
- trace (name: string, fn: (span: tracer.Span) => T): T;
- trace (name: string, fn: (span: tracer.Span, done: (error?: Error) => void) => T): T;
- trace (name: string, options: tracer.TraceOptions & tracer.SpanOptions, fn: (span?: tracer.Span, done?: (error?: Error) => void) => T): T;
+ trace(name: string, fn: (span: tracer.Span) => T): T;
+ trace(name: string, fn: (span: tracer.Span, done: (error?: Error) => void) => T): T;
+ trace(name: string, options: tracer.TraceOptions & tracer.SpanOptions, fn: (span?: tracer.Span, done?: (error?: Error) => void) => T): T;
/**
* Wrap a function to automatically create a span activated on its
@@ -104,9 +104,9 @@ interface Tracer extends opentracing.Tracer {
* * The function doesn't accept a callback and doesn't return a promise, in
* which case the span will finish at the end of the function execution.
*/
- wrap any> (name: string, fn: T): T;
- wrap any> (name: string, options: tracer.TraceOptions & tracer.SpanOptions, fn: T): T;
- wrap any> (name: string, options: (...args: any[]) => tracer.TraceOptions & tracer.SpanOptions, fn: T): T;
+ wrap any>(name: string, fn: T): T;
+ wrap any>(name: string, options: tracer.TraceOptions & tracer.SpanOptions, fn: T): T;
+ wrap any>(name: string, options: (...args: any[]) => tracer.TraceOptions & tracer.SpanOptions, fn: T): T;
/**
* Returns an HTML string containing tags that should be included in
@@ -119,14 +119,14 @@ interface Tracer extends opentracing.Tracer {
* Note that this feature is currently not supported by the backend and
* using it will have no effect.
*/
- getRumData (): string;
+ getRumData(): string;
/**
* Links an authenticated user to the current trace.
* @param {User} user Properties of the authenticated user. Accepts custom fields.
* @returns {Tracer} The Tracer instance for chaining.
*/
- setUser (user: tracer.User): Tracer;
+ setUser(user: tracer.User): Tracer;
appsec: tracer.Appsec;
@@ -177,7 +177,7 @@ interface Tracer extends opentracing.Tracer {
*
* Work with storage('baggage'), therefore do not follow the same continuity as other APIs.
*/
- setBaggageItem (key: string, value: string, metadata?: object): Record;
+ setBaggageItem(key: string, value: string, metadata?: object): Record;
/**
* @experimental
*
@@ -185,7 +185,7 @@ interface Tracer extends opentracing.Tracer {
*
* @see https://opentelemetry.io/docs/specs/otel/baggage/api/#get-value
*/
- getBaggageItem (key: string): string | undefined;
+ getBaggageItem(key: string): string | undefined;
/**
* @experimental
*
@@ -193,7 +193,7 @@ interface Tracer extends opentracing.Tracer {
*
* @see https://opentelemetry.io/docs/specs/otel/baggage/api/#get-all-values
*/
- getAllBaggageItems (): Record;
+ getAllBaggageItems(): Record;
/**
* @experimental
*
@@ -201,7 +201,7 @@ interface Tracer extends opentracing.Tracer {
*
* @see https://opentelemetry.io/docs/specs/otel/baggage/api/#remove-value
*/
- removeBaggageItem (key: string): Record;
+ removeBaggageItem(key: string): Record;
/**
* @experimental
@@ -210,7 +210,7 @@ interface Tracer extends opentracing.Tracer {
*
* @see https://opentelemetry.io/docs/specs/otel/baggage/api/#remove-all-values
*/
- removeAllBaggageItems (): Record;
+ removeAllBaggageItems(): Record;
}
// left out of the namespace, so it
@@ -225,6 +225,7 @@ interface Plugins {
"apollo": tracer.plugins.apollo;
"avsc": tracer.plugins.avsc;
"aws-sdk": tracer.plugins.aws_sdk;
+ "azure-cosmos": tracer.plugins.azure_cosmos;
"azure-event-hubs": tracer.plugins.azure_event_hubs;
"azure-functions": tracer.plugins.azure_functions;
"azure-service-bus": tracer.plugins.azure_service_bus;
@@ -299,11 +300,11 @@ interface Plugins {
declare namespace tracer {
export type SpanOptions = Omit & {
- /**
- * Set childOf to 'null' to create a root span without a parent, even when a parent span
- * exists in the current async context. If 'undefined' the parent will be inferred from the
- * existing async context.
- */
+ /**
+ * Set childOf to 'null' to create a root span without a parent, even when a parent span
+ * exists in the current async context. If 'undefined' the parent will be inferred from the
+ * existing async context.
+ */
childOf?: opentracing.Span | opentracing.SpanContext | null;
/**
* Optional name of the integration that crated this span.
@@ -344,7 +345,7 @@ declare namespace tracer {
* have children.
*/
export interface Span extends opentracing.Span {
- context (): SpanContext;
+ context(): SpanContext;
/**
* Causally links another span to the current span
@@ -355,7 +356,7 @@ declare namespace tracer {
* @param {Object} attributes An optional key value pair of arbitrary values.
* @returns {void}
*/
- addLink (context: SpanContext, attributes?: Object): void;
+ addLink(context: SpanContext, attributes?: Object): void;
/**
* Adds a single link to the span.
@@ -365,7 +366,7 @@ declare namespace tracer {
*
* @param link the link to add.
*/
- addLink (link: { context: SpanContext, attributes?: Object }): void;
+ addLink(link: { context: SpanContext, attributes?: Object }): void;
/**
* Adds multiple links to the span.
@@ -375,7 +376,7 @@ declare namespace tracer {
*
* @param links the links to add.
*/
- addLinks (links: { context: SpanContext, attributes?: Object }[]): void;
+ addLinks(links: { context: SpanContext, attributes?: Object }[]): void;
}
/**
@@ -392,17 +393,17 @@ declare namespace tracer {
/**
* Returns the string representation of the internal trace ID.
*/
- toTraceId (): string;
+ toTraceId(): string;
/**
* Returns the string representation of the internal span ID.
*/
- toSpanId (): string;
+ toSpanId(): string;
/**
* Returns the string representation used for DBM integration.
*/
- toTraceparent (): string;
+ toTraceparent(): string;
}
/**
@@ -644,22 +645,22 @@ declare namespace tracer {
*/
runtimeMetrics?: boolean | {
- /**
- * @env DD_RUNTIME_METRICS_ENABLED
- * Programmatic configuration takes precedence over the environment variables listed above.
- */
+ /**
+ * @env DD_RUNTIME_METRICS_ENABLED
+ * Programmatic configuration takes precedence over the environment variables listed above.
+ */
enabled?: boolean,
- /**
- * @env DD_RUNTIME_METRICS_GC_ENABLED
- * Programmatic configuration takes precedence over the environment variables listed above.
- */
+ /**
+ * @env DD_RUNTIME_METRICS_GC_ENABLED
+ * Programmatic configuration takes precedence over the environment variables listed above.
+ */
gc?: boolean,
- /**
- * @env DD_RUNTIME_METRICS_EVENT_LOOP_ENABLED
- * Programmatic configuration takes precedence over the environment variables listed above.
- */
+ /**
+ * @env DD_RUNTIME_METRICS_EVENT_LOOP_ENABLED
+ * Programmatic configuration takes precedence over the environment variables listed above.
+ */
eventLoop?: boolean
}
@@ -1017,9 +1018,9 @@ declare namespace tracer {
* Programmatic configuration takes precedence over the environment variables listed above.
*/
mode?:
- 'anonymous' | 'anon' | 'safe' |
- 'identification' | 'ident' | 'extended' |
- 'disabled'
+ 'anonymous' | 'anon' | 'safe' |
+ 'identification' | 'ident' | 'extended' |
+ 'disabled'
},
/**
* Configuration for Api Security
@@ -1463,7 +1464,7 @@ declare namespace tracer {
* @param value The amount to increment the stat by.
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
*/
- increment(stat: string, value?: number, tags?: Record | string[]): void
+ increment(stat: string, value?: number, tags?: Record | string[]): void
/**
* Decrements a metric by the specified value, optionally specifying tags.
@@ -1471,7 +1472,7 @@ declare namespace tracer {
* @param value The amount to decrement the stat by.
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
*/
- decrement(stat: string, value?: number, tags?: Record | string[]): void
+ decrement(stat: string, value?: number, tags?: Record | string[]): void
/**
* Sets a distribution value, optionally specifying tags.
@@ -1479,7 +1480,7 @@ declare namespace tracer {
* @param value The amount to increment the stat by.
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
*/
- distribution(stat: string, value?: number, tags?: Record | string[]): void
+ distribution(stat: string, value?: number, tags?: Record | string[]): void
/**
* Sets a gauge value, optionally specifying tags.
@@ -1487,7 +1488,7 @@ declare namespace tracer {
* @param value The amount to increment the stat by.
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
*/
- gauge(stat: string, value?: number, tags?: Record | string[]): void
+ gauge(stat: string, value?: number, tags?: Record | string[]): void
/**
* Sets a histogram value, optionally specifying tags.
@@ -1495,7 +1496,7 @@ declare namespace tracer {
* @param value The amount to increment the stat by.
* @param tags Tags to pass along, such as `{ foo: 'bar' }`. Values are combined with config.tags.
*/
- histogram(stat: string, value?: number, tags?: Record | string[]): void
+ histogram(stat: string, value?: number, tags?: Record | string[]): void
/**
* Forces any unsent metrics to be sent
@@ -1515,7 +1516,7 @@ declare namespace tracer {
* @param target The target of data (topic, exchange, stream name).
* @param carrier The carrier object to inject DSM context into.
*/
- setProduceCheckpoint (type: string, target: string, carrier: any): void;
+ setProduceCheckpoint(type: string, target: string, carrier: any): void;
/**
* Sets a consume checkpoint and extracts DSM context from the provided carrier.
@@ -1525,7 +1526,7 @@ declare namespace tracer {
* @param manualCheckpoint Whether this checkpoint was manually set. Defaults to true.
* @returns The DSM context associated with the current pathway.
*/
- setConsumeCheckpoint (type: string, source: string, carrier: any, manualCheckpoint?: boolean): any;
+ setConsumeCheckpoint(type: string, source: string, carrier: any, manualCheckpoint?: boolean): any;
/**
* Records a transaction ID at a named checkpoint without pathway propagation.
@@ -1647,7 +1648,7 @@ declare namespace tracer {
/**
* Metadata about this provider.
*/
- metadata: { name: string; [key: string]: any };
+ metadata: { name: string;[key: string]: any };
/**
* Resolves a boolean flag value.
@@ -1658,7 +1659,7 @@ declare namespace tracer {
* @param logger Optional logger instance
* @returns Promise resolving to evaluation result with value and reason
*/
- resolveBooleanEvaluation(flagKey: string, defaultValue: boolean, context: object, logger: object): Promise<{ value: boolean; reason?: string; [key: string]: any }>;
+ resolveBooleanEvaluation(flagKey: string, defaultValue: boolean, context: object, logger: object): Promise<{ value: boolean; reason?: string;[key: string]: any }>;
/**
* Resolves a string flag value.
@@ -1669,7 +1670,7 @@ declare namespace tracer {
* @param logger Optional logger instance
* @returns Promise resolving to evaluation result with value and reason
*/
- resolveStringEvaluation(flagKey: string, defaultValue: string, context: object, logger: object): Promise<{ value: string; reason?: string; [key: string]: any }>;
+ resolveStringEvaluation(flagKey: string, defaultValue: string, context: object, logger: object): Promise<{ value: string; reason?: string;[key: string]: any }>;
/**
* Resolves a number flag value.
@@ -1680,7 +1681,7 @@ declare namespace tracer {
* @param logger Optional logger instance
* @returns Promise resolving to evaluation result with value and reason
*/
- resolveNumberEvaluation(flagKey: string, defaultValue: number, context: object, logger: object): Promise<{ value: number; reason?: string; [key: string]: any }>;
+ resolveNumberEvaluation(flagKey: string, defaultValue: number, context: object, logger: object): Promise<{ value: number; reason?: string;[key: string]: any }>;
/**
* Resolves an object flag value.
@@ -1691,7 +1692,7 @@ declare namespace tracer {
* @param logger Optional logger instance
* @returns Promise resolving to evaluation result with value and reason
*/
- resolveObjectEvaluation(flagKey: string, defaultValue: T, context: object, logger: object): Promise<{ value: T; reason?: string; [key: string]: any }>;
+ resolveObjectEvaluation(flagKey: string, defaultValue: T, context: object, logger: object): Promise<{ value: T; reason?: string;[key: string]: any }>;
}
export namespace aiguard {
@@ -1870,7 +1871,7 @@ declare namespace tracer {
* The promise rejects with AIGuardAbortError when `opts.block` is true and the evaluation result would block the request.
* The promise rejects with AIGuardClientError when communication with the AI Guard service fails.
*/
- evaluate (messages: Message[], opts?: { block?: boolean }): Promise;
+ evaluate(messages: Message[], opts?: { block?: boolean }): Promise;
}
}
@@ -1897,7 +1898,7 @@ declare namespace tracer {
*
* @returns {Span} The active span.
*/
- active (): Span | null;
+ active(): Span | null;
/**
* Activate a span in the scope of a function.
@@ -1906,7 +1907,7 @@ declare namespace tracer {
* @param {Function} fn Function that will have the span activated on its scope.
* @returns The return value of the provided function.
*/
- activate (span: Span, fn: ((...args: any[]) => T)): T;
+ activate(span: Span, fn: ((...args: any[]) => T)): T;
/**
* Binds a target to the provided span, or the active span if omitted.
@@ -1915,9 +1916,9 @@ declare namespace tracer {
* @param {Span} [span=scope.active()] The span to activate.
* @returns The bound target.
*/
- bind void> (fn: T, span?: Span | null): T;
- bind V> (fn: T, span?: Span | null): T;
- bind (fn: Promise, span?: Span | null): Promise;
+ bind void>(fn: T, span?: Span | null): T;
+ bind V>(fn: T, span?: Span | null): T;
+ bind(fn: Promise, span?: Span | null): Promise;
}
/** @hidden */
@@ -1944,7 +1945,7 @@ declare namespace tracer {
}
/** @hidden */
- interface Instrumentation extends Integration, Analyzable {}
+ interface Instrumentation extends Integration, Analyzable { }
/** @hidden */
interface Http extends Instrumentation {
@@ -2166,43 +2167,43 @@ declare namespace tracer {
}
/** @hidden */
- interface Prisma extends Instrumentation {}
+ interface Prisma extends Instrumentation { }
/** @hidden */
- interface PrismaClient extends Prisma {}
+ interface PrismaClient extends Prisma { }
/** @hidden */
- interface PrismaEngine extends Prisma {}
+ interface PrismaEngine extends Prisma { }
/**
* This plugin automatically instruments the
* [aerospike](https://github.com/aerospike/aerospike-client-nodejs) for module versions >= v3.16.2.
*/
- interface aerospike extends Instrumentation {}
+ interface aerospike extends Instrumentation { }
/**
* This plugin automatically instruments the
* [Vercel AI SDK](https://ai-sdk.dev/docs/introduction) module.
*/
- interface ai extends Instrumentation {}
+ interface ai extends Instrumentation { }
/**
* This plugin automatically instruments the
* [amqp10](https://github.com/noodlefrenzy/node-amqp10) module.
*/
- interface amqp10 extends Instrumentation {}
+ interface amqp10 extends Instrumentation { }
/**
* This plugin automatically instruments the
* [amqplib](https://github.com/squaremo/amqp.node) module.
*/
- interface amqplib extends Instrumentation {}
+ interface amqplib extends Instrumentation { }
/**
* This plugin automatically instruments the
* [anthropic](https://www.npmjs.com/package/@anthropic-ai/sdk) module.
*/
- interface anthropic extends Instrumentation {}
+ interface anthropic extends Instrumentation { }
/**
* Currently this plugin automatically instruments
@@ -2251,7 +2252,7 @@ declare namespace tracer {
* This plugin automatically patches the [avsc](https://github.com/mtth/avsc) module
* to collect avro message schemas when Datastreams Monitoring is enabled.
*/
- interface avsc extends Integration {}
+ interface avsc extends Integration { }
/**
* This plugin automatically instruments the
@@ -2285,11 +2286,17 @@ declare namespace tracer {
[key: string]: boolean | Object | undefined;
}
+ /**
+ * This plugin automatically instruments the
+ * @azure/cosmos module
+ */
+ interface azure_cosmos extends Integration { }
+
/**
* This plugin automatically instruments the
* @azure/event-hubs module
*/
- interface azure_event_hubs extends Integration {}
+ interface azure_event_hubs extends Integration { }
/**
* This plugin automatically instruments the
@@ -2306,13 +2313,13 @@ declare namespace tracer {
* This plugin automatically instruments the
* @azure/service-bus module
*/
- interface azure_service_bus extends Integration {}
+ interface azure_service_bus extends Integration { }
/**
* This plugin automatically instruments the
* durable-functions module
*/
- interface azure_durable_functions extends Integration {}
+ interface azure_durable_functions extends Integration { }
/**
* This plugin patches the [bunyan](https://github.com/trentm/node-bunyan)
@@ -2324,57 +2331,57 @@ declare namespace tracer {
* This plugin automatically instruments the
* [bullmq](https://github.com/npmjs/package/bullmq) message queue library.
*/
- interface bullmq extends Instrumentation {}
+ interface bullmq extends Instrumentation { }
- interface bunyan extends Integration {}
+ interface bunyan extends Integration { }
/**
* This plugin automatically instruments the
* [cassandra-driver](https://github.com/datastax/nodejs-driver) module.
*/
- interface cassandra_driver extends Instrumentation {}
+ interface cassandra_driver extends Instrumentation { }
/**
* This plugin automatically instruments the
* [child_process](https://nodejs.org/api/child_process.html) module.
*/
- interface child_process extends Instrumentation {}
+ interface child_process extends Instrumentation { }
/**
* This plugin automatically instruments the
* [confluentinc-kafka-javascript](https://github.com/confluentinc/confluent-kafka-js) module.
*/
- interface confluentinc_kafka_javascript extends Instrumentation {}
+ interface confluentinc_kafka_javascript extends Instrumentation { }
/**
* This plugin automatically instruments the
* [connect](https://github.com/senchalabs/connect) module.
*/
- interface connect extends HttpServer {}
+ interface connect extends HttpServer { }
/**
* This plugin automatically instruments the
* [couchbase](https://www.npmjs.com/package/couchbase) module.
*/
- interface couchbase extends Instrumentation {}
+ interface couchbase extends Instrumentation { }
/**
* This plugin automatically instruments the
* [cucumber](https://www.npmjs.com/package/@cucumber/cucumber) module.
*/
- interface cucumber extends Integration {}
+ interface cucumber extends Integration { }
/**
* This plugin automatically instruments the
* [cypress](https://github.com/cypress-io/cypress) module.
*/
- interface cypress extends Integration {}
+ interface cypress extends Integration { }
/**
* This plugin automatically instruments the
* [dns](https://nodejs.org/api/dns.html) module.
*/
- interface dns extends Instrumentation {}
+ interface dns extends Instrumentation { }
/**
* This plugin automatically instruments the
@@ -2396,64 +2403,64 @@ declare namespace tracer {
* This plugin automatically instruments the
* [express](http://expressjs.com/) module.
*/
- interface express extends HttpServer {}
+ interface express extends HttpServer { }
/**
* This plugin automatically instruments the
* [fastify](https://www.fastify.io/) module.
*/
- interface fastify extends HttpServer {}
+ interface fastify extends HttpServer { }
/**
* This plugin automatically instruments the
* [fetch](https://nodejs.org/api/globals.html#fetch) global.
*/
- interface fetch extends HttpClient {}
+ interface fetch extends HttpClient { }
/**
* This plugin patches the [find-my-way](https://github.com/delvedor/find-my-way) router.
*/
- interface find_my_way extends Integration {}
+ interface find_my_way extends Integration { }
/**
* This plugin automatically instruments Node.js core fs operations.
*/
- interface fs extends Instrumentation {}
+ interface fs extends Instrumentation { }
/**
* This plugin patches the [generic-pool](https://github.com/coopernurse/node-pool)
* module to bind the callbacks the the caller context.
*/
- interface generic_pool extends Integration {}
+ interface generic_pool extends Integration { }
/**
* This plugin automatically instruments the
* [@google-cloud/pubsub](https://github.com/googleapis/nodejs-pubsub) module.
*/
- interface google_cloud_pubsub extends Integration {}
+ interface google_cloud_pubsub extends Integration { }
/**
* This plugin automatically instruments the
* [@google-cloud/vertexai](https://github.com/googleapis/nodejs-vertexai) module.
*/
- interface google_cloud_vertexai extends Integration {}
+ interface google_cloud_vertexai extends Integration { }
- /**
- * This plugin automatically instruments the
- * [@google-genai](https://github.com/googleapis/js-genai) module.
- */
- interface google_genai extends Integration {}
+ /**
+ * This plugin automatically instruments the
+ * [@google-genai](https://github.com/googleapis/js-genai) module.
+ */
+ interface google_genai extends Integration { }
- /** @hidden */
- interface ExecutionArgs {
- schema: any,
- document: any,
- rootValue?: any,
- contextValue?: any,
- variableValues?: any,
- operationName?: string,
- fieldResolver?: any,
- typeResolver?: any,
+ /** @hidden */
+ interface ExecutionArgs {
+ schema: any,
+ document: any,
+ rootValue?: any,
+ contextValue?: any,
+ variableValues?: any,
+ operationName?: string,
+ fieldResolver?: any,
+ typeResolver?: any,
}
/**
@@ -2557,13 +2564,13 @@ declare namespace tracer {
* This plugin automatically instruments the
* [hapi](https://hapijs.com/) module.
*/
- interface hapi extends HttpServer {}
+ interface hapi extends HttpServer { }
/**
* This plugin automatically instruments the
* [hono](https://hono.dev/) module.
*/
- interface hono extends HttpServer {}
+ interface hono extends HttpServer { }
/**
* This plugin automatically instruments the
@@ -2737,67 +2744,67 @@ declare namespace tracer {
* This plugin automatically instruments the
* [jest](https://github.com/jestjs/jest) module.
*/
- interface jest extends Integration {}
+ interface jest extends Integration { }
/**
* This plugin patches the [knex](https://knexjs.org/)
* module to bind the promise callback the the caller context.
*/
- interface knex extends Integration {}
+ interface knex extends Integration { }
/**
* This plugin automatically instruments the
* [koa](https://koajs.com/) module.
*/
- interface koa extends HttpServer {}
+ interface koa extends HttpServer { }
/**
* This plugin automatically instruments the
* [kafkajs](https://kafka.js.org/) module.
*/
- interface kafkajs extends Instrumentation {}
+ interface kafkajs extends Instrumentation { }
/**
* This plugin automatically instruments the
* [langchain](https://js.langchain.com/) module
*/
- interface langchain extends Instrumentation {}
+ interface langchain extends Instrumentation { }
/**
* This plugin automatically instruments the
* [langgraph](https://github.com/npmjs/package/langgraph) library.
*/
- interface langgraph extends Instrumentation {}
+ interface langgraph extends Instrumentation { }
- /**
- * This plugin automatically instruments the
- * [ldapjs](https://github.com/ldapjs/node-ldapjs/) module.
- */
- interface ldapjs extends Instrumentation {}
+ /**
+ * This plugin automatically instruments the
+ * [ldapjs](https://github.com/ldapjs/node-ldapjs/) module.
+ */
+ interface ldapjs extends Instrumentation { }
/**
* This plugin automatically instruments the
* [mariadb](https://github.com/mariadb-corporation/mariadb-connector-nodejs) module.
*/
- interface mariadb extends mysql {}
+ interface mariadb extends mysql { }
/**
* This plugin automatically instruments the
* [memcached](https://github.com/3rd-Eden/memcached) module.
*/
- interface memcached extends Instrumentation {}
+ interface memcached extends Instrumentation { }
/**
* This plugin automatically instruments the
* [microgateway-core](https://github.com/apigee/microgateway-core) module.
*/
- interface microgateway_core extends HttpServer {}
+ interface microgateway_core extends HttpServer { }
/**
* This plugin automatically instruments the
* [mocha](https://mochajs.org/) module.
*/
- interface mocha extends Integration {}
+ interface mocha extends Integration { }
/**
* This plugin automatically instruments the
@@ -2839,7 +2846,7 @@ declare namespace tracer {
* This plugin automatically instruments the
* [mongoose](https://mongoosejs.com/) module.
*/
- interface mongoose extends Instrumentation {}
+ interface mongoose extends Instrumentation { }
/**
* This plugin automatically instruments the
@@ -2853,13 +2860,13 @@ declare namespace tracer {
* This plugin automatically instruments the
* [mysql2](https://github.com/sidorares/node-mysql2) module.
*/
- interface mysql2 extends mysql {}
+ interface mysql2 extends mysql { }
/**
* This plugin automatically instruments the
* [net](https://nodejs.org/api/net.html) module.
*/
- interface net extends Instrumentation {}
+ interface net extends Instrumentation { }
/**
* This plugin automatically instruments the
@@ -2880,7 +2887,7 @@ declare namespace tracer {
/**
* This plugin integrates with [nyc](https://github.com/istanbuljs/nyc) for CI visibility.
*/
- interface nyc extends Integration {}
+ interface nyc extends Integration { }
/**
* This plugin automatically instruments the
@@ -2895,13 +2902,13 @@ declare namespace tracer {
* [DogStatsD](https://docs.datadoghq.com/developers/dogstatsd/?tab=hostagent#setup)
* in the agent.
*/
- interface openai extends Instrumentation {}
+ interface openai extends Instrumentation { }
/**
* This plugin automatically instruments the
* [opensearch](https://github.com/opensearch-project/opensearch-js) module.
*/
- interface opensearch extends elasticsearch {}
+ interface opensearch extends elasticsearch { }
/**
* This plugin automatically instruments the
@@ -2918,7 +2925,7 @@ declare namespace tracer {
* This plugin automatically instruments the
* [playwright](https://github.com/microsoft/playwright) module.
*/
- interface playwright extends Integration {}
+ interface playwright extends Integration { }
/**
* This plugin automatically instruments the
@@ -2945,7 +2952,7 @@ declare namespace tracer {
* [logInjection](interfaces/traceroptions.html#logInjection) option is enabled
* on the tracer.
*/
- interface pino extends Integration {}
+ interface pino extends Integration { }
/**
* This plugin automatically instruments the
@@ -2967,7 +2974,7 @@ declare namespace tracer {
* This plugin automatically patches the [protobufjs](https://protobufjs.github.io/protobuf.js/)
* to collect protobuf message schemas when Datastreams Monitoring is enabled.
*/
- interface protobufjs extends Integration {}
+ interface protobufjs extends Integration { }
/**
* This plugin automatically instruments the
@@ -3020,25 +3027,25 @@ declare namespace tracer {
* This plugin automatically instruments the
* [restify](http://restify.com/) module.
*/
- interface restify extends HttpServer {}
+ interface restify extends HttpServer { }
/**
* This plugin automatically instruments the
* [rhea](https://github.com/amqp/rhea) module.
*/
- interface rhea extends Instrumentation {}
+ interface rhea extends Instrumentation { }
/**
* This plugin automatically instruments the
* [router](https://github.com/pillarjs/router) module.
*/
- interface router extends Integration {}
+ interface router extends Integration { }
/**
* This plugin automatically instruments the
* [selenium-webdriver](https://www.npmjs.com/package/selenium-webdriver) module.
*/
- interface selenium extends Integration {}
+ interface selenium extends Integration { }
/**
* This plugin automatically instruments the
@@ -3065,24 +3072,24 @@ declare namespace tracer {
* This plugin automatically instruments the
* [tedious](https://github.com/tediousjs/tedious/) module.
*/
- interface tedious extends Instrumentation {}
+ interface tedious extends Instrumentation { }
/**
* This plugin automatically instruments the
* [undici](https://github.com/nodejs/undici) module.
*/
- interface undici extends HttpClient {}
+ interface undici extends HttpClient { }
/**
* This plugin automatically instruments the
* [vitest](https://github.com/vitest-dev/vitest) module.
*/
- interface vitest extends Integration {}
+ interface vitest extends Integration { }
/**
* This plugin implements shared web request instrumentation helpers.
*/
- interface web extends HttpServer {}
+ interface web extends HttpServer { }
/**
* This plugin patches the [winston](https://github.com/winstonjs/winston)
@@ -3090,7 +3097,7 @@ declare namespace tracer {
* [logInjection](interfaces/traceroptions.html#logInjection) option is enabled
* on the tracer.
*/
- interface winston extends Integration {}
+ interface winston extends Integration { }
/**
* This plugin automatically instruments the
@@ -3519,12 +3526,12 @@ declare namespace tracer {
/**
* Enable LLM Observability tracing.
*/
- enable (options: LLMObsEnableOptions): void,
+ enable(options: LLMObsEnableOptions): void,
/**
* Disable LLM Observability tracing.
*/
- disable (): void,
+ disable(): void,
/**
* Instruments a function by automatically creating a span activated on its
@@ -3543,7 +3550,7 @@ declare namespace tracer {
* @param options Optional LLM Observability span options.
* @returns The return value of the function.
*/
- trace (options: LLMObsNamedSpanOptions, fn: (span: tracer.Span, done: (error?: Error) => void) => T): T
+ trace(options: LLMObsNamedSpanOptions, fn: (span: tracer.Span, done: (error?: Error) => void) => T): T
/**
* Wrap a function to automatically create a span activated on its
@@ -3562,7 +3569,7 @@ declare namespace tracer {
* @param options Optional LLM Observability span options.
* @returns A new function that wraps the provided function with span creation.
*/
- wrap any> (options: LLMObsNamelessSpanOptions, fn: T): T
+ wrap any>(options: LLMObsNamelessSpanOptions, fn: T): T
/**
* Decorate a function in a javascript runtime that supports function decorators.
@@ -3573,7 +3580,7 @@ declare namespace tracer {
*
* @param options Optional LLM Observability span options.
*/
- decorate (options: llmobs.LLMObsNamelessSpanOptions): any
+ decorate(options: llmobs.LLMObsNamelessSpanOptions): any
/**
* Returns a representation of a span to export its span and trace IDs.
@@ -3581,7 +3588,7 @@ declare namespace tracer {
* @param span Optional span to export.
* @returns An object containing the span and trace IDs.
*/
- exportSpan (span?: tracer.Span): llmobs.ExportedLLMObsSpan
+ exportSpan(span?: tracer.Span): llmobs.ExportedLLMObsSpan
/**
@@ -3604,8 +3611,8 @@ declare namespace tracer {
* @param span The span to annotate (defaults to the current LLM Observability span if not provided)
* @param options An object containing the inputs, outputs, tags, metadata, and metrics to set on the span.
*/
- annotate (options: llmobs.AnnotationOptions): void
- annotate (span: tracer.Span | undefined, options: llmobs.AnnotationOptions): void
+ annotate(options: llmobs.AnnotationOptions): void
+ annotate(span: tracer.Span | undefined, options: llmobs.AnnotationOptions): void
/**
* Register a processor to be called on each LLMObs span.
@@ -3619,19 +3626,19 @@ declare namespace tracer {
* @param processor A function that will be called for each span.
* @throws {Error} If a processor is already registered.
*/
- registerProcessor (processor: ((span: LLMObservabilitySpan) => LLMObservabilitySpan | null)): void
+ registerProcessor(processor: ((span: LLMObservabilitySpan) => LLMObservabilitySpan | null)): void
/**
* Deregister a processor.
*/
- deregisterProcessor (): void
+ deregisterProcessor(): void
/**
* Submits a custom evaluation metric for a given span ID and trace ID.
* @param spanContext The span context of the span to submit the evaluation metric for.
* @param options An object containing the label, metric type, value, and tags of the evaluation metric.
*/
- submitEvaluation (spanContext: llmobs.ExportedLLMObsSpan, options: llmobs.EvaluationOptions): void
+ submitEvaluation(spanContext: llmobs.ExportedLLMObsSpan, options: llmobs.EvaluationOptions): void
/**
@@ -3640,7 +3647,7 @@ declare namespace tracer {
* @param fn The callback over which to apply the annotation context options.
* @returns The result of the function.
*/
- annotationContext (options: llmobs.AnnotationContextOptions, fn: () => T): T
+ annotationContext(options: llmobs.AnnotationContextOptions, fn: () => T): T
/**
* Execute a function within a routing context, directing all LLMObs spans to a specific Datadog organization.
@@ -3648,12 +3655,12 @@ declare namespace tracer {
* @param fn The callback over which to apply the routing context.
* @returns The result of the function.
*/
- routingContext (options: llmobs.RoutingContextOptions, fn: () => T): T
+ routingContext(options: llmobs.RoutingContextOptions, fn: () => T): T
/**
* Flushes any remaining spans and evaluation metrics to LLM Observability.
*/
- flush (): void
+ flush(): void
}
interface LLMObservabilitySpan {
@@ -3672,7 +3679,7 @@ declare namespace tracer {
* @param key The key of the tag to get.
* @returns The value of the tag, or `undefined` if the tag does not exist.
*/
- getTag (key: string): string | undefined
+ getTag(key: string): string | undefined
}
interface EvaluationOptions {
diff --git a/packages/datadog-instrumentations/src/azure-cosmos.js b/packages/datadog-instrumentations/src/azure-cosmos.js
new file mode 100644
index 00000000000..291b97e1176
--- /dev/null
+++ b/packages/datadog-instrumentations/src/azure-cosmos.js
@@ -0,0 +1,7 @@
+'use strict'
+
+const { addHook, getHooks } = require('./helpers/instrument')
+
+for (const hook of getHooks('@azure/cosmos')) {
+ addHook(hook, exports => exports)
+}
diff --git a/packages/datadog-instrumentations/src/helpers/hooks.js b/packages/datadog-instrumentations/src/helpers/hooks.js
index 3d83b13e406..ad1ea702103 100644
--- a/packages/datadog-instrumentations/src/helpers/hooks.js
+++ b/packages/datadog-instrumentations/src/helpers/hooks.js
@@ -7,6 +7,7 @@ module.exports = {
'@langchain/langgraph': { esmFirst: true, fn: () => require('../langgraph') },
'apollo-server-core': () => require('../apollo-server-core'),
'@aws-sdk/smithy-client': () => require('../aws-sdk'),
+ '@azure/cosmos': () => require('../azure-cosmos'),
'@azure/event-hubs': () => require('../azure-event-hubs'),
'@azure/functions': () => require('../azure-functions'),
'durable-functions': () => require('../azure-durable-functions'),
diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/azure-cosmos.js b/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/azure-cosmos.js
new file mode 100644
index 00000000000..aba16947d9c
--- /dev/null
+++ b/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/azure-cosmos.js
@@ -0,0 +1,48 @@
+module.exports = [{
+ module: {
+ name: '@azure/cosmos',
+ versionRange: '>=4.4.0',
+ filePath: 'dist/browser/plugins/Plugin.js' // file containing the target method
+ },
+ functionQuery: {
+ functionName: 'executePlugins',
+ kind: 'Async' // Async | Callback | Sync
+ },
+ channelName: 'executePlugins'
+},
+{
+ module: {
+ name: '@azure/cosmos',
+ versionRange: '>=4.4.0',
+ filePath: 'dist/commonjs/plugins/Plugin.js' // file containing the target method
+ },
+ functionQuery: {
+ functionName: 'executePlugins',
+ kind: 'Async' // Async | Callback | Sync
+ },
+ channelName: 'executePlugins'
+},
+{
+ module: {
+ name: '@azure/cosmos',
+ versionRange: '>=4.4.0',
+ filePath: 'dist/esm/plugins/Plugin.js' // file containing the target method
+ },
+ functionQuery: {
+ functionName: 'executePlugins',
+ kind: 'Async' // Async | Callback | Sync
+ },
+ channelName: 'executePlugins'
+},
+{
+ module: {
+ name: '@azure/cosmos',
+ versionRange: '>=4.4.0',
+ filePath: 'dist/react-native/plugins/Plugin.js' // file containing the target method
+ },
+ functionQuery: {
+ functionName: 'executePlugins',
+ kind: 'Async' // Async | Callback | Sync
+ },
+ channelName: 'executePlugins'
+}]
diff --git a/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js b/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js
index 28b13f15191..f52be1e442c 100644
--- a/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js
+++ b/packages/datadog-instrumentations/src/helpers/rewriter/instrumentations/index.js
@@ -2,6 +2,7 @@
module.exports = [
...require('./ai'),
+ ...require('./azure-cosmos'),
...require('./bullmq'),
...require('./langchain'),
...require('./langgraph'),
diff --git a/packages/datadog-plugin-azure-cosmos/src/index.js b/packages/datadog-plugin-azure-cosmos/src/index.js
new file mode 100644
index 00000000000..1063ce8aca7
--- /dev/null
+++ b/packages/datadog-plugin-azure-cosmos/src/index.js
@@ -0,0 +1,158 @@
+'use strict'
+
+const { storage } = require('../../datadog-core')
+const log = require('../../dd-trace/src/log')
+
+const DatabasePlugin = require('../../dd-trace/src/plugins/database')
+
+class AzureCosmosPlugin extends DatabasePlugin {
+ static id = 'azure-cosmos'
+ // Channel prefix determines how the plugin subscribes to instrumentation events.
+ // Three patterns exist — set `static prefix` explicitly based on instrumentation type:
+ //
+ // Orchestrion: static prefix = 'tracing:orchestrion::'
+ // Shimmer + tracingChannel: static prefix = 'tracing:apm::'
+ // Shimmer + manual channels: omit prefix — defaults to `apm:${id}:${operation}`
+ static prefix = 'tracing:orchestrion:@azure/cosmos:executePlugins'
+ static peerServicePrecursors = ['db.name']
+
+ operationName() {
+ return 'cosmosdb.query'
+ }
+
+ asyncEnd(ctx) {
+ var span = ctx.currentStore?.span;
+ if (span != null) {
+ const result = ctx.result;
+ if (result != null) {
+ if (result.code != null) {
+ span.setTag("http.status_code", result.code);
+ }
+ if (result.substatus != undefined) {
+ span.setTag("http.status_subcode", result.substatus);
+ }
+ }
+ span.finish();
+ }
+ }
+
+ error(ctx) {
+ var span = ctx.currentStore?.span;
+ this.addError(ctx.error, span);
+ if (span != null) {
+ const error = ctx.error;
+ if (error != null) {
+ if (error.code != null) {
+ span.setTag("http.status_code", error.code);
+ }
+ if (error.substatus != undefined) {
+ span.setTag("http.status_subcode", error.substatus);
+ }
+ }
+ }
+ }
+
+ bindStart(ctx) {
+ // executePlugins(diagnosticNode, requestContext, next, on) — `on` is PluginOn.request | PluginOn.operation
+ const pluginOn = ctx.arguments?.[3];
+
+
+ const requestContext = ctx.arguments?.[1];
+ const resource = this.getResource(requestContext);
+ const { dbName, containerName } = this.getDbInfo(requestContext);
+ const connectionMode = this.getConnectionMode(requestContext);
+ const { outHost, userAgent } = this.getHttpInfo(requestContext);
+ // getting really specific here but otherwise we get doubled up read spans
+ if (pluginOn === "request" && ((!resource.includes("read") && !resource.includes("query")) || (resource.includes("read") && requestContext.resourceType != "docs"))) {
+ ctx.currentStore = { ...(storage('legacy').getStore() || {}) };
+ return ctx.currentStore;
+ }
+
+ this.startSpan(this.operationName(), {
+ resource: resource,
+ type: 'cosmosdb',
+ kind: 'client',
+ meta: {
+ component: 'azure_cosmos',
+ 'db.system': 'cosmosdb',
+ 'db.name': dbName,
+ 'cosmosdb.container': containerName,
+ 'cosmosdb.connection.mode': connectionMode,
+ 'http.useragent': userAgent,
+ 'out.host': outHost,
+ }
+ }, ctx);
+
+ return ctx.currentStore;
+ }
+
+ getResource(requestContext) {
+ if (requestContext != null) {
+ const operationType = requestContext.operationType;
+ const resourceLink = requestContext.path;
+ return operationType + " " + resourceLink;
+ }
+ return null;
+ }
+
+
+ getDbInfo(requestContext) {
+ var dbName = null;
+ var containerName = null;
+ if (requestContext != null) {
+ if (requestContext.operationType === "create" && requestContext.resourceType === "dbs" && requestContext.body != null) {
+ if (requestContext.body.id != null) {
+ dbName = requestContext.body.id;
+ }
+ }
+
+ var resourceLink = requestContext.path;
+ if (resourceLink != null) {
+ if (resourceLink.startsWith("/") && resourceLink.length > 1) {
+ resourceLink = resourceLink.slice(1);
+ }
+ const parts = resourceLink.split("/");
+ if (parts.length > 0 && parts[0].toLowerCase() === "dbs" && parts.length >= 2) {
+ dbName = parts[1];
+ if (parts.length >= 4) {
+ if (parts[2].toLowerCase() === "colls" && parts[3].toLowerCase() !== "") {
+ containerName = parts[3];
+ }
+ }
+ }
+ }
+ }
+
+ return { dbName, containerName };
+ }
+
+ getConnectionMode(requestContext) {
+ if (requestContext != null) {
+ const mode = requestContext.client?.connectionPolicy?.connectionMode;
+ if (mode == 0) {
+ return "gateway";
+ } else if (mode == 1) {
+ return "direct";
+ } else {
+ return "other";
+ }
+ }
+ return null;
+ }
+
+ getHttpInfo(requestContext) {
+ var outHost = null;
+ var userAgent = null;
+ if (requestContext != null) {
+ outHost = requestContext.client?.cosmosClientOptions?.endpoint;
+ const headers = requestContext.headers;
+ if (headers != null) {
+ userAgent = headers['User-Agent'];
+ }
+ }
+ return { outHost, userAgent };
+ }
+
+}
+
+module.exports = AzureCosmosPlugin
diff --git a/packages/datadog-plugin-http/src/index.js b/packages/datadog-plugin-http/src/index.js
index dcf0abed05e..8520b7c6ff7 100644
--- a/packages/datadog-plugin-http/src/index.js
+++ b/packages/datadog-plugin-http/src/index.js
@@ -14,7 +14,7 @@ const HttpServerPlugin = require('./server')
*/
class HttpPlugin extends CompositePlugin {
static id = 'http'
- static get plugins () {
+ static get plugins() {
const plugins = {}
// Load push subscription plugin first (if enabled) for GCP Cloud Run
diff --git a/packages/dd-trace/src/config/supported-configurations.json b/packages/dd-trace/src/config/supported-configurations.json
index d99dc7bd585..a9a64a0abdd 100644
--- a/packages/dd-trace/src/config/supported-configurations.json
+++ b/packages/dd-trace/src/config/supported-configurations.json
@@ -2206,6 +2206,13 @@
"default": "true"
}
],
+ "DD_TRACE_AZURE_COSMOS_ENABLED": [
+ {
+ "implementation": "A",
+ "type": "boolean",
+ "default": "true"
+ }
+ ],
"DD_TRACE_AZURE_DURABLE_FUNCTIONS_ENABLED": [
{
"implementation": "B",
diff --git a/packages/dd-trace/src/plugins/index.js b/packages/dd-trace/src/plugins/index.js
index 44d84e67324..68558c54983 100644
--- a/packages/dd-trace/src/plugins/index.js
+++ b/packages/dd-trace/src/plugins/index.js
@@ -1,118 +1,119 @@
'use strict'
const plugins = {
- get '@anthropic-ai/sdk' () { return require('../../../datadog-plugin-anthropic/src') },
- get '@apollo/gateway' () { return require('../../../datadog-plugin-apollo/src') },
- get '@aws-sdk/smithy-client' () { return require('../../../datadog-plugin-aws-sdk/src') },
- get '@azure/event-hubs' () { return require('../../../datadog-plugin-azure-event-hubs/src') },
- get '@azure/functions' () { return require('../../../datadog-plugin-azure-functions/src') },
- get 'durable-functions' () { return require('../../../datadog-plugin-azure-durable-functions/src') },
- get '@azure/service-bus' () { return require('../../../datadog-plugin-azure-service-bus/src') },
- get '@cucumber/cucumber' () { return require('../../../datadog-plugin-cucumber/src') },
- get '@playwright/test' () { return require('../../../datadog-plugin-playwright/src') },
- get '@elastic/elasticsearch' () { return require('../../../datadog-plugin-elasticsearch/src') },
- get '@elastic/transport' () { return require('../../../datadog-plugin-elasticsearch/src') },
- get '@google-cloud/pubsub' () { return require('../../../datadog-plugin-google-cloud-pubsub/src') },
- get '@google-cloud/vertexai' () { return require('../../../datadog-plugin-google-cloud-vertexai/src') },
- get '@google/genai' () { return require('../../../datadog-plugin-google-genai/src') },
- get '@grpc/grpc-js' () { return require('../../../datadog-plugin-grpc/src') },
- get '@hapi/hapi' () { return require('../../../datadog-plugin-hapi/src') },
- get '@happy-dom/jest-environment' () { return require('../../../datadog-plugin-jest/src') },
- get '@jest/core' () { return require('../../../datadog-plugin-jest/src') },
- get '@jest/test-sequencer' () { return require('../../../datadog-plugin-jest/src') },
- get '@jest/transform' () { return require('../../../datadog-plugin-jest/src') },
- get '@koa/router' () { return require('../../../datadog-plugin-koa/src') },
- get '@langchain/core' () { return require('../../../datadog-plugin-langchain/src') },
- get '@langchain/openai' () { return require('../../../datadog-plugin-langchain/src') },
- get '@node-redis/client' () { return require('../../../datadog-plugin-redis/src') },
- get '@opensearch-project/opensearch' () { return require('../../../datadog-plugin-opensearch/src') },
- get '@prisma/client' () { return require('../../../datadog-plugin-prisma/src') },
- get './runtime/library.js' () { return require('../../../datadog-plugin-prisma/src') },
- get '@redis/client' () { return require('../../../datadog-plugin-redis/src') },
- get '@smithy/smithy-client' () { return require('../../../datadog-plugin-aws-sdk/src') },
- get '@vitest/runner' () { return require('../../../datadog-plugin-vitest/src') },
- get '@langchain/langgraph' () { return require('../../../datadog-plugin-langgraph/src') },
- get aerospike () { return require('../../../datadog-plugin-aerospike/src') },
- get ai () { return require('../../../datadog-plugin-ai/src') },
- get amqp10 () { return require('../../../datadog-plugin-amqp10/src') },
- get amqplib () { return require('../../../datadog-plugin-amqplib/src') },
- get avsc () { return require('../../../datadog-plugin-avsc/src') },
- get 'aws-sdk' () { return require('../../../datadog-plugin-aws-sdk/src') },
- get bullmq () { return require('../../../datadog-plugin-bullmq/src') },
- get bunyan () { return require('../../../datadog-plugin-bunyan/src') },
- get 'cassandra-driver' () { return require('../../../datadog-plugin-cassandra-driver/src') },
- get child_process () { return require('../../../datadog-plugin-child_process/src') },
- get connect () { return require('../../../datadog-plugin-connect/src') },
- get couchbase () { return require('../../../datadog-plugin-couchbase/src') },
- get cypress () { return require('../../../datadog-plugin-cypress/src') },
- get dns () { return require('../../../datadog-plugin-dns/src') },
- get 'dd-trace-api' () { return require('../../../datadog-plugin-dd-trace-api/src') },
- get elasticsearch () { return require('../../../datadog-plugin-elasticsearch/src') },
- get express () { return require('../../../datadog-plugin-express/src') },
- get fastify () { return require('../../../datadog-plugin-fastify/src') },
- get 'find-my-way' () { return require('../../../datadog-plugin-find-my-way/src') },
- get 'global:fetch' () { return require('../../../datadog-plugin-fetch/src') },
- get graphql () { return require('../../../datadog-plugin-graphql/src') },
- get grpc () { return require('../../../datadog-plugin-grpc/src') },
- get hapi () { return require('../../../datadog-plugin-hapi/src') },
- get hono () { return require('../../../datadog-plugin-hono/src') },
- get http () { return require('../../../datadog-plugin-http/src') },
- get http2 () { return require('../../../datadog-plugin-http2/src') },
- get https () { return require('../../../datadog-plugin-http/src') },
- get ioredis () { return require('../../../datadog-plugin-ioredis/src') },
- get iovalkey () { return require('../../../datadog-plugin-iovalkey/src') },
- get 'jest-circus' () { return require('../../../datadog-plugin-jest/src') },
- get 'jest-config' () { return require('../../../datadog-plugin-jest/src') },
- get 'jest-environment-node' () { return require('../../../datadog-plugin-jest/src') },
- get 'jest-environment-jsdom' () { return require('../../../datadog-plugin-jest/src') },
- get 'jest-runtime' () { return require('../../../datadog-plugin-jest/src') },
- get 'jest-worker' () { return require('../../../datadog-plugin-jest/src') },
- get koa () { return require('../../../datadog-plugin-koa/src') },
- get 'koa-router' () { return require('../../../datadog-plugin-koa/src') },
- get kafkajs () { return require('../../../datadog-plugin-kafkajs/src') },
- get '@confluentinc/kafka-javascript' () {
+ get '@anthropic-ai/sdk'() { return require('../../../datadog-plugin-anthropic/src') },
+ get '@apollo/gateway'() { return require('../../../datadog-plugin-apollo/src') },
+ get '@aws-sdk/smithy-client'() { return require('../../../datadog-plugin-aws-sdk/src') },
+ get '@azure/cosmos'() { return require('../../../datadog-plugin-azure-cosmos/src') },
+ get '@azure/event-hubs'() { return require('../../../datadog-plugin-azure-event-hubs/src') },
+ get '@azure/functions'() { return require('../../../datadog-plugin-azure-functions/src') },
+ get 'durable-functions'() { return require('../../../datadog-plugin-azure-durable-functions/src') },
+ get '@azure/service-bus'() { return require('../../../datadog-plugin-azure-service-bus/src') },
+ get '@cucumber/cucumber'() { return require('../../../datadog-plugin-cucumber/src') },
+ get '@playwright/test'() { return require('../../../datadog-plugin-playwright/src') },
+ get '@elastic/elasticsearch'() { return require('../../../datadog-plugin-elasticsearch/src') },
+ get '@elastic/transport'() { return require('../../../datadog-plugin-elasticsearch/src') },
+ get '@google-cloud/pubsub'() { return require('../../../datadog-plugin-google-cloud-pubsub/src') },
+ get '@google-cloud/vertexai'() { return require('../../../datadog-plugin-google-cloud-vertexai/src') },
+ get '@google/genai'() { return require('../../../datadog-plugin-google-genai/src') },
+ get '@grpc/grpc-js'() { return require('../../../datadog-plugin-grpc/src') },
+ get '@hapi/hapi'() { return require('../../../datadog-plugin-hapi/src') },
+ get '@happy-dom/jest-environment'() { return require('../../../datadog-plugin-jest/src') },
+ get '@jest/core'() { return require('../../../datadog-plugin-jest/src') },
+ get '@jest/test-sequencer'() { return require('../../../datadog-plugin-jest/src') },
+ get '@jest/transform'() { return require('../../../datadog-plugin-jest/src') },
+ get '@koa/router'() { return require('../../../datadog-plugin-koa/src') },
+ get '@langchain/core'() { return require('../../../datadog-plugin-langchain/src') },
+ get '@langchain/openai'() { return require('../../../datadog-plugin-langchain/src') },
+ get '@node-redis/client'() { return require('../../../datadog-plugin-redis/src') },
+ get '@opensearch-project/opensearch'() { return require('../../../datadog-plugin-opensearch/src') },
+ get '@prisma/client'() { return require('../../../datadog-plugin-prisma/src') },
+ get './runtime/library.js'() { return require('../../../datadog-plugin-prisma/src') },
+ get '@redis/client'() { return require('../../../datadog-plugin-redis/src') },
+ get '@smithy/smithy-client'() { return require('../../../datadog-plugin-aws-sdk/src') },
+ get '@vitest/runner'() { return require('../../../datadog-plugin-vitest/src') },
+ get '@langchain/langgraph'() { return require('../../../datadog-plugin-langgraph/src') },
+ get aerospike() { return require('../../../datadog-plugin-aerospike/src') },
+ get ai() { return require('../../../datadog-plugin-ai/src') },
+ get amqp10() { return require('../../../datadog-plugin-amqp10/src') },
+ get amqplib() { return require('../../../datadog-plugin-amqplib/src') },
+ get avsc() { return require('../../../datadog-plugin-avsc/src') },
+ get 'aws-sdk'() { return require('../../../datadog-plugin-aws-sdk/src') },
+ get bullmq() { return require('../../../datadog-plugin-bullmq/src') },
+ get bunyan() { return require('../../../datadog-plugin-bunyan/src') },
+ get 'cassandra-driver'() { return require('../../../datadog-plugin-cassandra-driver/src') },
+ get child_process() { return require('../../../datadog-plugin-child_process/src') },
+ get connect() { return require('../../../datadog-plugin-connect/src') },
+ get couchbase() { return require('../../../datadog-plugin-couchbase/src') },
+ get cypress() { return require('../../../datadog-plugin-cypress/src') },
+ get dns() { return require('../../../datadog-plugin-dns/src') },
+ get 'dd-trace-api'() { return require('../../../datadog-plugin-dd-trace-api/src') },
+ get elasticsearch() { return require('../../../datadog-plugin-elasticsearch/src') },
+ get express() { return require('../../../datadog-plugin-express/src') },
+ get fastify() { return require('../../../datadog-plugin-fastify/src') },
+ get 'find-my-way'() { return require('../../../datadog-plugin-find-my-way/src') },
+ get 'global:fetch'() { return require('../../../datadog-plugin-fetch/src') },
+ get graphql() { return require('../../../datadog-plugin-graphql/src') },
+ get grpc() { return require('../../../datadog-plugin-grpc/src') },
+ get hapi() { return require('../../../datadog-plugin-hapi/src') },
+ get hono() { return require('../../../datadog-plugin-hono/src') },
+ get http() { return require('../../../datadog-plugin-http/src') },
+ get http2() { return require('../../../datadog-plugin-http2/src') },
+ get https() { return require('../../../datadog-plugin-http/src') },
+ get ioredis() { return require('../../../datadog-plugin-ioredis/src') },
+ get iovalkey() { return require('../../../datadog-plugin-iovalkey/src') },
+ get 'jest-circus'() { return require('../../../datadog-plugin-jest/src') },
+ get 'jest-config'() { return require('../../../datadog-plugin-jest/src') },
+ get 'jest-environment-node'() { return require('../../../datadog-plugin-jest/src') },
+ get 'jest-environment-jsdom'() { return require('../../../datadog-plugin-jest/src') },
+ get 'jest-runtime'() { return require('../../../datadog-plugin-jest/src') },
+ get 'jest-worker'() { return require('../../../datadog-plugin-jest/src') },
+ get koa() { return require('../../../datadog-plugin-koa/src') },
+ get 'koa-router'() { return require('../../../datadog-plugin-koa/src') },
+ get kafkajs() { return require('../../../datadog-plugin-kafkajs/src') },
+ get '@confluentinc/kafka-javascript'() {
return require('../../../datadog-plugin-confluentinc-kafka-javascript/src')
},
- get langchain () { return require('../../../datadog-plugin-langchain/src') },
- get mariadb () { return require('../../../datadog-plugin-mariadb/src') },
- get memcached () { return require('../../../datadog-plugin-memcached/src') },
- get 'microgateway-core' () { return require('../../../datadog-plugin-microgateway-core/src') },
- get mocha () { return require('../../../datadog-plugin-mocha/src') },
- get 'mocha-each' () { return require('../../../datadog-plugin-mocha/src') },
- get vitest () { return require('../../../datadog-plugin-vitest/src') },
- get workerpool () { return require('../../../datadog-plugin-mocha/src') },
- get tinypool () { return require('../../../datadog-plugin-vitest/src') },
- get moleculer () { return require('../../../datadog-plugin-moleculer/src') },
- get mongodb () { return require('../../../datadog-plugin-mongodb-core/src') },
- get 'mongodb-core' () { return require('../../../datadog-plugin-mongodb-core/src') },
- get mongoose () { return require('../../../datadog-plugin-mongoose/src') },
- get mysql () { return require('../../../datadog-plugin-mysql/src') },
- get mysql2 () { return require('../../../datadog-plugin-mysql2/src') },
- get net () { return require('../../../datadog-plugin-net/src') },
- get next () { return require('../../../datadog-plugin-next/src') },
- get 'node:dns' () { return require('../../../datadog-plugin-dns/src') },
- get 'node:http' () { return require('../../../datadog-plugin-http/src') },
- get 'node:http2' () { return require('../../../datadog-plugin-http2/src') },
- get 'node:https' () { return require('../../../datadog-plugin-http/src') },
- get 'node:net' () { return require('../../../datadog-plugin-net/src') },
- get nyc () { return require('../../../datadog-plugin-nyc/src') },
- get oracledb () { return require('../../../datadog-plugin-oracledb/src') },
- get openai () { return require('../../../datadog-plugin-openai/src') },
- get pg () { return require('../../../datadog-plugin-pg/src') },
- get pino () { return require('../../../datadog-plugin-pino/src') },
- get 'pino-pretty' () { return require('../../../datadog-plugin-pino/src') },
- get playwright () { return require('../../../datadog-plugin-playwright/src') },
- get protobufjs () { return require('../../../datadog-plugin-protobufjs/src') },
- get redis () { return require('../../../datadog-plugin-redis/src') },
- get restify () { return require('../../../datadog-plugin-restify/src') },
- get rhea () { return require('../../../datadog-plugin-rhea/src') },
- get router () { return require('../../../datadog-plugin-router/src') },
- get 'selenium-webdriver' () { return require('../../../datadog-plugin-selenium/src') },
- get sharedb () { return require('../../../datadog-plugin-sharedb/src') },
- get tedious () { return require('../../../datadog-plugin-tedious/src') },
- get undici () { return require('../../../datadog-plugin-undici/src') },
- get winston () { return require('../../../datadog-plugin-winston/src') },
- get ws () { return require('../../../datadog-plugin-ws/src') },
+ get langchain() { return require('../../../datadog-plugin-langchain/src') },
+ get mariadb() { return require('../../../datadog-plugin-mariadb/src') },
+ get memcached() { return require('../../../datadog-plugin-memcached/src') },
+ get 'microgateway-core'() { return require('../../../datadog-plugin-microgateway-core/src') },
+ get mocha() { return require('../../../datadog-plugin-mocha/src') },
+ get 'mocha-each'() { return require('../../../datadog-plugin-mocha/src') },
+ get vitest() { return require('../../../datadog-plugin-vitest/src') },
+ get workerpool() { return require('../../../datadog-plugin-mocha/src') },
+ get tinypool() { return require('../../../datadog-plugin-vitest/src') },
+ get moleculer() { return require('../../../datadog-plugin-moleculer/src') },
+ get mongodb() { return require('../../../datadog-plugin-mongodb-core/src') },
+ get 'mongodb-core'() { return require('../../../datadog-plugin-mongodb-core/src') },
+ get mongoose() { return require('../../../datadog-plugin-mongoose/src') },
+ get mysql() { return require('../../../datadog-plugin-mysql/src') },
+ get mysql2() { return require('../../../datadog-plugin-mysql2/src') },
+ get net() { return require('../../../datadog-plugin-net/src') },
+ get next() { return require('../../../datadog-plugin-next/src') },
+ get 'node:dns'() { return require('../../../datadog-plugin-dns/src') },
+ get 'node:http'() { return require('../../../datadog-plugin-http/src') },
+ get 'node:http2'() { return require('../../../datadog-plugin-http2/src') },
+ get 'node:https'() { return require('../../../datadog-plugin-http/src') },
+ get 'node:net'() { return require('../../../datadog-plugin-net/src') },
+ get nyc() { return require('../../../datadog-plugin-nyc/src') },
+ get oracledb() { return require('../../../datadog-plugin-oracledb/src') },
+ get openai() { return require('../../../datadog-plugin-openai/src') },
+ get pg() { return require('../../../datadog-plugin-pg/src') },
+ get pino() { return require('../../../datadog-plugin-pino/src') },
+ get 'pino-pretty'() { return require('../../../datadog-plugin-pino/src') },
+ get playwright() { return require('../../../datadog-plugin-playwright/src') },
+ get protobufjs() { return require('../../../datadog-plugin-protobufjs/src') },
+ get redis() { return require('../../../datadog-plugin-redis/src') },
+ get restify() { return require('../../../datadog-plugin-restify/src') },
+ get rhea() { return require('../../../datadog-plugin-rhea/src') },
+ get router() { return require('../../../datadog-plugin-router/src') },
+ get 'selenium-webdriver'() { return require('../../../datadog-plugin-selenium/src') },
+ get sharedb() { return require('../../../datadog-plugin-sharedb/src') },
+ get tedious() { return require('../../../datadog-plugin-tedious/src') },
+ get undici() { return require('../../../datadog-plugin-undici/src') },
+ get winston() { return require('../../../datadog-plugin-winston/src') },
+ get ws() { return require('../../../datadog-plugin-ws/src') },
}
module.exports = plugins