@azure/opentelemetry-instrumentation-azure-sdk 1.0.0-beta.6 → 1.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +3 -3
- package/README.md +33 -36
- package/dist/browser/configuration.d.ts +21 -0
- package/dist/browser/configuration.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/configuration.js +2 -2
- package/{dist-esm/src → dist/browser}/configuration.js.map +1 -1
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +5 -0
- package/{dist-esm/src → dist/browser}/index.js.map +1 -1
- package/dist/browser/instrumentation-browser.d.mts.map +1 -0
- package/dist/browser/instrumentation-browser.mjs.map +1 -0
- package/dist/browser/instrumentation.d.ts +36 -0
- package/{dist-esm/src/instrumentation.browser.js → dist/browser/instrumentation.js} +5 -5
- package/dist/browser/instrumenter.d.ts +13 -0
- package/dist/browser/instrumenter.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/instrumenter.js +4 -4
- package/dist/browser/instrumenter.js.map +1 -0
- package/dist/browser/logger.d.ts +5 -0
- package/dist/browser/logger.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/logger.js +1 -1
- package/{dist-esm/src → dist/browser}/logger.js.map +1 -1
- package/dist/browser/package.json +3 -0
- package/dist/browser/spanWrapper.d.ts +20 -0
- package/dist/browser/spanWrapper.d.ts.map +1 -0
- package/dist/browser/spanWrapper.js +65 -0
- package/dist/browser/spanWrapper.js.map +1 -0
- package/dist/browser/transformations.d.ts +30 -0
- package/dist/browser/transformations.d.ts.map +1 -0
- package/{dist-esm/src → dist/browser}/transformations.js +4 -19
- package/dist/browser/transformations.js.map +1 -0
- package/dist/commonjs/configuration.d.ts +21 -0
- package/dist/commonjs/configuration.d.ts.map +1 -0
- package/dist/commonjs/configuration.js +35 -0
- package/dist/commonjs/configuration.js.map +1 -0
- package/dist/commonjs/index.d.ts +3 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +8 -0
- package/dist/commonjs/index.js.map +1 -0
- package/{types/latest/opentelemetry-instrumentation-azure-sdk.d.ts → dist/commonjs/instrumentation.d.ts} +42 -52
- package/dist/commonjs/instrumentation.d.ts.map +1 -0
- package/dist/commonjs/instrumentation.js +59 -0
- package/dist/commonjs/instrumentation.js.map +1 -0
- package/dist/commonjs/instrumenter.d.ts +13 -0
- package/dist/commonjs/instrumenter.d.ts.map +1 -0
- package/dist/commonjs/instrumenter.js +51 -0
- package/dist/commonjs/instrumenter.js.map +1 -0
- package/dist/commonjs/logger.d.ts +5 -0
- package/dist/commonjs/logger.d.ts.map +1 -0
- package/dist/commonjs/logger.js +11 -0
- package/dist/commonjs/logger.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/spanWrapper.d.ts +20 -0
- package/dist/commonjs/spanWrapper.d.ts.map +1 -0
- package/dist/commonjs/spanWrapper.js +69 -0
- package/dist/commonjs/spanWrapper.js.map +1 -0
- package/dist/commonjs/transformations.d.ts +30 -0
- package/dist/commonjs/transformations.d.ts.map +1 -0
- package/dist/commonjs/transformations.js +55 -0
- package/dist/commonjs/transformations.js.map +1 -0
- package/{types/latest → dist/commonjs}/tsdoc-metadata.json +1 -1
- package/dist/esm/configuration.d.ts +21 -0
- package/dist/esm/configuration.d.ts.map +1 -0
- package/dist/esm/configuration.js +31 -0
- package/dist/esm/configuration.js.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/instrumentation.d.ts +42 -0
- package/dist/esm/instrumentation.d.ts.map +1 -0
- package/{dist-esm/src → dist/esm}/instrumentation.js +9 -7
- package/dist/esm/instrumentation.js.map +1 -0
- package/dist/esm/instrumenter.d.ts +13 -0
- package/dist/esm/instrumenter.d.ts.map +1 -0
- package/dist/esm/instrumenter.js +47 -0
- package/dist/esm/instrumenter.js.map +1 -0
- package/dist/esm/logger.d.ts +5 -0
- package/dist/esm/logger.d.ts.map +1 -0
- package/dist/esm/logger.js +8 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/spanWrapper.d.ts +20 -0
- package/dist/esm/spanWrapper.d.ts.map +1 -0
- package/dist/esm/spanWrapper.js +65 -0
- package/dist/esm/spanWrapper.js.map +1 -0
- package/dist/esm/transformations.d.ts +30 -0
- package/dist/esm/transformations.d.ts.map +1 -0
- package/dist/esm/transformations.js +51 -0
- package/dist/esm/transformations.js.map +1 -0
- package/dist/react-native/configuration.d.ts +21 -0
- package/dist/react-native/configuration.d.ts.map +1 -0
- package/dist/react-native/configuration.js +31 -0
- package/dist/react-native/configuration.js.map +1 -0
- package/dist/react-native/index.d.ts +3 -0
- package/dist/react-native/index.d.ts.map +1 -0
- package/dist/react-native/index.js +5 -0
- package/dist/react-native/index.js.map +1 -0
- package/dist/react-native/instrumentation.d.ts +42 -0
- package/dist/react-native/instrumentation.d.ts.map +1 -0
- package/dist/react-native/instrumentation.js +54 -0
- package/dist/react-native/instrumentation.js.map +1 -0
- package/dist/react-native/instrumenter.d.ts +13 -0
- package/dist/react-native/instrumenter.d.ts.map +1 -0
- package/dist/react-native/instrumenter.js +47 -0
- package/dist/react-native/instrumenter.js.map +1 -0
- package/dist/react-native/logger.d.ts +5 -0
- package/dist/react-native/logger.d.ts.map +1 -0
- package/dist/react-native/logger.js +8 -0
- package/dist/react-native/logger.js.map +1 -0
- package/dist/react-native/package.json +3 -0
- package/dist/react-native/spanWrapper.d.ts +20 -0
- package/dist/react-native/spanWrapper.d.ts.map +1 -0
- package/dist/react-native/spanWrapper.js +65 -0
- package/dist/react-native/spanWrapper.js.map +1 -0
- package/dist/react-native/transformations.d.ts +30 -0
- package/dist/react-native/transformations.d.ts.map +1 -0
- package/dist/react-native/transformations.js +51 -0
- package/dist/react-native/transformations.js.map +1 -0
- package/package.json +72 -56
- package/dist/index.js +0 -252
- package/dist/index.js.map +0 -1
- package/dist-esm/src/index.js +0 -5
- package/dist-esm/src/instrumentation.browser.js.map +0 -1
- package/dist-esm/src/instrumentation.js.map +0 -1
- package/dist-esm/src/instrumenter.js.map +0 -1
- package/dist-esm/src/spanWrapper.js +0 -46
- package/dist-esm/src/spanWrapper.js.map +0 -1
- package/dist-esm/src/transformations.js.map +0 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { INVALID_SPAN_CONTEXT, context, defaultTextMapGetter, defaultTextMapSetter, trace, } from "@opentelemetry/api";
|
|
4
|
+
import { W3CTraceContextPropagator, suppressTracing } from "@opentelemetry/core";
|
|
5
|
+
import { OpenTelemetrySpanWrapper } from "./spanWrapper.js";
|
|
6
|
+
import { envVarToBoolean } from "./configuration.js";
|
|
7
|
+
import { toSpanOptions } from "./transformations.js";
|
|
8
|
+
// While default propagation is user-configurable, Azure services always use the W3C implementation.
|
|
9
|
+
export const propagator = new W3CTraceContextPropagator();
|
|
10
|
+
export class OpenTelemetryInstrumenter {
|
|
11
|
+
startSpan(name, spanOptions) {
|
|
12
|
+
let ctx = (spanOptions === null || spanOptions === void 0 ? void 0 : spanOptions.tracingContext) || context.active();
|
|
13
|
+
let span;
|
|
14
|
+
if (envVarToBoolean("AZURE_TRACING_DISABLED")) {
|
|
15
|
+
// disable only our spans but not any downstream spans
|
|
16
|
+
span = trace.wrapSpanContext(INVALID_SPAN_CONTEXT);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
// Create our span
|
|
20
|
+
span = trace
|
|
21
|
+
.getTracer(spanOptions.packageName, spanOptions.packageVersion)
|
|
22
|
+
.startSpan(name, toSpanOptions(spanOptions), ctx);
|
|
23
|
+
if (envVarToBoolean("AZURE_HTTP_TRACING_CHILDREN_DISABLED") &&
|
|
24
|
+
name.toUpperCase().startsWith("HTTP")) {
|
|
25
|
+
// disable downstream spans
|
|
26
|
+
ctx = suppressTracing(ctx);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
span: new OpenTelemetrySpanWrapper(span),
|
|
31
|
+
tracingContext: trace.setSpan(ctx, span),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
withContext(tracingContext, callback, ...callbackArgs) {
|
|
35
|
+
return context.with(tracingContext, callback,
|
|
36
|
+
/** Assume caller will bind `this` or use arrow functions */ undefined, ...callbackArgs);
|
|
37
|
+
}
|
|
38
|
+
parseTraceparentHeader(traceparentHeader) {
|
|
39
|
+
return propagator.extract(context.active(), { traceparent: traceparentHeader }, defaultTextMapGetter);
|
|
40
|
+
}
|
|
41
|
+
createRequestHeaders(tracingContext) {
|
|
42
|
+
const headers = {};
|
|
43
|
+
propagator.inject(tracingContext || context.active(), headers, defaultTextMapSetter);
|
|
44
|
+
return headers;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=instrumenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumenter.js","sourceRoot":"","sources":["../../src/instrumenter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EACL,oBAAoB,EACpB,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,GACN,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,oGAAoG;AACpG,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,yBAAyB,EAAE,CAAC;AAE1D,MAAM,OAAO,yBAAyB;IACpC,SAAS,CACP,IAAY,EACZ,WAAoC;QAEpC,IAAI,GAAG,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,KAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1D,IAAI,IAAU,CAAC;QAEf,IAAI,eAAe,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC9C,sDAAsD;YACtD,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,IAAI,GAAG,KAAK;iBACT,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC;iBAC9D,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;YAEpD,IACE,eAAe,CAAC,sCAAsC,CAAC;gBACvD,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EACrC,CAAC;gBACD,2BAA2B;gBAC3B,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC;YACxC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;SACzC,CAAC;IACJ,CAAC;IACD,WAAW,CAIT,cAA8B,EAC9B,QAAkB,EAClB,GAAG,YAA0B;QAE7B,OAAO,OAAO,CAAC,IAAI,CACjB,cAAc,EACd,QAAQ;QACR,4DAA4D,CAAC,SAAS,EACtE,GAAG,YAAY,CAChB,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,iBAAyB;QAC9C,OAAO,UAAU,CAAC,OAAO,CACvB,OAAO,CAAC,MAAM,EAAE,EAChB,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAClC,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,cAA+B;QAClD,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,UAAU,CAAC,MAAM,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACrF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Span } from \"@opentelemetry/api\";\nimport {\n INVALID_SPAN_CONTEXT,\n context,\n defaultTextMapGetter,\n defaultTextMapSetter,\n trace,\n} from \"@opentelemetry/api\";\nimport type {\n Instrumenter,\n InstrumenterSpanOptions,\n TracingContext,\n TracingSpan,\n} from \"@azure/core-tracing\";\nimport { W3CTraceContextPropagator, suppressTracing } from \"@opentelemetry/core\";\n\nimport { OpenTelemetrySpanWrapper } from \"./spanWrapper.js\";\nimport { envVarToBoolean } from \"./configuration.js\";\nimport { toSpanOptions } from \"./transformations.js\";\n\n// While default propagation is user-configurable, Azure services always use the W3C implementation.\nexport const propagator = new W3CTraceContextPropagator();\n\nexport class OpenTelemetryInstrumenter implements Instrumenter {\n startSpan(\n name: string,\n spanOptions: InstrumenterSpanOptions,\n ): { span: TracingSpan; tracingContext: TracingContext } {\n let ctx = spanOptions?.tracingContext || context.active();\n let span: Span;\n\n if (envVarToBoolean(\"AZURE_TRACING_DISABLED\")) {\n // disable only our spans but not any downstream spans\n span = trace.wrapSpanContext(INVALID_SPAN_CONTEXT);\n } else {\n // Create our span\n span = trace\n .getTracer(spanOptions.packageName, spanOptions.packageVersion)\n .startSpan(name, toSpanOptions(spanOptions), ctx);\n\n if (\n envVarToBoolean(\"AZURE_HTTP_TRACING_CHILDREN_DISABLED\") &&\n name.toUpperCase().startsWith(\"HTTP\")\n ) {\n // disable downstream spans\n ctx = suppressTracing(ctx);\n }\n }\n\n return {\n span: new OpenTelemetrySpanWrapper(span),\n tracingContext: trace.setSpan(ctx, span),\n };\n }\n withContext<\n CallbackArgs extends unknown[],\n Callback extends (...args: CallbackArgs) => ReturnType<Callback>,\n >(\n tracingContext: TracingContext,\n callback: Callback,\n ...callbackArgs: CallbackArgs\n ): ReturnType<Callback> {\n return context.with(\n tracingContext,\n callback,\n /** Assume caller will bind `this` or use arrow functions */ undefined,\n ...callbackArgs,\n );\n }\n\n parseTraceparentHeader(traceparentHeader: string): TracingContext {\n return propagator.extract(\n context.active(),\n { traceparent: traceparentHeader },\n defaultTextMapGetter,\n );\n }\n\n createRequestHeaders(tracingContext?: TracingContext): Record<string, string> {\n const headers: Record<string, string> = {};\n propagator.inject(tracingContext || context.active(), headers, defaultTextMapSetter);\n return headers;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,MAAM,qCAAgE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { createClientLogger } from "@azure/logger";
|
|
4
|
+
/**
|
|
5
|
+
* The \@azure/logger configuration for this package.
|
|
6
|
+
*/
|
|
7
|
+
export const logger = createClientLogger("opentelemetry-instrumentation-azure-sdk");
|
|
8
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,yCAAyC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The \\@azure/logger configuration for this package.\n */\nexport const logger = createClientLogger(\"opentelemetry-instrumentation-azure-sdk\");\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Span } from "@opentelemetry/api";
|
|
2
|
+
import type { SpanStatus, TracingSpan, AddEventOptions } from "@azure/core-tracing";
|
|
3
|
+
export declare class OpenTelemetrySpanWrapper implements TracingSpan {
|
|
4
|
+
private _span;
|
|
5
|
+
constructor(span: Span);
|
|
6
|
+
setStatus(status: SpanStatus): void;
|
|
7
|
+
setAttribute(name: string, value: unknown): void;
|
|
8
|
+
end(): void;
|
|
9
|
+
recordException(exception: string | Error): void;
|
|
10
|
+
isRecording(): boolean;
|
|
11
|
+
addEvent(name: string, options?: AddEventOptions): void;
|
|
12
|
+
/**
|
|
13
|
+
* Allows getting the wrapped span as needed.
|
|
14
|
+
* @internal
|
|
15
|
+
*
|
|
16
|
+
* @returns The underlying span
|
|
17
|
+
*/
|
|
18
|
+
unwrap(): Span;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=spanWrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spanWrapper.d.ts","sourceRoot":"","sources":["../../src/spanWrapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAIpF,qBAAa,wBAAyB,YAAW,WAAW;IAC1D,OAAO,CAAC,KAAK,CAAO;gBAER,IAAI,EAAE,IAAI;IAItB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAanC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAMhD,GAAG,IAAI,IAAI;IAIX,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIhD,WAAW,IAAI,OAAO;IAItB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI;IAI3D;;;;;OAKG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { SpanStatusCode } from "@opentelemetry/api";
|
|
4
|
+
import { isAttributeValue, sanitizeAttributes } from "@opentelemetry/core";
|
|
5
|
+
import { logger } from "./logger.js";
|
|
6
|
+
export class OpenTelemetrySpanWrapper {
|
|
7
|
+
constructor(span) {
|
|
8
|
+
this._span = span;
|
|
9
|
+
}
|
|
10
|
+
setStatus(status) {
|
|
11
|
+
if (status.status === "error" && isRecordableError(status.error)) {
|
|
12
|
+
if (status.error) {
|
|
13
|
+
this._span.setStatus({ code: SpanStatusCode.ERROR, message: status.error.toString() });
|
|
14
|
+
this.recordException(status.error);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
this._span.setStatus({ code: SpanStatusCode.ERROR });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else if (status.status === "success") {
|
|
21
|
+
logger.verbose("Leaving span with status UNSET per OpenTelemetry spec.");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
setAttribute(name, value) {
|
|
25
|
+
if (value !== null && value !== undefined && isAttributeValue(value)) {
|
|
26
|
+
this._span.setAttribute(name, value);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
end() {
|
|
30
|
+
this._span.end();
|
|
31
|
+
}
|
|
32
|
+
recordException(exception) {
|
|
33
|
+
this._span.recordException(exception);
|
|
34
|
+
}
|
|
35
|
+
isRecording() {
|
|
36
|
+
return this._span.isRecording();
|
|
37
|
+
}
|
|
38
|
+
addEvent(name, options = {}) {
|
|
39
|
+
this._span.addEvent(name, sanitizeAttributes(options.attributes), options.startTime);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Allows getting the wrapped span as needed.
|
|
43
|
+
* @internal
|
|
44
|
+
*
|
|
45
|
+
* @returns The underlying span
|
|
46
|
+
*/
|
|
47
|
+
unwrap() {
|
|
48
|
+
return this._span;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Determines if an error should be recorded on the span.
|
|
53
|
+
*
|
|
54
|
+
* By default, all errors will mark the span status as error
|
|
55
|
+
* except for {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/304} which is expected
|
|
56
|
+
* when the cached resource is still valid in a conditional request.
|
|
57
|
+
*/
|
|
58
|
+
function isRecordableError(error) {
|
|
59
|
+
if (error !== null && typeof error === "object" && "statusCode" in error) {
|
|
60
|
+
return error.statusCode !== 304;
|
|
61
|
+
}
|
|
62
|
+
// we do not have enough information to determine if this error is recordable so we assume it is
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=spanWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spanWrapper.js","sourceRoot":"","sources":["../../src/spanWrapper.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,wBAAwB;IAGnC,YAAY,IAAU;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,MAAkB;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACvF,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAc;QACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,GAAG;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,SAAyB;QACvC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,UAA2B,EAAE;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,KAAiC;IAC1D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC;IAClC,CAAC;IAED,gGAAgG;IAChG,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Span } from \"@opentelemetry/api\";\nimport { SpanStatusCode } from \"@opentelemetry/api\";\nimport type { SpanStatus, TracingSpan, AddEventOptions } from \"@azure/core-tracing\";\nimport { isAttributeValue, sanitizeAttributes } from \"@opentelemetry/core\";\nimport { logger } from \"./logger.js\";\n\nexport class OpenTelemetrySpanWrapper implements TracingSpan {\n private _span: Span;\n\n constructor(span: Span) {\n this._span = span;\n }\n\n setStatus(status: SpanStatus): void {\n if (status.status === \"error\" && isRecordableError(status.error)) {\n if (status.error) {\n this._span.setStatus({ code: SpanStatusCode.ERROR, message: status.error.toString() });\n this.recordException(status.error);\n } else {\n this._span.setStatus({ code: SpanStatusCode.ERROR });\n }\n } else if (status.status === \"success\") {\n logger.verbose(\"Leaving span with status UNSET per OpenTelemetry spec.\");\n }\n }\n\n setAttribute(name: string, value: unknown): void {\n if (value !== null && value !== undefined && isAttributeValue(value)) {\n this._span.setAttribute(name, value);\n }\n }\n\n end(): void {\n this._span.end();\n }\n\n recordException(exception: string | Error): void {\n this._span.recordException(exception);\n }\n\n isRecording(): boolean {\n return this._span.isRecording();\n }\n\n addEvent(name: string, options: AddEventOptions = {}): void {\n this._span.addEvent(name, sanitizeAttributes(options.attributes), options.startTime);\n }\n\n /**\n * Allows getting the wrapped span as needed.\n * @internal\n *\n * @returns The underlying span\n */\n unwrap(): Span {\n return this._span;\n }\n}\n\n/**\n * Determines if an error should be recorded on the span.\n *\n * By default, all errors will mark the span status as error\n * except for {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/304} which is expected\n * when the cached resource is still valid in a conditional request.\n */\nfunction isRecordableError(error: string | Error | undefined): boolean {\n if (error !== null && typeof error === \"object\" && \"statusCode\" in error) {\n return error.statusCode !== 304;\n }\n\n // we do not have enough information to determine if this error is recordable so we assume it is\n return true;\n}\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { InstrumenterSpanOptions, TracingSpanKind } from "@azure/core-tracing";
|
|
2
|
+
import type { SpanOptions } from "@opentelemetry/api";
|
|
3
|
+
import { SpanKind } from "@opentelemetry/api";
|
|
4
|
+
/**
|
|
5
|
+
* Converts our TracingSpanKind to the corresponding OpenTelemetry SpanKind.
|
|
6
|
+
*
|
|
7
|
+
* By default it will return {@link SpanKind.INTERNAL}
|
|
8
|
+
* @param tracingSpanKind - The core tracing {@link TracingSpanKind}
|
|
9
|
+
* @returns - The OpenTelemetry {@link SpanKind}
|
|
10
|
+
*/
|
|
11
|
+
export declare function toOpenTelemetrySpanKind<K extends TracingSpanKind>(tracingSpanKind?: K): SpanKindMapping[K];
|
|
12
|
+
/**
|
|
13
|
+
* A mapping between our {@link TracingSpanKind} union type and OpenTelemetry's {@link SpanKind}.
|
|
14
|
+
*/
|
|
15
|
+
type SpanKindMapping = {
|
|
16
|
+
client: SpanKind.CLIENT;
|
|
17
|
+
server: SpanKind.SERVER;
|
|
18
|
+
producer: SpanKind.PRODUCER;
|
|
19
|
+
consumer: SpanKind.CONSUMER;
|
|
20
|
+
internal: SpanKind.INTERNAL;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Converts core-tracing span options to OpenTelemetry options.
|
|
24
|
+
*
|
|
25
|
+
* @param spanOptions - The {@link InstrumenterSpanOptions} to convert.
|
|
26
|
+
* @returns An OpenTelemetry {@link SpanOptions} that can be used when creating a span.
|
|
27
|
+
*/
|
|
28
|
+
export declare function toSpanOptions(spanOptions?: InstrumenterSpanOptions): SpanOptions;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=transformations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformations.d.ts","sourceRoot":"","sources":["../../src/transformations.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAQ,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAS,MAAM,oBAAoB,CAAC;AAGrD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,eAAe,EAC/D,eAAe,CAAC,EAAE,CAAC,GAClB,eAAe,CAAC,CAAC,CAAC,CAGpB;AAED;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC7B,CAAC;AAqBF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,uBAAuB,GAAG,WAAW,CAYhF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { SpanKind, trace } from "@opentelemetry/api";
|
|
4
|
+
import { sanitizeAttributes } from "@opentelemetry/core";
|
|
5
|
+
/**
|
|
6
|
+
* Converts our TracingSpanKind to the corresponding OpenTelemetry SpanKind.
|
|
7
|
+
*
|
|
8
|
+
* By default it will return {@link SpanKind.INTERNAL}
|
|
9
|
+
* @param tracingSpanKind - The core tracing {@link TracingSpanKind}
|
|
10
|
+
* @returns - The OpenTelemetry {@link SpanKind}
|
|
11
|
+
*/
|
|
12
|
+
export function toOpenTelemetrySpanKind(tracingSpanKind) {
|
|
13
|
+
const key = (tracingSpanKind || "internal").toUpperCase();
|
|
14
|
+
return SpanKind[key];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Converts core-tracing's TracingSpanLink to OpenTelemetry's Link
|
|
18
|
+
*
|
|
19
|
+
* @param spanLinks - The core tracing {@link TracingSpanLink} to convert
|
|
20
|
+
* @returns A set of {@link Link}s
|
|
21
|
+
*/
|
|
22
|
+
function toOpenTelemetryLinks(spanLinks = []) {
|
|
23
|
+
return spanLinks.reduce((acc, tracingSpanLink) => {
|
|
24
|
+
const spanContext = trace.getSpanContext(tracingSpanLink.tracingContext);
|
|
25
|
+
if (spanContext) {
|
|
26
|
+
acc.push({
|
|
27
|
+
context: spanContext,
|
|
28
|
+
attributes: sanitizeAttributes(tracingSpanLink.attributes),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return acc;
|
|
32
|
+
}, []);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Converts core-tracing span options to OpenTelemetry options.
|
|
36
|
+
*
|
|
37
|
+
* @param spanOptions - The {@link InstrumenterSpanOptions} to convert.
|
|
38
|
+
* @returns An OpenTelemetry {@link SpanOptions} that can be used when creating a span.
|
|
39
|
+
*/
|
|
40
|
+
export function toSpanOptions(spanOptions) {
|
|
41
|
+
const { spanAttributes, spanLinks, spanKind } = spanOptions || {};
|
|
42
|
+
const attributes = sanitizeAttributes(spanAttributes);
|
|
43
|
+
const kind = toOpenTelemetrySpanKind(spanKind);
|
|
44
|
+
const links = toOpenTelemetryLinks(spanLinks);
|
|
45
|
+
return {
|
|
46
|
+
attributes,
|
|
47
|
+
kind,
|
|
48
|
+
links,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=transformations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformations.js","sourceRoot":"","sources":["../../src/transformations.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAQlC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAmB;IAEnB,MAAM,GAAG,GAAG,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC,WAAW,EAA2B,CAAC;IACnF,OAAO,QAAQ,CAAC,GAAG,CAAuB,CAAC;AAC7C,CAAC;AAaD;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,YAA+B,EAAE;IAC7D,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE;QAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACzE,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC;gBACP,OAAO,EAAE,WAAW;gBACpB,UAAU,EAAE,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAY,CAAC,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,WAAqC;IACjE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,IAAI,EAAE,CAAC;IAElE,MAAM,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,UAAU;QACV,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n InstrumenterSpanOptions,\n TracingSpanKind,\n TracingSpanLink,\n} from \"@azure/core-tracing\";\nimport type { Link, SpanOptions } from \"@opentelemetry/api\";\nimport { SpanKind, trace } from \"@opentelemetry/api\";\nimport { sanitizeAttributes } from \"@opentelemetry/core\";\n\n/**\n * Converts our TracingSpanKind to the corresponding OpenTelemetry SpanKind.\n *\n * By default it will return {@link SpanKind.INTERNAL}\n * @param tracingSpanKind - The core tracing {@link TracingSpanKind}\n * @returns - The OpenTelemetry {@link SpanKind}\n */\nexport function toOpenTelemetrySpanKind<K extends TracingSpanKind>(\n tracingSpanKind?: K,\n): SpanKindMapping[K] {\n const key = (tracingSpanKind || \"internal\").toUpperCase() as keyof typeof SpanKind;\n return SpanKind[key] as SpanKindMapping[K];\n}\n\n/**\n * A mapping between our {@link TracingSpanKind} union type and OpenTelemetry's {@link SpanKind}.\n */\ntype SpanKindMapping = {\n client: SpanKind.CLIENT;\n server: SpanKind.SERVER;\n producer: SpanKind.PRODUCER;\n consumer: SpanKind.CONSUMER;\n internal: SpanKind.INTERNAL;\n};\n\n/**\n * Converts core-tracing's TracingSpanLink to OpenTelemetry's Link\n *\n * @param spanLinks - The core tracing {@link TracingSpanLink} to convert\n * @returns A set of {@link Link}s\n */\nfunction toOpenTelemetryLinks(spanLinks: TracingSpanLink[] = []): Link[] {\n return spanLinks.reduce((acc, tracingSpanLink) => {\n const spanContext = trace.getSpanContext(tracingSpanLink.tracingContext);\n if (spanContext) {\n acc.push({\n context: spanContext,\n attributes: sanitizeAttributes(tracingSpanLink.attributes),\n });\n }\n return acc;\n }, [] as Link[]);\n}\n\n/**\n * Converts core-tracing span options to OpenTelemetry options.\n *\n * @param spanOptions - The {@link InstrumenterSpanOptions} to convert.\n * @returns An OpenTelemetry {@link SpanOptions} that can be used when creating a span.\n */\nexport function toSpanOptions(spanOptions?: InstrumenterSpanOptions): SpanOptions {\n const { spanAttributes, spanLinks, spanKind } = spanOptions || {};\n\n const attributes = sanitizeAttributes(spanAttributes);\n const kind = toOpenTelemetrySpanKind(spanKind);\n const links = toOpenTelemetryLinks(spanLinks);\n\n return {\n attributes,\n kind,\n links,\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure/opentelemetry-instrumentation-azure-sdk",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.8",
|
|
4
4
|
"description": "Instrumentation client for the Azure SDK.",
|
|
5
5
|
"sdk-type": "client",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/commonjs/index.js",
|
|
8
|
+
"module": "./dist/esm/index.js",
|
|
9
|
+
"browser": "dist/browser/index.js",
|
|
10
|
+
"react-native": "dist/react-native/index.js",
|
|
12
11
|
"//metadata": {
|
|
13
12
|
"constantPaths": [
|
|
14
13
|
{
|
|
@@ -17,35 +16,33 @@
|
|
|
17
16
|
}
|
|
18
17
|
]
|
|
19
18
|
},
|
|
20
|
-
"types": "
|
|
19
|
+
"types": "./dist/commonjs/index.d.ts",
|
|
21
20
|
"scripts": {
|
|
22
|
-
"
|
|
21
|
+
"build": "npm run clean && dev-tool run build-package && dev-tool run extract-api",
|
|
23
22
|
"build:samples": "echo Obsolete",
|
|
24
|
-
"build:test": "
|
|
25
|
-
"build": "npm run clean && tsc -p . && dev-tool run bundle && dev-tool run extract-api",
|
|
23
|
+
"build:test": "echo skipped. actual commands inlined in browser test scripts",
|
|
26
24
|
"check-format": "dev-tool run vendored prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"",
|
|
27
|
-
"clean": "rimraf --glob dist dist-* temp types *.tgz *.log",
|
|
25
|
+
"clean": "dev-tool run vendored rimraf --glob dist dist-* temp types *.tgz *.log",
|
|
28
26
|
"execute:samples": "dev-tool samples run samples-dev",
|
|
29
|
-
"extract-api": "
|
|
27
|
+
"extract-api": "dev-tool run build-package && dev-tool run extract-api",
|
|
30
28
|
"format": "dev-tool run vendored prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"",
|
|
31
29
|
"generate:client": "autorest --typescript ./swagger/README.md",
|
|
32
|
-
"integration-test:browser": "karma start --single-run",
|
|
33
|
-
"integration-test:node": "dev-tool run test:node-js-input --no-test-proxy",
|
|
34
30
|
"integration-test": "npm run integration-test:node && npm run integration-test:browser",
|
|
35
|
-
"
|
|
36
|
-
"
|
|
31
|
+
"integration-test:browser": "echo skipped",
|
|
32
|
+
"integration-test:node": "dev-tool run test:vitest --no-test-proxy --esm",
|
|
33
|
+
"lint": "eslint package.json api-extractor.json README.md src test",
|
|
34
|
+
"lint:fix": "eslint package.json api-extractor.json README.md src test --fix --fix-type [problem,suggestion]",
|
|
37
35
|
"pack": "npm pack 2>&1",
|
|
36
|
+
"test": "npm run clean && dev-tool run build-package && npm run unit-test:node && dev-tool run bundle && npm run unit-test:browser && npm run integration-test",
|
|
38
37
|
"test:browser": "npm run clean && npm run build:test && npm run unit-test:browser && npm run integration-test:browser",
|
|
39
|
-
"test:node": "npm run clean &&
|
|
40
|
-
"test": "npm run
|
|
41
|
-
"unit-test:browser": "
|
|
42
|
-
"unit-test:node": "dev-tool run test:
|
|
43
|
-
"
|
|
38
|
+
"test:node": "npm run clean && dev-tool run build-package && npm run unit-test:node && npm run integration-test:node",
|
|
39
|
+
"unit-test": "npm run unit-test:node && npm run unit-test:browser",
|
|
40
|
+
"unit-test:browser": "npm run clean && dev-tool run build-package && dev-tool run build-test && dev-tool run test:vitest --no-test-proxy --browser",
|
|
41
|
+
"unit-test:node": "dev-tool run test:vitest --no-test-proxy",
|
|
42
|
+
"update-snippets": "dev-tool run update-snippets"
|
|
44
43
|
},
|
|
45
44
|
"files": [
|
|
46
45
|
"dist/",
|
|
47
|
-
"dist-esm/src/",
|
|
48
|
-
"types/latest/",
|
|
49
46
|
"README.md",
|
|
50
47
|
"LICENSE"
|
|
51
48
|
],
|
|
@@ -68,52 +65,71 @@
|
|
|
68
65
|
"sideEffects": false,
|
|
69
66
|
"prettier": "@azure/eslint-plugin-azure-sdk/prettier.json",
|
|
70
67
|
"dependencies": {
|
|
71
|
-
"@azure/core-tracing": "^1.
|
|
68
|
+
"@azure/core-tracing": "^1.2.0",
|
|
72
69
|
"@azure/logger": "^1.0.0",
|
|
73
70
|
"@opentelemetry/api": "^1.9.0",
|
|
74
|
-
"@opentelemetry/core": "^1.
|
|
75
|
-
"@opentelemetry/instrumentation": "^0.
|
|
76
|
-
"tslib": "^2.
|
|
71
|
+
"@opentelemetry/core": "^1.30.1",
|
|
72
|
+
"@opentelemetry/instrumentation": "^0.57.1",
|
|
73
|
+
"tslib": "^2.7.0"
|
|
77
74
|
},
|
|
78
75
|
"devDependencies": {
|
|
79
|
-
"@azure/core-rest-pipeline": "^1.
|
|
76
|
+
"@azure/core-rest-pipeline": "^1.18.1",
|
|
80
77
|
"@azure/dev-tool": "^1.0.0",
|
|
81
78
|
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
|
|
82
|
-
"@
|
|
83
|
-
"@opentelemetry/sdk-trace-
|
|
84
|
-
"@opentelemetry/sdk-trace-node": "^1.25.1",
|
|
85
|
-
"@types/chai": "^4.1.6",
|
|
86
|
-
"@types/mocha": "^10.0.0",
|
|
79
|
+
"@opentelemetry/sdk-trace-base": "^1.30.1",
|
|
80
|
+
"@opentelemetry/sdk-trace-node": "^1.30.1",
|
|
87
81
|
"@types/node": "^18.0.0",
|
|
88
|
-
"@
|
|
89
|
-
"
|
|
90
|
-
"cross-env": "^7.0.2",
|
|
82
|
+
"@vitest/browser": "^3.0.3",
|
|
83
|
+
"@vitest/coverage-istanbul": "^3.0.3",
|
|
91
84
|
"dotenv": "^16.0.0",
|
|
92
|
-
"eslint": "^
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"karma-coverage": "^2.0.0",
|
|
97
|
-
"karma-env-preprocessor": "^0.1.1",
|
|
98
|
-
"karma-firefox-launcher": "^1.1.0",
|
|
99
|
-
"karma-junit-reporter": "^2.0.1",
|
|
100
|
-
"karma-mocha": "^2.0.1",
|
|
101
|
-
"karma-mocha-reporter": "^2.2.5",
|
|
102
|
-
"mocha": "^10.0.0",
|
|
103
|
-
"nyc": "^17.0.0",
|
|
104
|
-
"rimraf": "^5.0.5",
|
|
105
|
-
"sinon": "^17.0.0",
|
|
106
|
-
"source-map-support": "^0.5.9",
|
|
107
|
-
"tsx": "^4.7.1",
|
|
108
|
-
"typescript": "~5.5.3",
|
|
109
|
-
"util": "^0.12.1"
|
|
85
|
+
"eslint": "^9.9.0",
|
|
86
|
+
"playwright": "^1.49.1",
|
|
87
|
+
"typescript": "~5.7.2",
|
|
88
|
+
"vitest": "^3.0.3"
|
|
110
89
|
},
|
|
111
90
|
"//sampleConfiguration": {
|
|
112
91
|
"skipFolder": true,
|
|
113
92
|
"disableDocsMs": true,
|
|
114
93
|
"productName": "Azure OpenTelemetry Instrumentation",
|
|
115
94
|
"productSlugs": [],
|
|
116
|
-
"apiRefLink": "https://
|
|
95
|
+
"apiRefLink": "https://learn.microsoft.com/javascript/api/",
|
|
117
96
|
"requiredResources": {}
|
|
97
|
+
},
|
|
98
|
+
"tshy": {
|
|
99
|
+
"project": "./tsconfig.src.json",
|
|
100
|
+
"exports": {
|
|
101
|
+
"./package.json": "./package.json",
|
|
102
|
+
".": "./src/index.ts"
|
|
103
|
+
},
|
|
104
|
+
"dialects": [
|
|
105
|
+
"esm",
|
|
106
|
+
"commonjs"
|
|
107
|
+
],
|
|
108
|
+
"esmDialects": [
|
|
109
|
+
"browser",
|
|
110
|
+
"react-native"
|
|
111
|
+
],
|
|
112
|
+
"selfLink": false
|
|
113
|
+
},
|
|
114
|
+
"exports": {
|
|
115
|
+
"./package.json": "./package.json",
|
|
116
|
+
".": {
|
|
117
|
+
"browser": {
|
|
118
|
+
"types": "./dist/browser/index.d.ts",
|
|
119
|
+
"default": "./dist/browser/index.js"
|
|
120
|
+
},
|
|
121
|
+
"react-native": {
|
|
122
|
+
"types": "./dist/react-native/index.d.ts",
|
|
123
|
+
"default": "./dist/react-native/index.js"
|
|
124
|
+
},
|
|
125
|
+
"import": {
|
|
126
|
+
"types": "./dist/esm/index.d.ts",
|
|
127
|
+
"default": "./dist/esm/index.js"
|
|
128
|
+
},
|
|
129
|
+
"require": {
|
|
130
|
+
"types": "./dist/commonjs/index.d.ts",
|
|
131
|
+
"default": "./dist/commonjs/index.js"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
118
134
|
}
|
|
119
135
|
}
|