@microsoft/opentelemetry 0.1.0-alpha.2 → 0.1.0-alpha.3
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/dist/commonjs/a365/configuration/A365Configuration.d.ts +42 -0
- package/dist/commonjs/a365/configuration/A365Configuration.d.ts.map +1 -0
- package/dist/commonjs/a365/configuration/A365Configuration.js +162 -0
- package/dist/commonjs/a365/configuration/A365Configuration.js.map +1 -0
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts +53 -0
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -0
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.js +5 -0
- package/dist/commonjs/a365/configuration/A365ConfigurationOptions.js.map +1 -0
- package/dist/commonjs/a365/configuration/index.d.ts +3 -0
- package/dist/commonjs/a365/configuration/index.d.ts.map +1 -0
- package/dist/commonjs/a365/configuration/index.js +9 -0
- package/dist/commonjs/a365/configuration/index.js.map +1 -0
- package/dist/commonjs/a365/constants.d.ts +76 -0
- package/dist/commonjs/a365/constants.d.ts.map +1 -0
- package/dist/commonjs/a365/constants.js +99 -0
- package/dist/commonjs/a365/constants.js.map +1 -0
- package/dist/commonjs/a365/context/tokenContext.d.ts +25 -0
- package/dist/commonjs/a365/context/tokenContext.d.ts.map +1 -0
- package/dist/commonjs/a365/context/tokenContext.js +67 -0
- package/dist/commonjs/a365/context/tokenContext.js.map +1 -0
- package/dist/commonjs/a365/context.d.ts +31 -0
- package/dist/commonjs/a365/context.d.ts.map +1 -0
- package/dist/commonjs/a365/context.js +109 -0
- package/dist/commonjs/a365/context.js.map +1 -0
- package/dist/commonjs/a365/contracts.d.ts +250 -0
- package/dist/commonjs/a365/contracts.d.ts.map +1 -0
- package/dist/commonjs/a365/contracts.js +52 -0
- package/dist/commonjs/a365/contracts.js.map +1 -0
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts +25 -0
- package/dist/commonjs/a365/exporter/Agent365Exporter.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/Agent365Exporter.js +220 -0
- package/dist/commonjs/a365/exporter/Agent365Exporter.js.map +1 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts +43 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js +30 -0
- package/dist/commonjs/a365/exporter/Agent365ExporterOptions.js.map +1 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts +9 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.js +15 -0
- package/dist/commonjs/a365/exporter/ExporterEventNames.js.map +1 -0
- package/dist/commonjs/a365/exporter/index.d.ts +6 -0
- package/dist/commonjs/a365/exporter/index.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/index.js +15 -0
- package/dist/commonjs/a365/exporter/index.js.map +1 -0
- package/dist/commonjs/a365/exporter/utils.d.ts +41 -0
- package/dist/commonjs/a365/exporter/utils.d.ts.map +1 -0
- package/dist/commonjs/a365/exporter/utils.js +410 -0
- package/dist/commonjs/a365/exporter/utils.js.map +1 -0
- package/dist/commonjs/a365/index.d.ts +16 -0
- package/dist/commonjs/a365/index.d.ts.map +1 -0
- package/dist/commonjs/a365/index.js +54 -0
- package/dist/commonjs/a365/index.js.map +1 -0
- package/dist/commonjs/a365/message-utils.d.ts +42 -0
- package/dist/commonjs/a365/message-utils.d.ts.map +1 -0
- package/dist/commonjs/a365/message-utils.js +116 -0
- package/dist/commonjs/a365/message-utils.js.map +1 -0
- package/dist/commonjs/a365/middleware/BaggageBuilder.d.ts +112 -0
- package/dist/commonjs/a365/middleware/BaggageBuilder.d.ts.map +1 -0
- package/dist/commonjs/a365/middleware/BaggageBuilder.js +249 -0
- package/dist/commonjs/a365/middleware/BaggageBuilder.js.map +1 -0
- package/dist/commonjs/a365/middleware/index.d.ts +2 -0
- package/dist/commonjs/a365/middleware/index.d.ts.map +1 -0
- package/dist/commonjs/a365/middleware/index.js +9 -0
- package/dist/commonjs/a365/middleware/index.js.map +1 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts +32 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.d.ts.map +1 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.js +104 -0
- package/dist/commonjs/a365/processors/A365SpanProcessor.js.map +1 -0
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts +44 -0
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.d.ts.map +1 -0
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js +260 -0
- package/dist/commonjs/a365/processors/PerRequestSpanProcessor.js.map +1 -0
- package/dist/commonjs/a365/processors/index.d.ts +5 -0
- package/dist/commonjs/a365/processors/index.d.ts.map +1 -0
- package/dist/commonjs/a365/processors/index.js +13 -0
- package/dist/commonjs/a365/processors/index.js.map +1 -0
- package/dist/commonjs/a365/processors/util.d.ts +10 -0
- package/dist/commonjs/a365/processors/util.d.ts.map +1 -0
- package/dist/commonjs/a365/processors/util.js +56 -0
- package/dist/commonjs/a365/processors/util.js.map +1 -0
- package/dist/commonjs/a365/scopes/ExecuteToolScope.d.ts +24 -0
- package/dist/commonjs/a365/scopes/ExecuteToolScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/ExecuteToolScope.js +60 -0
- package/dist/commonjs/a365/scopes/ExecuteToolScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/InferenceScope.d.ts +29 -0
- package/dist/commonjs/a365/scopes/InferenceScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/InferenceScope.js +75 -0
- package/dist/commonjs/a365/scopes/InferenceScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/InvokeAgentScope.d.ts +25 -0
- package/dist/commonjs/a365/scopes/InvokeAgentScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/InvokeAgentScope.js +84 -0
- package/dist/commonjs/a365/scopes/InvokeAgentScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts +59 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.js +199 -0
- package/dist/commonjs/a365/scopes/OpenTelemetryScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/OutputScope.d.ts +26 -0
- package/dist/commonjs/a365/scopes/OutputScope.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/OutputScope.js +73 -0
- package/dist/commonjs/a365/scopes/OutputScope.js.map +1 -0
- package/dist/commonjs/a365/scopes/index.d.ts +6 -0
- package/dist/commonjs/a365/scopes/index.d.ts.map +1 -0
- package/dist/commonjs/a365/scopes/index.js +16 -0
- package/dist/commonjs/a365/scopes/index.js.map +1 -0
- package/dist/commonjs/a365/utils/utils.d.ts +6 -0
- package/dist/commonjs/a365/utils/utils.d.ts.map +1 -0
- package/dist/commonjs/a365/utils/utils.js +14 -0
- package/dist/commonjs/a365/utils/utils.js.map +1 -0
- package/dist/commonjs/azureMonitor/metrics/quickpulse/types.d.ts +1 -1
- package/dist/commonjs/azureMonitor/traces/handler.d.ts.map +1 -1
- package/dist/commonjs/azureMonitor/traces/handler.js +8 -2
- package/dist/commonjs/azureMonitor/traces/handler.js.map +1 -1
- package/dist/commonjs/distro/distro.d.ts +1 -1
- package/dist/commonjs/distro/distro.d.ts.map +1 -1
- package/dist/commonjs/distro/distro.js +44 -92
- package/dist/commonjs/distro/distro.js.map +1 -1
- package/dist/commonjs/distro/types.d.ts +2 -1
- package/dist/commonjs/distro/types.d.ts.map +1 -1
- package/dist/commonjs/index.d.ts +5 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +33 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/package.json +1 -0
- package/dist/commonjs/shared/jsonConfig.d.ts +2 -1
- package/dist/commonjs/shared/jsonConfig.d.ts.map +1 -1
- package/dist/commonjs/shared/module.js +15 -11
- package/dist/commonjs/shared/module.js.map +1 -1
- package/dist/commonjs/types.d.ts +4 -30
- package/dist/commonjs/types.d.ts.map +1 -1
- package/dist/commonjs/types.js +1 -1
- package/dist/commonjs/types.js.map +1 -1
- package/dist/esm/a365/configuration/A365Configuration.d.ts +42 -0
- package/dist/esm/a365/configuration/A365Configuration.d.ts.map +1 -0
- package/dist/esm/a365/configuration/A365Configuration.js +158 -0
- package/dist/esm/a365/configuration/A365Configuration.js.map +1 -0
- package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts +53 -0
- package/dist/esm/a365/configuration/A365ConfigurationOptions.d.ts.map +1 -0
- package/dist/esm/a365/configuration/A365ConfigurationOptions.js +4 -0
- package/dist/esm/a365/configuration/A365ConfigurationOptions.js.map +1 -0
- package/dist/esm/a365/configuration/index.d.ts +3 -0
- package/dist/esm/a365/configuration/index.d.ts.map +1 -0
- package/dist/esm/a365/configuration/index.js +4 -0
- package/dist/esm/a365/configuration/index.js.map +1 -0
- package/dist/esm/a365/constants.d.ts +76 -0
- package/dist/esm/a365/constants.d.ts.map +1 -0
- package/dist/esm/a365/constants.js +95 -0
- package/dist/esm/a365/constants.js.map +1 -0
- package/dist/esm/a365/context/tokenContext.d.ts +25 -0
- package/dist/esm/a365/context/tokenContext.d.ts.map +1 -0
- package/dist/esm/a365/context/tokenContext.js +62 -0
- package/dist/esm/a365/context/tokenContext.js.map +1 -0
- package/dist/esm/a365/context.d.ts +31 -0
- package/dist/esm/a365/context.d.ts.map +1 -0
- package/dist/esm/a365/context.js +101 -0
- package/dist/esm/a365/context.js.map +1 -0
- package/dist/esm/a365/contracts.d.ts +250 -0
- package/dist/esm/a365/contracts.d.ts.map +1 -0
- package/dist/esm/a365/contracts.js +49 -0
- package/dist/esm/a365/contracts.js.map +1 -0
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts +25 -0
- package/dist/esm/a365/exporter/Agent365Exporter.d.ts.map +1 -0
- package/dist/esm/a365/exporter/Agent365Exporter.js +216 -0
- package/dist/esm/a365/exporter/Agent365Exporter.js.map +1 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts +43 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.d.ts.map +1 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js +26 -0
- package/dist/esm/a365/exporter/Agent365ExporterOptions.js.map +1 -0
- package/dist/esm/a365/exporter/ExporterEventNames.d.ts +9 -0
- package/dist/esm/a365/exporter/ExporterEventNames.d.ts.map +1 -0
- package/dist/esm/a365/exporter/ExporterEventNames.js +12 -0
- package/dist/esm/a365/exporter/ExporterEventNames.js.map +1 -0
- package/dist/esm/a365/exporter/index.d.ts +6 -0
- package/dist/esm/a365/exporter/index.d.ts.map +1 -0
- package/dist/esm/a365/exporter/index.js +7 -0
- package/dist/esm/a365/exporter/index.js.map +1 -0
- package/dist/esm/a365/exporter/utils.d.ts +41 -0
- package/dist/esm/a365/exporter/utils.d.ts.map +1 -0
- package/dist/esm/a365/exporter/utils.js +398 -0
- package/dist/esm/a365/exporter/utils.js.map +1 -0
- package/dist/esm/a365/index.d.ts +16 -0
- package/dist/esm/a365/index.d.ts.map +1 -0
- package/dist/esm/a365/index.js +20 -0
- package/dist/esm/a365/index.js.map +1 -0
- package/dist/esm/a365/message-utils.d.ts +42 -0
- package/dist/esm/a365/message-utils.d.ts.map +1 -0
- package/dist/esm/a365/message-utils.js +107 -0
- package/dist/esm/a365/message-utils.js.map +1 -0
- package/dist/esm/a365/middleware/BaggageBuilder.d.ts +112 -0
- package/dist/esm/a365/middleware/BaggageBuilder.d.ts.map +1 -0
- package/dist/esm/a365/middleware/BaggageBuilder.js +244 -0
- package/dist/esm/a365/middleware/BaggageBuilder.js.map +1 -0
- package/dist/esm/a365/middleware/index.d.ts +2 -0
- package/dist/esm/a365/middleware/index.d.ts.map +1 -0
- package/dist/esm/a365/middleware/index.js +4 -0
- package/dist/esm/a365/middleware/index.js.map +1 -0
- package/dist/esm/a365/processors/A365SpanProcessor.d.ts +32 -0
- package/dist/esm/a365/processors/A365SpanProcessor.d.ts.map +1 -0
- package/dist/esm/a365/processors/A365SpanProcessor.js +100 -0
- package/dist/esm/a365/processors/A365SpanProcessor.js.map +1 -0
- package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts +44 -0
- package/dist/esm/a365/processors/PerRequestSpanProcessor.d.ts.map +1 -0
- package/dist/esm/a365/processors/PerRequestSpanProcessor.js +256 -0
- package/dist/esm/a365/processors/PerRequestSpanProcessor.js.map +1 -0
- package/dist/esm/a365/processors/index.d.ts +5 -0
- package/dist/esm/a365/processors/index.d.ts.map +1 -0
- package/dist/esm/a365/processors/index.js +6 -0
- package/dist/esm/a365/processors/index.js.map +1 -0
- package/dist/esm/a365/processors/util.d.ts +10 -0
- package/dist/esm/a365/processors/util.d.ts.map +1 -0
- package/dist/esm/a365/processors/util.js +53 -0
- package/dist/esm/a365/processors/util.js.map +1 -0
- package/dist/esm/a365/scopes/ExecuteToolScope.d.ts +24 -0
- package/dist/esm/a365/scopes/ExecuteToolScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/ExecuteToolScope.js +56 -0
- package/dist/esm/a365/scopes/ExecuteToolScope.js.map +1 -0
- package/dist/esm/a365/scopes/InferenceScope.d.ts +29 -0
- package/dist/esm/a365/scopes/InferenceScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/InferenceScope.js +71 -0
- package/dist/esm/a365/scopes/InferenceScope.js.map +1 -0
- package/dist/esm/a365/scopes/InvokeAgentScope.d.ts +25 -0
- package/dist/esm/a365/scopes/InvokeAgentScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/InvokeAgentScope.js +80 -0
- package/dist/esm/a365/scopes/InvokeAgentScope.js.map +1 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts +59 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.js +195 -0
- package/dist/esm/a365/scopes/OpenTelemetryScope.js.map +1 -0
- package/dist/esm/a365/scopes/OutputScope.d.ts +26 -0
- package/dist/esm/a365/scopes/OutputScope.d.ts.map +1 -0
- package/dist/esm/a365/scopes/OutputScope.js +69 -0
- package/dist/esm/a365/scopes/OutputScope.js.map +1 -0
- package/dist/esm/a365/scopes/index.d.ts +6 -0
- package/dist/esm/a365/scopes/index.d.ts.map +1 -0
- package/dist/esm/a365/scopes/index.js +8 -0
- package/dist/esm/a365/scopes/index.js.map +1 -0
- package/dist/esm/a365/utils/utils.d.ts +6 -0
- package/dist/esm/a365/utils/utils.d.ts.map +1 -0
- package/dist/esm/a365/utils/utils.js +11 -0
- package/dist/esm/a365/utils/utils.js.map +1 -0
- package/dist/esm/azureMonitor/metrics/quickpulse/types.d.ts +1 -1
- package/dist/esm/azureMonitor/traces/handler.d.ts.map +1 -1
- package/dist/esm/azureMonitor/traces/handler.js +5 -1
- package/dist/esm/azureMonitor/traces/handler.js.map +1 -1
- package/dist/esm/distro/distro.d.ts +1 -1
- package/dist/esm/distro/distro.d.ts.map +1 -1
- package/dist/esm/distro/distro.js +44 -92
- package/dist/esm/distro/distro.js.map +1 -1
- package/dist/esm/distro/types.d.ts +2 -1
- package/dist/esm/distro/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/shared/jsonConfig.d.ts +2 -1
- package/dist/esm/shared/jsonConfig.d.ts.map +1 -1
- package/dist/esm/types.d.ts +4 -30
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -1
- package/dist/esm/types.js.map +1 -1
- package/package.json +3 -4
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { SpanKind } from "@opentelemetry/api";
|
|
4
|
+
import { OpenTelemetryScope } from "./OpenTelemetryScope.js";
|
|
5
|
+
import { OpenTelemetryConstants } from "../constants.js";
|
|
6
|
+
/**
|
|
7
|
+
* Provides OpenTelemetry tracing scope for AI agent invocation operations.
|
|
8
|
+
*/
|
|
9
|
+
export class InvokeAgentScope extends OpenTelemetryScope {
|
|
10
|
+
/**
|
|
11
|
+
* Creates and starts a new scope for agent invocation tracing.
|
|
12
|
+
*
|
|
13
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
14
|
+
* @param invokeScopeDetails Scope-level details (endpoint).
|
|
15
|
+
* @param agentDetails The agent identity. `tenantId` is required.
|
|
16
|
+
* @param callerDetails Optional caller information (human, agent, or both for A2A).
|
|
17
|
+
* @param spanDetails Optional span configuration.
|
|
18
|
+
*/
|
|
19
|
+
static start(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails) {
|
|
20
|
+
return new InvokeAgentScope(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails);
|
|
21
|
+
}
|
|
22
|
+
constructor(request, invokeScopeDetails, agentDetails, callerDetails, spanDetails) {
|
|
23
|
+
if (!agentDetails.tenantId) {
|
|
24
|
+
throw new Error("InvokeAgentScope: tenantId is required on agentDetails");
|
|
25
|
+
}
|
|
26
|
+
const resolvedSpanDetails = {
|
|
27
|
+
...spanDetails,
|
|
28
|
+
spanKind: spanDetails?.spanKind ?? SpanKind.CLIENT,
|
|
29
|
+
};
|
|
30
|
+
super(OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, agentDetails.agentName
|
|
31
|
+
? `${OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME} ${agentDetails.agentName}`
|
|
32
|
+
: OpenTelemetryConstants.INVOKE_AGENT_OPERATION_NAME, agentDetails, resolvedSpanDetails, callerDetails?.userDetails);
|
|
33
|
+
// Provider name
|
|
34
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_PROVIDER_NAME_KEY, agentDetails.providerName);
|
|
35
|
+
// Session ID
|
|
36
|
+
this.setTagMaybe(OpenTelemetryConstants.SESSION_ID_KEY, request.sessionId);
|
|
37
|
+
// Endpoint
|
|
38
|
+
if (invokeScopeDetails.endpoint) {
|
|
39
|
+
this.setTagMaybe(OpenTelemetryConstants.SERVER_ADDRESS_KEY, invokeScopeDetails.endpoint.host);
|
|
40
|
+
if (invokeScopeDetails.endpoint.port && invokeScopeDetails.endpoint.port !== 443) {
|
|
41
|
+
this.setTagMaybe(OpenTelemetryConstants.SERVER_PORT_KEY, invokeScopeDetails.endpoint.port);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
// Channel
|
|
45
|
+
if (request.channel) {
|
|
46
|
+
this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel.name);
|
|
47
|
+
this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel.description);
|
|
48
|
+
}
|
|
49
|
+
// Conversation ID
|
|
50
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
|
|
51
|
+
// Request content as input messages
|
|
52
|
+
if (request.content != null) {
|
|
53
|
+
this.recordInputMessages(request.content);
|
|
54
|
+
}
|
|
55
|
+
// Caller agent details for A2A scenarios
|
|
56
|
+
const callerAgent = callerDetails?.callerAgentDetails;
|
|
57
|
+
if (callerAgent) {
|
|
58
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_NAME_KEY, callerAgent.agentName);
|
|
59
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_ID_KEY, callerAgent.agentId);
|
|
60
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_APPLICATION_ID_KEY, callerAgent.agentBlueprintId);
|
|
61
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_USER_ID_KEY, callerAgent.agentAUID);
|
|
62
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_EMAIL_KEY, callerAgent.agentEmail);
|
|
63
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_PLATFORM_ID_KEY, callerAgent.platformId);
|
|
64
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_AGENT_VERSION_KEY, callerAgent.agentVersion);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** Records response information for telemetry tracking. */
|
|
68
|
+
recordResponse(response) {
|
|
69
|
+
this.recordOutputMessages(response);
|
|
70
|
+
}
|
|
71
|
+
/** Records the input messages for telemetry tracking. */
|
|
72
|
+
recordInputMessages(messages) {
|
|
73
|
+
super.recordInputMessages(messages);
|
|
74
|
+
}
|
|
75
|
+
/** Records the output messages for telemetry tracking. */
|
|
76
|
+
recordOutputMessages(messages) {
|
|
77
|
+
super.recordOutputMessages(messages);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=InvokeAgentScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvokeAgentScope.js","sourceRoot":"","sources":["../../../../src/a365/scopes/InvokeAgentScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for OpenTelemetry tracing scopes.
|
|
3
|
+
*
|
|
4
|
+
* Adapted from microsoft/Agent365-nodejs agents-a365-observability/src/tracing/scopes/OpenTelemetryScope.ts
|
|
5
|
+
*/
|
|
6
|
+
import type { Span, SpanContext, AttributeValue, TimeInput } from "@opentelemetry/api";
|
|
7
|
+
import type { AgentDetails, UserDetails, SpanDetails, InputMessagesParam, OutputMessagesParam } from "../contracts.js";
|
|
8
|
+
/**
|
|
9
|
+
* Base class for OpenTelemetry tracing scopes.
|
|
10
|
+
*
|
|
11
|
+
* Subclasses: `InvokeAgentScope`, `ExecuteToolScope`, `InferenceScope`, `OutputScope`.
|
|
12
|
+
*/
|
|
13
|
+
export declare abstract class OpenTelemetryScope {
|
|
14
|
+
private static readonly tracer;
|
|
15
|
+
protected readonly span: Span;
|
|
16
|
+
private readonly wallClockStartMs;
|
|
17
|
+
private customStartTime?;
|
|
18
|
+
private customEndTime?;
|
|
19
|
+
private errorType?;
|
|
20
|
+
private hasEnded;
|
|
21
|
+
private readonly logger;
|
|
22
|
+
/**
|
|
23
|
+
* @param operationName The name of the operation being traced.
|
|
24
|
+
* @param spanName The display name of the span.
|
|
25
|
+
* @param agentDetails Optional agent details. Tenant ID is read from `agentDetails.tenantId`.
|
|
26
|
+
* @param spanDetails Optional span configuration including parent context, start/end times, span kind, and span links.
|
|
27
|
+
* @param userDetails Optional human caller identity details.
|
|
28
|
+
*/
|
|
29
|
+
protected constructor(operationName: string, spanName: string, agentDetails?: AgentDetails, spanDetails?: SpanDetails, userDetails?: UserDetails);
|
|
30
|
+
/** Makes this span active for the duration of the async callback execution. */
|
|
31
|
+
withActiveSpanAsync<T>(callback: () => Promise<T>): Promise<T>;
|
|
32
|
+
/** Gets the span context for this scope. */
|
|
33
|
+
getSpanContext(): SpanContext;
|
|
34
|
+
/** Records an error that occurred during the operation. */
|
|
35
|
+
recordError(error: Error): void;
|
|
36
|
+
/** Records multiple attribute key/value pairs. */
|
|
37
|
+
recordAttributes(attributes: Iterable<[string, AttributeValue]> | Record<string, AttributeValue> | null | undefined): void;
|
|
38
|
+
/** Records the input messages for telemetry tracking. */
|
|
39
|
+
protected recordInputMessages(messages: InputMessagesParam): void;
|
|
40
|
+
/** Records the output messages for telemetry tracking. */
|
|
41
|
+
protected recordOutputMessages(messages: OutputMessagesParam): void;
|
|
42
|
+
/** Sets a tag on the span if the value is not null or undefined. */
|
|
43
|
+
protected setTagMaybe<T extends string | number | boolean | string[] | number[]>(name: string, value: T | null | undefined): void;
|
|
44
|
+
/**
|
|
45
|
+
* Sets a custom end time for the scope.
|
|
46
|
+
* When set, `dispose()` will pass this value to `span.end()` instead of using wall-clock time.
|
|
47
|
+
*/
|
|
48
|
+
setEndTime(endTime: TimeInput): void;
|
|
49
|
+
/** Records a cancellation event on the span. */
|
|
50
|
+
recordCancellation(reason?: string): void;
|
|
51
|
+
/** Converts a TimeInput value to milliseconds since epoch. */
|
|
52
|
+
private static timeInputToMs;
|
|
53
|
+
private end;
|
|
54
|
+
/** Disposes the scope and finalizes telemetry data collection. */
|
|
55
|
+
[Symbol.dispose](): void;
|
|
56
|
+
/** Legacy dispose method for compatibility. */
|
|
57
|
+
dispose(): void;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=OpenTelemetryScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenTelemetryScope.d.ts","sourceRoot":"","sources":["../../../../src/a365/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGvF,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AASzB;;;;GAIG;AACH,8BAAsB,kBAAkB;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAErF,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,eAAe,CAAC,CAAY;IACpC,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C;;;;;;OAMG;IACH,SAAS,aACP,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW;IAyE3B,+EAA+E;IACxE,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKrE,4CAA4C;IACrC,cAAc,IAAI,WAAW;IAIpC,2DAA2D;IACpD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IActC,kDAAkD;IAC3C,gBAAgB,CACrB,UAAU,EACN,QAAQ,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC9B,IAAI,GACJ,SAAS,GACZ,IAAI;IAkBP,yDAAyD;IACzD,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAKjE,0DAA0D;IAC1D,SAAS,CAAC,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKnE,oEAAoE;IACpE,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,EAC7E,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1B,IAAI;IAQP;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAI3C,gDAAgD;IACzC,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAMhD,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAC,aAAa;IAO5B,OAAO,CAAC,GAAG;IAuBX,kEAAkE;IAC3D,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAW/B,+CAA+C;IACxC,OAAO,IAAI,IAAI;CAGvB"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { trace, SpanKind, SpanStatusCode, context } from "@opentelemetry/api";
|
|
4
|
+
import { OpenTelemetryConstants } from "../constants.js";
|
|
5
|
+
import { createContextWithParentSpanRef, isParentSpanRef } from "../context.js";
|
|
6
|
+
import { normalizeInputMessages, normalizeOutputMessages, serializeMessages, } from "../message-utils.js";
|
|
7
|
+
import { Logger } from "../../shared/logging/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Base class for OpenTelemetry tracing scopes.
|
|
10
|
+
*
|
|
11
|
+
* Subclasses: `InvokeAgentScope`, `ExecuteToolScope`, `InferenceScope`, `OutputScope`.
|
|
12
|
+
*/
|
|
13
|
+
export class OpenTelemetryScope {
|
|
14
|
+
static tracer = trace.getTracer(OpenTelemetryConstants.SOURCE_NAME);
|
|
15
|
+
span;
|
|
16
|
+
wallClockStartMs;
|
|
17
|
+
customStartTime;
|
|
18
|
+
customEndTime;
|
|
19
|
+
errorType;
|
|
20
|
+
hasEnded = false;
|
|
21
|
+
logger = Logger.getInstance();
|
|
22
|
+
/**
|
|
23
|
+
* @param operationName The name of the operation being traced.
|
|
24
|
+
* @param spanName The display name of the span.
|
|
25
|
+
* @param agentDetails Optional agent details. Tenant ID is read from `agentDetails.tenantId`.
|
|
26
|
+
* @param spanDetails Optional span configuration including parent context, start/end times, span kind, and span links.
|
|
27
|
+
* @param userDetails Optional human caller identity details.
|
|
28
|
+
*/
|
|
29
|
+
constructor(operationName, spanName, agentDetails, spanDetails, userDetails) {
|
|
30
|
+
const parentContext = spanDetails?.parentContext;
|
|
31
|
+
const startTime = spanDetails?.startTime;
|
|
32
|
+
const endTime = spanDetails?.endTime;
|
|
33
|
+
const spanLinks = spanDetails?.spanLinks;
|
|
34
|
+
const kind = spanDetails?.spanKind ?? SpanKind.CLIENT;
|
|
35
|
+
let currentContext = context.active();
|
|
36
|
+
if (parentContext) {
|
|
37
|
+
if (isParentSpanRef(parentContext)) {
|
|
38
|
+
currentContext = createContextWithParentSpanRef(currentContext, parentContext);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
currentContext = parentContext;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
this.span = OpenTelemetryScope.tracer.startSpan(spanName, {
|
|
45
|
+
kind,
|
|
46
|
+
startTime,
|
|
47
|
+
links: spanLinks,
|
|
48
|
+
attributes: {
|
|
49
|
+
[OpenTelemetryConstants.GEN_AI_OPERATION_NAME_KEY]: operationName,
|
|
50
|
+
},
|
|
51
|
+
}, currentContext);
|
|
52
|
+
this.wallClockStartMs = Date.now();
|
|
53
|
+
if (startTime !== undefined) {
|
|
54
|
+
this.customStartTime = startTime;
|
|
55
|
+
}
|
|
56
|
+
this.customEndTime = endTime;
|
|
57
|
+
// Set agent details
|
|
58
|
+
if (agentDetails) {
|
|
59
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_ID_KEY, agentDetails.agentId);
|
|
60
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_NAME_KEY, agentDetails.agentName);
|
|
61
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_DESCRIPTION_KEY, agentDetails.agentDescription);
|
|
62
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_PLATFORM_ID_KEY, agentDetails.platformId);
|
|
63
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_ICON_URI_KEY, agentDetails.iconUri);
|
|
64
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_AUID_KEY, agentDetails.agentAUID);
|
|
65
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_EMAIL_KEY, agentDetails.agentEmail);
|
|
66
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_BLUEPRINT_ID_KEY, agentDetails.agentBlueprintId);
|
|
67
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_AGENT_VERSION_KEY, agentDetails.agentVersion);
|
|
68
|
+
}
|
|
69
|
+
// Set tenant ID
|
|
70
|
+
this.setTagMaybe(OpenTelemetryConstants.TENANT_ID_KEY, agentDetails?.tenantId);
|
|
71
|
+
// Set caller details
|
|
72
|
+
if (userDetails) {
|
|
73
|
+
this.setTagMaybe(OpenTelemetryConstants.USER_ID_KEY, userDetails.userId);
|
|
74
|
+
this.setTagMaybe(OpenTelemetryConstants.USER_EMAIL_KEY, userDetails.userEmail);
|
|
75
|
+
this.setTagMaybe(OpenTelemetryConstants.USER_NAME_KEY, userDetails.userName);
|
|
76
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CALLER_CLIENT_IP_KEY, userDetails.callerClientIp);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** Makes this span active for the duration of the async callback execution. */
|
|
80
|
+
withActiveSpanAsync(callback) {
|
|
81
|
+
const newContext = trace.setSpan(context.active(), this.span);
|
|
82
|
+
return context.with(newContext, callback);
|
|
83
|
+
}
|
|
84
|
+
/** Gets the span context for this scope. */
|
|
85
|
+
getSpanContext() {
|
|
86
|
+
return this.span.spanContext();
|
|
87
|
+
}
|
|
88
|
+
/** Records an error that occurred during the operation. */
|
|
89
|
+
recordError(error) {
|
|
90
|
+
if ("status" in error && typeof error.status === "number") {
|
|
91
|
+
this.errorType = String(error.status);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.errorType = error.constructor.name;
|
|
95
|
+
}
|
|
96
|
+
this.span.setStatus({
|
|
97
|
+
code: SpanStatusCode.ERROR,
|
|
98
|
+
message: error.message,
|
|
99
|
+
});
|
|
100
|
+
this.span.recordException(error);
|
|
101
|
+
}
|
|
102
|
+
/** Records multiple attribute key/value pairs. */
|
|
103
|
+
recordAttributes(attributes) {
|
|
104
|
+
if (!attributes)
|
|
105
|
+
return;
|
|
106
|
+
if (Symbol.iterator in Object(attributes) && typeof attributes !== "string") {
|
|
107
|
+
for (const [key, value] of attributes) {
|
|
108
|
+
if (key && typeof key === "string" && key.trim()) {
|
|
109
|
+
this.span.setAttribute(key, value);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else if (typeof attributes === "object") {
|
|
114
|
+
for (const key of Object.keys(attributes)) {
|
|
115
|
+
if (key && key.trim()) {
|
|
116
|
+
this.span.setAttribute(key, attributes[key]);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** Records the input messages for telemetry tracking. */
|
|
122
|
+
recordInputMessages(messages) {
|
|
123
|
+
const wrapper = normalizeInputMessages(messages);
|
|
124
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_INPUT_MESSAGES_KEY, serializeMessages(wrapper));
|
|
125
|
+
}
|
|
126
|
+
/** Records the output messages for telemetry tracking. */
|
|
127
|
+
recordOutputMessages(messages) {
|
|
128
|
+
const wrapper = normalizeOutputMessages(messages);
|
|
129
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, serializeMessages(wrapper));
|
|
130
|
+
}
|
|
131
|
+
/** Sets a tag on the span if the value is not null or undefined. */
|
|
132
|
+
setTagMaybe(name, value) {
|
|
133
|
+
if (value != null) {
|
|
134
|
+
this.span.setAttributes({
|
|
135
|
+
[name]: value,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Sets a custom end time for the scope.
|
|
141
|
+
* When set, `dispose()` will pass this value to `span.end()` instead of using wall-clock time.
|
|
142
|
+
*/
|
|
143
|
+
setEndTime(endTime) {
|
|
144
|
+
this.customEndTime = endTime;
|
|
145
|
+
}
|
|
146
|
+
/** Records a cancellation event on the span. */
|
|
147
|
+
recordCancellation(reason) {
|
|
148
|
+
const message = reason ?? "Task was cancelled";
|
|
149
|
+
this.span.setStatus({ code: SpanStatusCode.ERROR, message });
|
|
150
|
+
this.errorType = OpenTelemetryConstants.ERROR_TYPE_CANCELLED;
|
|
151
|
+
}
|
|
152
|
+
/** Converts a TimeInput value to milliseconds since epoch. */
|
|
153
|
+
static timeInputToMs(t) {
|
|
154
|
+
if (typeof t === "number")
|
|
155
|
+
return t;
|
|
156
|
+
if (t instanceof Date)
|
|
157
|
+
return t.getTime();
|
|
158
|
+
if (Array.isArray(t) && t.length === 2)
|
|
159
|
+
return t[0] * 1000 + t[1] / 1_000_000;
|
|
160
|
+
return Date.now();
|
|
161
|
+
}
|
|
162
|
+
end() {
|
|
163
|
+
if (this.hasEnded)
|
|
164
|
+
return;
|
|
165
|
+
const startMs = this.customStartTime !== undefined
|
|
166
|
+
? OpenTelemetryScope.timeInputToMs(this.customStartTime)
|
|
167
|
+
: this.wallClockStartMs;
|
|
168
|
+
const endMs = this.customEndTime !== undefined
|
|
169
|
+
? OpenTelemetryScope.timeInputToMs(this.customEndTime)
|
|
170
|
+
: Date.now();
|
|
171
|
+
const durationMs = Math.max(0, endMs - startMs);
|
|
172
|
+
if (this.errorType) {
|
|
173
|
+
this.span.setAttributes({ [OpenTelemetryConstants.ERROR_TYPE_KEY]: this.errorType });
|
|
174
|
+
}
|
|
175
|
+
this.hasEnded = true;
|
|
176
|
+
this.logger.info(`[A365] Ending span[${this.span.spanContext().spanId}], duration: ${(durationMs / 1000).toFixed(3)}s`);
|
|
177
|
+
}
|
|
178
|
+
/** Disposes the scope and finalizes telemetry data collection. */
|
|
179
|
+
[Symbol.dispose]() {
|
|
180
|
+
if (!this.hasEnded) {
|
|
181
|
+
this.end();
|
|
182
|
+
if (this.customEndTime !== undefined) {
|
|
183
|
+
this.span.end(this.customEndTime);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
this.span.end();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** Legacy dispose method for compatibility. */
|
|
191
|
+
dispose() {
|
|
192
|
+
this[Symbol.dispose]();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=OpenTelemetryScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenTelemetryScope.js","sourceRoot":"","sources":["../../../../src/a365/scopes/OpenTelemetryScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { OpenTelemetryScope } from "./OpenTelemetryScope.js";
|
|
2
|
+
import type { AgentDetails, UserDetails, OutputResponse, Request, SpanDetails, ResponseMessagesParam } from "../contracts.js";
|
|
3
|
+
/**
|
|
4
|
+
* Provides OpenTelemetry tracing scope for output message tracing.
|
|
5
|
+
*/
|
|
6
|
+
export declare class OutputScope extends OpenTelemetryScope {
|
|
7
|
+
/**
|
|
8
|
+
* Creates and starts a new scope for output message tracing.
|
|
9
|
+
*
|
|
10
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
11
|
+
* @param response The response containing initial output messages.
|
|
12
|
+
* @param agentDetails The agent producing the output. `tenantId` is required.
|
|
13
|
+
* @param userDetails Optional human caller identity details.
|
|
14
|
+
* @param spanDetails Optional span configuration.
|
|
15
|
+
*/
|
|
16
|
+
static start(request: Request, response: OutputResponse, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): OutputScope;
|
|
17
|
+
private constructor();
|
|
18
|
+
/**
|
|
19
|
+
* Records the output messages for telemetry tracking.
|
|
20
|
+
* Overwrites any previously recorded output messages.
|
|
21
|
+
*/
|
|
22
|
+
recordOutputMessages(messages: ResponseMessagesParam): void;
|
|
23
|
+
private _setOutput;
|
|
24
|
+
private _isRawDict;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=OutputScope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputScope.d.ts","sourceRoot":"","sources":["../../../../src/a365/scopes/OutputScope.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,OAAO,EACP,WAAW,EACX,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAGzB;;GAEG;AACH,qBAAa,WAAY,SAAQ,kBAAkB;IACjD;;;;;;;;OAQG;WACW,KAAK,CACjB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,YAAY,EAC1B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,WAAW;IAId,OAAO;IAiCP;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAIlE,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,UAAU;CAQnB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { SpanKind } from "@opentelemetry/api";
|
|
4
|
+
import { OpenTelemetryScope } from "./OpenTelemetryScope.js";
|
|
5
|
+
import { OpenTelemetryConstants } from "../constants.js";
|
|
6
|
+
import { normalizeOutputMessages, serializeMessages } from "../message-utils.js";
|
|
7
|
+
import { A365_MESSAGE_SCHEMA_VERSION } from "../contracts.js";
|
|
8
|
+
/**
|
|
9
|
+
* Provides OpenTelemetry tracing scope for output message tracing.
|
|
10
|
+
*/
|
|
11
|
+
export class OutputScope extends OpenTelemetryScope {
|
|
12
|
+
/**
|
|
13
|
+
* Creates and starts a new scope for output message tracing.
|
|
14
|
+
*
|
|
15
|
+
* @param request Request payload (channel, conversationId, content, sessionId).
|
|
16
|
+
* @param response The response containing initial output messages.
|
|
17
|
+
* @param agentDetails The agent producing the output. `tenantId` is required.
|
|
18
|
+
* @param userDetails Optional human caller identity details.
|
|
19
|
+
* @param spanDetails Optional span configuration.
|
|
20
|
+
*/
|
|
21
|
+
static start(request, response, agentDetails, userDetails, spanDetails) {
|
|
22
|
+
return new OutputScope(request, response, agentDetails, userDetails, spanDetails);
|
|
23
|
+
}
|
|
24
|
+
constructor(request, response, agentDetails, userDetails, spanDetails) {
|
|
25
|
+
if (!agentDetails.tenantId) {
|
|
26
|
+
throw new Error("OutputScope: tenantId is required on agentDetails");
|
|
27
|
+
}
|
|
28
|
+
// spanKind for OutputScope is always CLIENT
|
|
29
|
+
const resolvedSpanDetails = { ...spanDetails, spanKind: SpanKind.CLIENT };
|
|
30
|
+
super(OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME, agentDetails.agentName
|
|
31
|
+
? `${OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME} ${agentDetails.agentName}`
|
|
32
|
+
: `${OpenTelemetryConstants.OUTPUT_MESSAGES_OPERATION_NAME} ${agentDetails.agentId}`, agentDetails, resolvedSpanDetails, userDetails);
|
|
33
|
+
// Set initial output messages
|
|
34
|
+
this._setOutput(response.messages);
|
|
35
|
+
// Conversation and channel
|
|
36
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_CONVERSATION_ID_KEY, request.conversationId);
|
|
37
|
+
this.setTagMaybe(OpenTelemetryConstants.CHANNEL_NAME_KEY, request.channel?.name);
|
|
38
|
+
this.setTagMaybe(OpenTelemetryConstants.CHANNEL_LINK_KEY, request.channel?.description);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Records the output messages for telemetry tracking.
|
|
42
|
+
* Overwrites any previously recorded output messages.
|
|
43
|
+
*/
|
|
44
|
+
recordOutputMessages(messages) {
|
|
45
|
+
this._setOutput(messages);
|
|
46
|
+
}
|
|
47
|
+
_setOutput(messages) {
|
|
48
|
+
// Dict (Record<string, unknown>) — treat as tool call result, serialize directly
|
|
49
|
+
if (this._isRawDict(messages)) {
|
|
50
|
+
try {
|
|
51
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, JSON.stringify(messages));
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, JSON.stringify({ error: "serialization failed" }));
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const normalized = normalizeOutputMessages(messages);
|
|
59
|
+
const wrapper = { version: A365_MESSAGE_SCHEMA_VERSION, messages: normalized.messages };
|
|
60
|
+
this.setTagMaybe(OpenTelemetryConstants.GEN_AI_OUTPUT_MESSAGES_KEY, serializeMessages(wrapper));
|
|
61
|
+
}
|
|
62
|
+
_isRawDict(messages) {
|
|
63
|
+
return (typeof messages === "object" &&
|
|
64
|
+
messages !== null &&
|
|
65
|
+
!Array.isArray(messages) &&
|
|
66
|
+
!("version" in messages && "messages" in messages));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=OutputScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputScope.js","sourceRoot":"","sources":["../../../../src/a365/scopes/OutputScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { OpenTelemetryScope } from "./OpenTelemetryScope.js";
|
|
2
|
+
export { InvokeAgentScope } from "./InvokeAgentScope.js";
|
|
3
|
+
export { ExecuteToolScope } from "./ExecuteToolScope.js";
|
|
4
|
+
export { InferenceScope } from "./InferenceScope.js";
|
|
5
|
+
export { OutputScope } from "./OutputScope.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/a365/scopes/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
export { OpenTelemetryScope } from "./OpenTelemetryScope.js";
|
|
4
|
+
export { InvokeAgentScope } from "./InvokeAgentScope.js";
|
|
5
|
+
export { ExecuteToolScope } from "./ExecuteToolScope.js";
|
|
6
|
+
export { InferenceScope } from "./InferenceScope.js";
|
|
7
|
+
export { OutputScope } from "./OutputScope.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/a365/scopes/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/a365/utils/utils.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGvD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Read an environment variable, trimmed and lowercased.
|
|
5
|
+
* Returns undefined if not set or empty.
|
|
6
|
+
*/
|
|
7
|
+
export function getEnv(name) {
|
|
8
|
+
const value = process.env[name]?.trim().toLowerCase();
|
|
9
|
+
return value || undefined;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/a365/utils/utils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,OAAO,KAAK,IAAI,SAAS,CAAC;AAC5B,CAAC"}
|
|
@@ -106,5 +106,5 @@ export declare const legacySemanticValues: string[];
|
|
|
106
106
|
* HTTP semantic convention values
|
|
107
107
|
* @internal
|
|
108
108
|
*/
|
|
109
|
-
export declare const httpSemanticValues: ("
|
|
109
|
+
export declare const httpSemanticValues: ("error.type" | "server.address" | "server.port" | "client.address" | "client.port" | "url.full" | "url.path" | "url.query" | "url.scheme" | "network.local.address" | "network.local.port" | "network.protocol.name" | "network.peer.address" | "network.peer.port" | "network.protocol.version" | "network.transport" | "user_agent.original" | "http.request.method" | "http.response.status_code")[];
|
|
110
110
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/azureMonitor/traces/handler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAWnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/azureMonitor/traces/handler.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAWnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAM/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;OAIG;gBACS,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa;IA0BzD,UAAU,IAAI,OAAO;IAIrB,qBAAqB,IAAI,kBAAkB;IAI3C,4BAA4B,IAAI,yBAAyB;IAIzD,mBAAmB,IAAI,eAAe,EAAE;IAI/C;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;OAEG;IACH,OAAO,CAAC,2BAA2B;CA0DpC"}
|
|
@@ -10,7 +10,11 @@ import { PgInstrumentation } from "@opentelemetry/instrumentation-pg";
|
|
|
10
10
|
import { RedisInstrumentation } from "@opentelemetry/instrumentation-redis";
|
|
11
11
|
import { ignoreOutgoingRequestHook } from "../utils/common.js";
|
|
12
12
|
import { AzureMonitorSpanProcessor } from "./spanProcessor.js";
|
|
13
|
-
import
|
|
13
|
+
// Default-import + destructure: this package is a webpack bundle so Node.js
|
|
14
|
+
// ESM cannot extract named exports from it (see Node error SyntaxError:
|
|
15
|
+
// "Named export 'AzureFunctionsInstrumentation' not found").
|
|
16
|
+
import azureFunctionsOtelPkg from "@azure/functions-opentelemetry-instrumentation";
|
|
17
|
+
const { AzureFunctionsInstrumentation } = azureFunctionsOtelPkg;
|
|
14
18
|
import { ApplicationInsightsSampler } from "./sampler.js";
|
|
15
19
|
/**
|
|
16
20
|
* Azure Monitor OpenTelemetry Trace Handler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/azureMonitor/traces/handler.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAKnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../src/azureMonitor/traces/handler.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAKnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,4EAA4E;AAC5E,wEAAwE;AACxE,6DAA6D;AAC7D,OAAO,qBAAqB,MAAM,gDAAgD,CAAC;AACnF,MAAM,EAAE,6BAA6B,EAAE,GAAG,qBAAqB,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,mBAAmB,CAAqB;IACxC,mBAAmB,CAA4B;IAC/C,cAAc,CAA4B;IAC1C,iBAAiB,CAAoB;IACrC,OAAO,CAAiB;IACxB,cAAc,CAAgB;IAC9B,QAAQ,CAAU;IAE1B;;;;OAIG;IACH,YAAY,MAAsB,EAAE,aAA4B;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QACvC,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC5E,yEAAyE;YACzE,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC9F,MAAM,YAAY,GAAiB;YACjC,kBAAkB,EAAE,GAAG;YACvB,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,mBAAmB,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9E,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,qBAAqB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,4BAA4B;QACjC,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,2BAA2B;QACjC,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YACtD,MAAM,0BAA0B,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB;iBACnE,IAAiC,CAAC;YACrC,MAAM,iCAAiC,GACrC,0BAA0B,CAAC,yBAAyB,CAAC;YACvD,MAAM,+BAA+B,GAAkC,CACrE,OAAuB,EACvB,EAAE;gBACF,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,oBAAoB;oBACpB,IAAI,iCAAiC,EAAE,CAAC;wBACtC,0BAA0B;wBAC1B,OAAO,iCAAiC,CAAC,OAAO,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YACF,0BAA0B,CAAC,yBAAyB,GAAG,+BAA+B,CAAC;YACvF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAClE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACzD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CACxE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,UAAU,CAAC,CACtE,CAAC;QACJ,CAAC;QACD,IACE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO;YAClD,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,EACnD,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;YAChE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CACzB,IAAI,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,CAAC,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -5,7 +5,7 @@ import type { MicrosoftOpenTelemetryOptions } from "../types.js";
|
|
|
5
5
|
*
|
|
6
6
|
* This is the primary entry point for the distro. It sets up OpenTelemetry
|
|
7
7
|
* providers and instrumentations, then attaches the configured exporters:
|
|
8
|
-
* - Azure Monitor (
|
|
8
|
+
* - Azure Monitor (enabled by default; disable with `options.azureMonitor.enabled = false`)
|
|
9
9
|
* - OTLP HTTP (when `OTEL_EXPORTER_OTLP_ENDPOINT` is set)
|
|
10
10
|
* - A365 (when `options.a365.enabled` is true or `ENABLE_A365_OBSERVABILITY_EXPORTER=true`)
|
|
11
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distro.d.ts","sourceRoot":"","sources":["../../../src/distro/distro.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"distro.d.ts","sourceRoot":"","sources":["../../../src/distro/distro.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAqBlD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AASjE;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,IAAI,CAoHvF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9D;AAED;;;GAGG;AAEH,wBAAgB,eAAe,IAAI,OAAO,GAAG,SAAS,CAErD"}
|