@traceloop/instrumentation-bedrock 0.8.0 → 0.8.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/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/src/instrumentation.d.ts +2 -2
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -13,11 +13,11 @@ interface BedrockInstrumentationConfig extends InstrumentationConfig {
|
|
|
13
13
|
exceptionLogger?: (e: Error) => void;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
declare class BedrockInstrumentation extends InstrumentationBase
|
|
16
|
+
declare class BedrockInstrumentation extends InstrumentationBase {
|
|
17
17
|
protected _config: BedrockInstrumentationConfig;
|
|
18
18
|
constructor(config?: BedrockInstrumentationConfig);
|
|
19
19
|
setConfig(config?: BedrockInstrumentationConfig): void;
|
|
20
|
-
protected init(): InstrumentationModuleDefinition
|
|
20
|
+
protected init(): InstrumentationModuleDefinition;
|
|
21
21
|
manuallyInstrument(module: typeof bedrock): void;
|
|
22
22
|
private wrap;
|
|
23
23
|
private unwrap;
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ var api = require('@opentelemetry/api');
|
|
|
5
5
|
var instrumentation = require('@opentelemetry/instrumentation');
|
|
6
6
|
var aiSemanticConventions = require('@traceloop/ai-semantic-conventions');
|
|
7
7
|
|
|
8
|
-
var version = "0.8.
|
|
8
|
+
var version = "0.8.8";
|
|
9
9
|
|
|
10
10
|
class BedrockInstrumentation extends instrumentation.InstrumentationBase {
|
|
11
11
|
constructor(config = {}) {
|
|
@@ -95,7 +95,7 @@ class BedrockInstrumentation extends instrumentation.InstrumentationBase {
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
catch (e) {
|
|
98
|
-
this._diag.
|
|
98
|
+
this._diag.debug(e);
|
|
99
99
|
(_b = (_a = this._config).exceptionLogger) === null || _b === void 0 ? void 0 : _b.call(_a, e);
|
|
100
100
|
}
|
|
101
101
|
return this.tracer.startSpan(`bedrock.completion`, {
|
|
@@ -163,7 +163,7 @@ class BedrockInstrumentation extends instrumentation.InstrumentationBase {
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
catch (e) {
|
|
166
|
-
this._diag.
|
|
166
|
+
this._diag.debug(e);
|
|
167
167
|
(_f = (_e = this._config).exceptionLogger) === null || _f === void 0 ? void 0 : _f.call(_e, e);
|
|
168
168
|
}
|
|
169
169
|
span.setStatus({ code: api.SpanStatusCode.OK });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/instrumentation.ts"],"sourcesContent":["/*\n * Copyright Traceloop\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n Span,\n Attributes,\n SpanKind,\n SpanStatusCode,\n context,\n trace,\n} from \"@opentelemetry/api\";\nimport {\n InstrumentationBase,\n InstrumentationModuleDefinition,\n InstrumentationNodeModuleDefinition,\n safeExecuteInTheMiddle,\n} from \"@opentelemetry/instrumentation\";\nimport { BedrockInstrumentationConfig } from \"./types\";\nimport type * as bedrock from \"@aws-sdk/client-bedrock-runtime\";\nimport {\n CONTEXT_KEY_ALLOW_TRACE_CONTENT,\n LLMRequestTypeValues,\n SpanAttributes,\n} from \"@traceloop/ai-semantic-conventions\";\nimport { version } from \"../package.json\";\n\nexport class BedrockInstrumentation extends InstrumentationBase<any> {\n protected declare _config: BedrockInstrumentationConfig;\n\n constructor(config: BedrockInstrumentationConfig = {}) {\n super(\"@traceloop/instrumentation-bedrock\", version, config);\n }\n\n public override setConfig(config: BedrockInstrumentationConfig = {}) {\n super.setConfig(config);\n }\n\n protected init(): InstrumentationModuleDefinition<any> {\n const module = new InstrumentationNodeModuleDefinition<any>(\n \"@aws-sdk/client-bedrock-runtime\",\n [\">=3.499.0\"],\n this.wrap.bind(this),\n this.unwrap.bind(this),\n );\n\n return module;\n }\n\n public manuallyInstrument(module: typeof bedrock) {\n this._diag.debug(`Patching @aws-sdk/client-bedrock-runtime manually`);\n\n this._wrap(\n module.BedrockRuntimeClient.prototype,\n \"send\",\n this.wrapperMethod(),\n );\n }\n\n private wrap(module: typeof bedrock, moduleVersion?: string) {\n this._diag.debug(\n `Patching @aws-sdk/client-bedrock-runtime@${moduleVersion}`,\n );\n\n this._wrap(\n module.BedrockRuntimeClient.prototype,\n \"send\",\n this.wrapperMethod(),\n );\n\n return module;\n }\n\n private unwrap(module: typeof bedrock, moduleVersion?: string) {\n this._diag.debug(\n `Unpatching @aws-sdk/client-bedrock-runtime@${moduleVersion}`,\n );\n\n this._unwrap(module.BedrockRuntimeClient.prototype, \"send\");\n }\n\n private wrapperMethod() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const plugin = this;\n // eslint-disable-next-line @typescript-eslint/ban-types\n return (original: Function) => {\n return function method(this: any, ...args: any) {\n const span = plugin._startSpan({\n params: args[0],\n });\n const execContext = trace.setSpan(context.active(), span);\n const execPromise = safeExecuteInTheMiddle(\n () => {\n return context.with(execContext, () => {\n return original.apply(this, args);\n });\n },\n (e) => {\n if (e) {\n plugin._diag.error(`Error in bedrock instrumentation`, e);\n }\n },\n );\n const wrappedPromise = plugin._wrapPromise(span, execPromise);\n return context.bind(execContext, wrappedPromise);\n };\n };\n }\n private _wrapPromise<T>(span: Span, promise: Promise<T>): Promise<T> {\n return promise\n .then(async (result) => {\n await this._endSpan({\n span,\n result: result as\n | bedrock.InvokeModelCommandOutput\n | bedrock.InvokeModelWithResponseStreamCommandOutput,\n });\n\n return new Promise<T>((resolve) => resolve(result));\n })\n .catch((error: Error) => {\n return new Promise<T>((_, reject) => {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error.message,\n });\n span.recordException(error);\n span.end();\n\n reject(error);\n });\n });\n }\n\n private _startSpan({\n params,\n }: {\n params: Parameters<bedrock.BedrockRuntimeClient[\"send\"]>[0];\n }): Span {\n let attributes: Attributes = {};\n\n try {\n const [vendor, model] = params.input.modelId\n ? params.input.modelId.split(\".\")\n : [\"\", \"\"];\n\n attributes = {\n [SpanAttributes.LLM_SYSTEM]: vendor,\n [SpanAttributes.LLM_REQUEST_MODEL]: model,\n [SpanAttributes.LLM_RESPONSE_MODEL]: model,\n [SpanAttributes.LLM_REQUEST_TYPE]: LLMRequestTypeValues.COMPLETION,\n };\n\n if (typeof params.input.body === \"string\") {\n const requestBody = JSON.parse(params.input.body);\n\n attributes = {\n ...attributes,\n ...this._setRequestAttributes(vendor, requestBody),\n };\n }\n } catch (e) {\n this._diag.warn(e);\n this._config.exceptionLogger?.(e);\n }\n\n return this.tracer.startSpan(`bedrock.completion`, {\n kind: SpanKind.CLIENT,\n attributes,\n });\n }\n\n private async _endSpan({\n span,\n result,\n }: {\n span: Span;\n result:\n | bedrock.InvokeModelCommandOutput\n | bedrock.InvokeModelWithResponseStreamCommandOutput;\n }) {\n try {\n if (\"body\" in result) {\n const attributes =\n \"attributes\" in span\n ? (span[\"attributes\"] as Record<string, any>)\n : {};\n\n if (SpanAttributes.LLM_SYSTEM in attributes) {\n if (!(result.body instanceof Object.getPrototypeOf(Uint8Array))) {\n const rawRes = result.body as AsyncIterable<bedrock.ResponseStream>;\n\n let streamedContent = \"\";\n for await (const value of rawRes) {\n // Convert it to a JSON String\n const jsonString = new TextDecoder().decode(value.chunk?.bytes);\n // Parse the JSON string\n const parsedResponse = JSON.parse(jsonString);\n\n if (\"amazon-bedrock-invocationMetrics\" in parsedResponse) {\n span.setAttribute(\n SpanAttributes.LLM_USAGE_PROMPT_TOKENS,\n parsedResponse[\"amazon-bedrock-invocationMetrics\"][\n \"inputTokenCount\"\n ],\n );\n span.setAttribute(\n SpanAttributes.LLM_USAGE_COMPLETION_TOKENS,\n parsedResponse[\"amazon-bedrock-invocationMetrics\"][\n \"outputTokenCount\"\n ],\n );\n\n span.setAttribute(\n SpanAttributes.LLM_USAGE_TOTAL_TOKENS,\n parsedResponse[\"amazon-bedrock-invocationMetrics\"][\n \"inputTokenCount\"\n ] +\n parsedResponse[\"amazon-bedrock-invocationMetrics\"][\n \"outputTokenCount\"\n ],\n );\n }\n\n let responseAttributes = this._setResponseAttributes(\n attributes[SpanAttributes.LLM_SYSTEM],\n parsedResponse,\n true,\n );\n\n // ! NOTE: This make sure the content always have all streamed chunks\n if (this._shouldSendPrompts()) {\n // Update local value with attribute value that was set by _setResponseAttributes\n streamedContent +=\n responseAttributes[\n `${SpanAttributes.LLM_COMPLETIONS}.0.content`\n ];\n // re-assign the new value to responseAttributes\n responseAttributes = {\n ...responseAttributes,\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n streamedContent,\n };\n }\n\n span.setAttributes(responseAttributes);\n }\n } else if (result.body instanceof Object.getPrototypeOf(Uint8Array)) {\n // Convert it to a JSON String\n const jsonString = new TextDecoder().decode(\n result.body as Uint8Array,\n );\n // Parse the JSON string\n const parsedResponse = JSON.parse(jsonString);\n\n const responseAttributes = this._setResponseAttributes(\n attributes[SpanAttributes.LLM_SYSTEM],\n parsedResponse,\n );\n\n span.setAttributes(responseAttributes);\n }\n }\n }\n } catch (e) {\n this._diag.warn(e);\n this._config.exceptionLogger?.(e);\n }\n\n span.setStatus({ code: SpanStatusCode.OK });\n span.end();\n }\n\n private _setRequestAttributes(\n vendor: string,\n requestBody: Record<string, any>,\n ) {\n switch (vendor) {\n case \"ai21\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]: requestBody[\"topP\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]: requestBody[\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]: requestBody[\"maxTokens\"],\n [SpanAttributes.LLM_PRESENCE_PENALTY]:\n requestBody[\"presencePenalty\"][\"scale\"],\n [SpanAttributes.LLM_FREQUENCY_PENALTY]:\n requestBody[\"frequencyPenalty\"][\"scale\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]:\n requestBody[\"prompt\"],\n }\n : {}),\n };\n }\n case \"amazon\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]:\n requestBody[\"textGenerationConfig\"][\"topP\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]:\n requestBody[\"textGenerationConfig\"][\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]:\n requestBody[\"textGenerationConfig\"][\"maxTokenCount\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]:\n requestBody[\"inputText\"],\n }\n : {}),\n };\n }\n case \"anthropic\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]: requestBody[\"top_p\"],\n [SpanAttributes.LLM_TOP_K]: requestBody[\"top_k\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]: requestBody[\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]:\n requestBody[\"max_tokens_to_sample\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]: requestBody[\n \"prompt\"\n ]\n // The format is removing when we are setting span attribute\n .replace(\"\\n\\nHuman:\", \"\")\n .replace(\"\\n\\nAssistant:\", \"\"),\n }\n : {}),\n };\n }\n case \"cohere\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]: requestBody[\"p\"],\n [SpanAttributes.LLM_TOP_K]: requestBody[\"k\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]: requestBody[\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]: requestBody[\"max_tokens\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]:\n requestBody[\"prompt\"],\n }\n : {}),\n };\n }\n case \"meta\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]: requestBody[\"top_p\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]: requestBody[\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]: requestBody[\"max_gen_len\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]:\n requestBody[\"prompt\"],\n }\n : {}),\n };\n }\n default:\n return {};\n }\n }\n\n private _setResponseAttributes(\n vendor: string,\n response: Record<string, any>,\n isStream = false,\n ) {\n switch (vendor) {\n case \"ai21\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]:\n response[\"completions\"][0][\"finishReason\"][\"reason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n response[\"completions\"][0][\"data\"][\"text\"],\n }\n : {}),\n };\n }\n case \"amazon\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]: isStream\n ? response[\"completionReason\"]\n : response[\"results\"][0][\"completionReason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n [SpanAttributes.LLM_USAGE_PROMPT_TOKENS]:\n response[\"inputTextTokenCount\"],\n [SpanAttributes.LLM_USAGE_COMPLETION_TOKENS]: isStream\n ? response[\"totalOutputTextTokenCount\"]\n : response[\"results\"][0][\"tokenCount\"],\n [SpanAttributes.LLM_USAGE_TOTAL_TOKENS]: isStream\n ? response[\"inputTextTokenCount\"] +\n response[\"totalOutputTextTokenCount\"]\n : response[\"inputTextTokenCount\"] +\n response[\"results\"][0][\"tokenCount\"],\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]: isStream\n ? response[\"outputText\"]\n : response[\"results\"][0][\"outputText\"],\n }\n : {}),\n };\n }\n case \"anthropic\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]:\n response[\"stop_reason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n response[\"completion\"],\n }\n : {}),\n };\n }\n case \"cohere\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]:\n response[\"generations\"][0][\"finish_reason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n response[\"generations\"][0][\"text\"],\n }\n : {}),\n };\n }\n case \"meta\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]:\n response[\"stop_reason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n [SpanAttributes.LLM_USAGE_PROMPT_TOKENS]:\n response[\"prompt_token_count\"],\n [SpanAttributes.LLM_USAGE_COMPLETION_TOKENS]:\n response[\"generation_token_count\"],\n [SpanAttributes.LLM_USAGE_TOTAL_TOKENS]:\n response[\"prompt_token_count\"] + response[\"generation_token_count\"],\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n response[\"generation\"],\n }\n : {}),\n };\n }\n default:\n return {};\n }\n }\n\n private _shouldSendPrompts() {\n const contextShouldSendPrompts = context\n .active()\n .getValue(CONTEXT_KEY_ALLOW_TRACE_CONTENT);\n\n if (contextShouldSendPrompts !== undefined) {\n return contextShouldSendPrompts;\n }\n\n return this._config.traceContent !== undefined\n ? this._config.traceContent\n : true;\n }\n}\n"],"names":["InstrumentationBase","InstrumentationNodeModuleDefinition","trace","context","safeExecuteInTheMiddle","__awaiter","SpanStatusCode","SpanAttributes","LLMRequestTypeValues","SpanKind","__asyncValues","CONTEXT_KEY_ALLOW_TRACE_CONTENT"],"mappings":";;;;;;;;;AAsCM,MAAO,sBAAuB,SAAQA,mCAAwB,CAAA;AAGlE,IAAA,WAAA,CAAY,SAAuC,EAAE,EAAA;AACnD,QAAA,KAAK,CAAC,oCAAoC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KAC9D;IAEe,SAAS,CAAC,SAAuC,EAAE,EAAA;AACjE,QAAA,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KACzB;IAES,IAAI,GAAA;AACZ,QAAA,MAAM,MAAM,GAAG,IAAIC,mDAAmC,CACpD,iCAAiC,EACjC,CAAC,WAAW,CAAC,EACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CACvB,CAAC;AAEF,QAAA,OAAO,MAAM,CAAC;KACf;AAEM,IAAA,kBAAkB,CAAC,MAAsB,EAAA;AAC9C,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,iDAAA,CAAmD,CAAC,CAAC;AAEtE,QAAA,IAAI,CAAC,KAAK,CACR,MAAM,CAAC,oBAAoB,CAAC,SAAS,EACrC,MAAM,EACN,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;KACH;IAEO,IAAI,CAAC,MAAsB,EAAE,aAAsB,EAAA;QACzD,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,CAA4C,yCAAA,EAAA,aAAa,CAAE,CAAA,CAC5D,CAAC;AAEF,QAAA,IAAI,CAAC,KAAK,CACR,MAAM,CAAC,oBAAoB,CAAC,SAAS,EACrC,MAAM,EACN,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;AAEF,QAAA,OAAO,MAAM,CAAC;KACf;IAEO,MAAM,CAAC,MAAsB,EAAE,aAAsB,EAAA;QAC3D,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,CAA8C,2CAAA,EAAA,aAAa,CAAE,CAAA,CAC9D,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;KAC7D;IAEO,aAAa,GAAA;;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC;;QAEpB,OAAO,CAAC,QAAkB,KAAI;AAC5B,YAAA,OAAO,SAAS,MAAM,CAAY,GAAG,IAAS,EAAA;AAC5C,gBAAA,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7B,oBAAA,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAChB,iBAAA,CAAC,CAAC;AACH,gBAAA,MAAM,WAAW,GAAGC,SAAK,CAAC,OAAO,CAACC,WAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1D,gBAAA,MAAM,WAAW,GAAGC,sCAAsB,CACxC,MAAK;AACH,oBAAA,OAAOD,WAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAK;wBACpC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,qBAAC,CAAC,CAAC;AACL,iBAAC,EACD,CAAC,CAAC,KAAI;oBACJ,IAAI,CAAC,EAAE;wBACL,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAkC,gCAAA,CAAA,EAAE,CAAC,CAAC,CAAC;qBAC3D;AACH,iBAAC,CACF,CAAC;gBACF,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC9D,OAAOA,WAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACnD,aAAC,CAAC;AACJ,SAAC,CAAC;KACH;IACO,YAAY,CAAI,IAAU,EAAE,OAAmB,EAAA;AACrD,QAAA,OAAO,OAAO;AACX,aAAA,IAAI,CAAC,CAAO,MAAM,KAAIE,eAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;YACrB,MAAM,IAAI,CAAC,QAAQ,CAAC;gBAClB,IAAI;AACJ,gBAAA,MAAM,EAAE,MAE8C;AACvD,aAAA,CAAC,CAAC;AAEH,YAAA,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,SAAC,CAAA,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,KAAY,KAAI;YACtB,OAAO,IAAI,OAAO,CAAI,CAAC,CAAC,EAAE,MAAM,KAAI;gBAClC,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAEC,kBAAc,CAAC,KAAK;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;AACvB,iBAAA,CAAC,CAAC;AACH,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEX,MAAM,CAAC,KAAK,CAAC,CAAC;AAChB,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACN;IAEO,UAAU,CAAC,EACjB,MAAM,GAGP,EAAA;;QACC,IAAI,UAAU,GAAe,EAAE,CAAC;AAEhC,QAAA,IAAI;YACF,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO;kBACxC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AACjC,kBAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAEb,YAAA,UAAU,GAAG;AACX,gBAAA,CAACC,oCAAc,CAAC,UAAU,GAAG,MAAM;AACnC,gBAAA,CAACA,oCAAc,CAAC,iBAAiB,GAAG,KAAK;AACzC,gBAAA,CAACA,oCAAc,CAAC,kBAAkB,GAAG,KAAK;AAC1C,gBAAA,CAACA,oCAAc,CAAC,gBAAgB,GAAGC,0CAAoB,CAAC,UAAU;aACnE,CAAC;YAEF,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AACzC,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAElD,gBAAA,UAAU,GACL,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,UAAU,CACV,EAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CACnD,CAAC;aACH;SACF;QAAC,OAAO,CAAC,EAAE;AACV,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,EAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,CAAC,CAAC,CAAC;SACnC;AAED,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE;YACjD,IAAI,EAAEC,YAAQ,CAAC,MAAM;YACrB,UAAU;AACX,SAAA,CAAC,CAAC;KACJ;AAEa,IAAA,QAAQ,CAAC,EACrB,IAAI,EACJ,MAAM,GAMP,EAAA;;;;AACC,YAAA,IAAI;AACF,gBAAA,IAAI,MAAM,IAAI,MAAM,EAAE;AACpB,oBAAA,MAAM,UAAU,GACd,YAAY,IAAI,IAAI;AAClB,0BAAG,IAAI,CAAC,YAAY,CAAyB;0BAC3C,EAAE,CAAC;AAET,oBAAA,IAAIF,oCAAc,CAAC,UAAU,IAAI,UAAU,EAAE;AAC3C,wBAAA,IAAI,EAAE,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAE;AAC/D,4BAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAA6C,CAAC;4BAEpE,IAAI,eAAe,GAAG,EAAE,CAAC;;AACzB,gCAAA,KAA0B,eAAA,QAAA,GAAAG,mBAAA,CAAA,MAAM,CAAA,EAAA,UAAA,4EAAE;oCAAR,EAAM,GAAA,UAAA,CAAA,KAAA,CAAA;oCAAN,EAAM,GAAA,KAAA,CAAA;oCAArB,MAAM,KAAK,KAAA,CAAA;;AAEpB,oCAAA,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,CAAA,EAAA,GAAA,KAAK,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC,CAAC;;oCAEhE,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAE9C,oCAAA,IAAI,kCAAkC,IAAI,cAAc,EAAE;AACxD,wCAAA,IAAI,CAAC,YAAY,CACfH,oCAAc,CAAC,uBAAuB,EACtC,cAAc,CAAC,kCAAkC,CAAC,CAChD,iBAAiB,CAClB,CACF,CAAC;AACF,wCAAA,IAAI,CAAC,YAAY,CACfA,oCAAc,CAAC,2BAA2B,EAC1C,cAAc,CAAC,kCAAkC,CAAC,CAChD,kBAAkB,CACnB,CACF,CAAC;AAEF,wCAAA,IAAI,CAAC,YAAY,CACfA,oCAAc,CAAC,sBAAsB,EACrC,cAAc,CAAC,kCAAkC,CAAC,CAChD,iBAAiB,CAClB;AACC,4CAAA,cAAc,CAAC,kCAAkC,CAAC,CAChD,kBAAkB,CACnB,CACJ,CAAC;qCACH;AAED,oCAAA,IAAI,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAClD,UAAU,CAACA,oCAAc,CAAC,UAAU,CAAC,EACrC,cAAc,EACd,IAAI,CACL,CAAC;;AAGF,oCAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;;wCAE7B,eAAe;AACb,4CAAA,kBAAkB,CAChB,CAAG,EAAAA,oCAAc,CAAC,eAAe,CAAA,UAAA,CAAY,CAC9C,CAAC;;AAEJ,wCAAA,kBAAkB,GACb,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,kBAAkB,CACrB,EAAA,EAAA,CAAC,CAAG,EAAAA,oCAAc,CAAC,eAAe,CAAY,UAAA,CAAA,GAC5C,eAAe,GAClB,CAAC;qCACH;AAED,oCAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;iCACxC;;;;;;;;;yBACF;6BAAM,IAAI,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;;AAEnE,4BAAA,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CACzC,MAAM,CAAC,IAAkB,CAC1B,CAAC;;4BAEF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAE9C,4BAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CACpD,UAAU,CAACA,oCAAc,CAAC,UAAU,CAAC,EACrC,cAAc,CACf,CAAC;AAEF,4BAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;yBACxC;qBACF;iBACF;aACF;YAAC,OAAO,CAAC,EAAE;AACV,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,EAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,CAAC,CAAC,CAAC;aACnC;YAED,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAED,kBAAc,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;;AACZ,KAAA;IAEO,qBAAqB,CAC3B,MAAc,EACd,WAAgC,EAAA;QAEhC,QAAQ,MAAM;YACZ,KAAK,MAAM,EAAE;AACX,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EACE,CAACC,oCAAc,CAAC,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,EACvD,CAACA,oCAAc,CAAC,uBAAuB,GAAG,WAAW,CAAC,aAAa,CAAC,EACpE,CAACA,oCAAc,CAAC,sBAAsB,GAAG,WAAW,CAAC,WAAW,CAAC,EACjE,CAACA,oCAAc,CAAC,oBAAoB,GAClC,WAAW,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EACzC,CAACA,oCAAc,CAAC,qBAAqB,GACnC,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,EAGvC,GAAC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;AACE,wBAAA,CAAC,GAAGA,oCAAc,CAAC,WAAW,CAAS,OAAA,CAAA,GAAG,MAAM;wBAChD,CAAC,CAAA,EAAGA,oCAAc,CAAC,WAAW,CAAA,UAAA,CAAY,GACxC,WAAW,CAAC,QAAQ,CAAC;AACxB,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;YACD,KAAK,QAAQ,EAAE;gBACb,OACE,MAAA,CAAA,MAAA,CAAA,EAAA,CAACA,oCAAc,CAAC,iBAAiB,GAC/B,WAAW,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,EAC7C,CAACA,oCAAc,CAAC,uBAAuB,GACrC,WAAW,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,EACpD,CAACA,oCAAc,CAAC,sBAAsB,GACpC,WAAW,CAAC,sBAAsB,CAAC,CAAC,eAAe,CAAC,KAGlD,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;AACE,wBAAA,CAAC,GAAGA,oCAAc,CAAC,WAAW,CAAS,OAAA,CAAA,GAAG,MAAM;wBAChD,CAAC,CAAA,EAAGA,oCAAc,CAAC,WAAW,CAAA,UAAA,CAAY,GACxC,WAAW,CAAC,WAAW,CAAC;AAC3B,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;YACD,KAAK,WAAW,EAAE;gBAChB,OACE,MAAA,CAAA,MAAA,CAAA,EAAA,CAACA,oCAAc,CAAC,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,EACxD,CAACA,oCAAc,CAAC,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,EAChD,CAACA,oCAAc,CAAC,uBAAuB,GAAG,WAAW,CAAC,aAAa,CAAC,EACpE,CAACA,oCAAc,CAAC,sBAAsB,GACpC,WAAW,CAAC,sBAAsB,CAAC,KAGjC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;AACE,wBAAA,CAAC,GAAGA,oCAAc,CAAC,WAAW,CAAS,OAAA,CAAA,GAAG,MAAM;wBAChD,CAAC,CAAA,EAAGA,oCAAc,CAAC,WAAW,CAAA,UAAA,CAAY,GAAG,WAAW,CACtD,QAAQ,CACT;;AAEE,6BAAA,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;AACzB,6BAAA,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;AACjC,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;YACD,KAAK,QAAQ,EAAE;gBACb,OACE,MAAA,CAAA,MAAA,CAAA,EAAA,CAACA,oCAAc,CAAC,iBAAiB,GAAG,WAAW,CAAC,GAAG,CAAC,EACpD,CAACA,oCAAc,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,EAC5C,CAACA,oCAAc,CAAC,uBAAuB,GAAG,WAAW,CAAC,aAAa,CAAC,EACpE,CAACA,oCAAc,CAAC,sBAAsB,GAAG,WAAW,CAAC,YAAY,CAAC,KAG9D,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;AACE,wBAAA,CAAC,GAAGA,oCAAc,CAAC,WAAW,CAAS,OAAA,CAAA,GAAG,MAAM;wBAChD,CAAC,CAAA,EAAGA,oCAAc,CAAC,WAAW,CAAA,UAAA,CAAY,GACxC,WAAW,CAAC,QAAQ,CAAC;AACxB,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;YACD,KAAK,MAAM,EAAE;AACX,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EACE,CAACA,oCAAc,CAAC,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,EACxD,CAACA,oCAAc,CAAC,uBAAuB,GAAG,WAAW,CAAC,aAAa,CAAC,EACpE,CAACA,oCAAc,CAAC,sBAAsB,GAAG,WAAW,CAAC,aAAa,CAAC,EAAA,GAG/D,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;AACE,wBAAA,CAAC,GAAGA,oCAAc,CAAC,WAAW,CAAS,OAAA,CAAA,GAAG,MAAM;wBAChD,CAAC,CAAA,EAAGA,oCAAc,CAAC,WAAW,CAAA,UAAA,CAAY,GACxC,WAAW,CAAC,QAAQ,CAAC;AACxB,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,CAAC;SACb;KACF;AAEO,IAAA,sBAAsB,CAC5B,MAAc,EACd,QAA6B,EAC7B,QAAQ,GAAG,KAAK,EAAA;QAEhB,QAAQ,MAAM;YACZ,KAAK,MAAM,EAAE;AACX,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EACE,CAAC,CAAG,EAAAA,oCAAc,CAAC,eAAe,kBAAkB,GAClD,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EACtD,CAAC,CAAG,EAAAA,oCAAc,CAAC,eAAe,CAAA,OAAA,CAAS,GAAG,WAAW,EACtD,GAAC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;AACE,wBAAA,CAAC,GAAGA,oCAAc,CAAC,eAAe,CAAY,UAAA,CAAA,GAC5C,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;AAC7C,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;YACD,KAAK,QAAQ,EAAE;gBACb,OACE,MAAA,CAAA,MAAA,CAAA,EAAA,CAAC,GAAGA,oCAAc,CAAC,eAAe,CAAkB,gBAAA,CAAA,GAAG,QAAQ;AAC7D,0BAAE,QAAQ,CAAC,kBAAkB,CAAC;AAC9B,0BAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAC9C,CAAC,GAAGA,oCAAc,CAAC,eAAe,CAAS,OAAA,CAAA,GAAG,WAAW,EACzD,CAACA,oCAAc,CAAC,uBAAuB,GACrC,QAAQ,CAAC,qBAAqB,CAAC,EACjC,CAACA,oCAAc,CAAC,2BAA2B,GAAG,QAAQ;AACpD,0BAAE,QAAQ,CAAC,2BAA2B,CAAC;AACvC,0BAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EACxC,CAACA,oCAAc,CAAC,sBAAsB,GAAG,QAAQ;AAC/C,0BAAE,QAAQ,CAAC,qBAAqB,CAAC;4BAC/B,QAAQ,CAAC,2BAA2B,CAAC;AACvC,0BAAE,QAAQ,CAAC,qBAAqB,CAAC;AAC/B,4BAAA,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EACrC,GAAC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;AACE,wBAAA,CAAC,GAAGA,oCAAc,CAAC,eAAe,CAAY,UAAA,CAAA,GAAG,QAAQ;AACvD,8BAAE,QAAQ,CAAC,YAAY,CAAC;8BACtB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AACzC,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;YACD,KAAK,WAAW,EAAE;gBAChB,OACE,MAAA,CAAA,MAAA,CAAA,EAAA,CAAC,CAAG,EAAAA,oCAAc,CAAC,eAAe,CAAkB,gBAAA,CAAA,GAClD,QAAQ,CAAC,aAAa,CAAC,EACzB,CAAC,CAAA,EAAGA,oCAAc,CAAC,eAAe,CAAA,OAAA,CAAS,GAAG,WAAW,EAAA,GACrD,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;wBACE,CAAC,CAAA,EAAGA,oCAAc,CAAC,eAAe,CAAA,UAAA,CAAY,GAC5C,QAAQ,CAAC,YAAY,CAAC;AACzB,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;YACD,KAAK,QAAQ,EAAE;AACb,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EACE,CAAC,CAAA,EAAGA,oCAAc,CAAC,eAAe,CAAkB,gBAAA,CAAA,GAClD,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,EAC7C,CAAC,CAAG,EAAAA,oCAAc,CAAC,eAAe,CAAA,OAAA,CAAS,GAAG,WAAW,EACtD,GAAC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;AACE,wBAAA,CAAC,GAAGA,oCAAc,CAAC,eAAe,CAAA,UAAA,CAAY,GAC5C,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACrC,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;YACD,KAAK,MAAM,EAAE;AACX,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EACE,CAAC,CAAA,EAAGA,oCAAc,CAAC,eAAe,CAAA,gBAAA,CAAkB,GAClD,QAAQ,CAAC,aAAa,CAAC,EACzB,CAAC,CAAA,EAAGA,oCAAc,CAAC,eAAe,CAAA,OAAA,CAAS,GAAG,WAAW,EACzD,CAACA,oCAAc,CAAC,uBAAuB,GACrC,QAAQ,CAAC,oBAAoB,CAAC,EAChC,CAACA,oCAAc,CAAC,2BAA2B,GACzC,QAAQ,CAAC,wBAAwB,CAAC,EACpC,CAACA,oCAAc,CAAC,sBAAsB,GACpC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,wBAAwB,CAAC,EAClE,GAAC,IAAI,CAAC,kBAAkB,EAAE;AAC3B,sBAAE;wBACE,CAAC,CAAA,EAAGA,oCAAc,CAAC,eAAe,CAAA,UAAA,CAAY,GAC5C,QAAQ,CAAC,YAAY,CAAC;AACzB,qBAAA;sBACD,EAAE,EACN,CAAA;aACH;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,CAAC;SACb;KACF;IAEO,kBAAkB,GAAA;QACxB,MAAM,wBAAwB,GAAGJ,WAAO;AACrC,aAAA,MAAM,EAAE;aACR,QAAQ,CAACQ,qDAA+B,CAAC,CAAC;AAE7C,QAAA,IAAI,wBAAwB,KAAK,SAAS,EAAE;AAC1C,YAAA,OAAO,wBAAwB,CAAC;SACjC;AAED,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;AAC5C,cAAE,IAAI,CAAC,OAAO,CAAC,YAAY;cACzB,IAAI,CAAC;KACV;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/instrumentation.ts"],"sourcesContent":["/*\n * Copyright Traceloop\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n Span,\n Attributes,\n SpanKind,\n SpanStatusCode,\n context,\n trace,\n} from \"@opentelemetry/api\";\nimport {\n InstrumentationBase,\n InstrumentationModuleDefinition,\n InstrumentationNodeModuleDefinition,\n safeExecuteInTheMiddle,\n} from \"@opentelemetry/instrumentation\";\nimport { BedrockInstrumentationConfig } from \"./types\";\nimport type * as bedrock from \"@aws-sdk/client-bedrock-runtime\";\nimport {\n CONTEXT_KEY_ALLOW_TRACE_CONTENT,\n LLMRequestTypeValues,\n SpanAttributes,\n} from \"@traceloop/ai-semantic-conventions\";\nimport { version } from \"../package.json\";\n\nexport class BedrockInstrumentation extends InstrumentationBase {\n protected declare _config: BedrockInstrumentationConfig;\n\n constructor(config: BedrockInstrumentationConfig = {}) {\n super(\"@traceloop/instrumentation-bedrock\", version, config);\n }\n\n public override setConfig(config: BedrockInstrumentationConfig = {}) {\n super.setConfig(config);\n }\n\n protected init(): InstrumentationModuleDefinition {\n const module = new InstrumentationNodeModuleDefinition(\n \"@aws-sdk/client-bedrock-runtime\",\n [\">=3.499.0\"],\n this.wrap.bind(this),\n this.unwrap.bind(this),\n );\n\n return module;\n }\n\n public manuallyInstrument(module: typeof bedrock) {\n this._diag.debug(`Patching @aws-sdk/client-bedrock-runtime manually`);\n\n this._wrap(\n module.BedrockRuntimeClient.prototype,\n \"send\",\n this.wrapperMethod(),\n );\n }\n\n private wrap(module: typeof bedrock, moduleVersion?: string) {\n this._diag.debug(\n `Patching @aws-sdk/client-bedrock-runtime@${moduleVersion}`,\n );\n\n this._wrap(\n module.BedrockRuntimeClient.prototype,\n \"send\",\n this.wrapperMethod(),\n );\n\n return module;\n }\n\n private unwrap(module: typeof bedrock, moduleVersion?: string) {\n this._diag.debug(\n `Unpatching @aws-sdk/client-bedrock-runtime@${moduleVersion}`,\n );\n\n this._unwrap(module.BedrockRuntimeClient.prototype, \"send\");\n }\n\n private wrapperMethod() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const plugin = this;\n // eslint-disable-next-line @typescript-eslint/ban-types\n return (original: Function) => {\n return function method(this: any, ...args: any) {\n const span = plugin._startSpan({\n params: args[0],\n });\n const execContext = trace.setSpan(context.active(), span);\n const execPromise = safeExecuteInTheMiddle(\n () => {\n return context.with(execContext, () => {\n return original.apply(this, args);\n });\n },\n (e) => {\n if (e) {\n plugin._diag.error(`Error in bedrock instrumentation`, e);\n }\n },\n );\n const wrappedPromise = plugin._wrapPromise(span, execPromise);\n return context.bind(execContext, wrappedPromise);\n };\n };\n }\n private _wrapPromise<T>(span: Span, promise: Promise<T>): Promise<T> {\n return promise\n .then(async (result) => {\n await this._endSpan({\n span,\n result: result as\n | bedrock.InvokeModelCommandOutput\n | bedrock.InvokeModelWithResponseStreamCommandOutput,\n });\n\n return new Promise<T>((resolve) => resolve(result));\n })\n .catch((error: Error) => {\n return new Promise<T>((_, reject) => {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error.message,\n });\n span.recordException(error);\n span.end();\n\n reject(error);\n });\n });\n }\n\n private _startSpan({\n params,\n }: {\n params: Parameters<bedrock.BedrockRuntimeClient[\"send\"]>[0];\n }): Span {\n let attributes: Attributes = {};\n\n try {\n const [vendor, model] = params.input.modelId\n ? params.input.modelId.split(\".\")\n : [\"\", \"\"];\n\n attributes = {\n [SpanAttributes.LLM_SYSTEM]: vendor,\n [SpanAttributes.LLM_REQUEST_MODEL]: model,\n [SpanAttributes.LLM_RESPONSE_MODEL]: model,\n [SpanAttributes.LLM_REQUEST_TYPE]: LLMRequestTypeValues.COMPLETION,\n };\n\n if (typeof params.input.body === \"string\") {\n const requestBody = JSON.parse(params.input.body);\n\n attributes = {\n ...attributes,\n ...this._setRequestAttributes(vendor, requestBody),\n };\n }\n } catch (e) {\n this._diag.debug(e);\n this._config.exceptionLogger?.(e);\n }\n\n return this.tracer.startSpan(`bedrock.completion`, {\n kind: SpanKind.CLIENT,\n attributes,\n });\n }\n\n private async _endSpan({\n span,\n result,\n }: {\n span: Span;\n result:\n | bedrock.InvokeModelCommandOutput\n | bedrock.InvokeModelWithResponseStreamCommandOutput;\n }) {\n try {\n if (\"body\" in result) {\n const attributes =\n \"attributes\" in span\n ? (span[\"attributes\"] as Record<string, any>)\n : {};\n\n if (SpanAttributes.LLM_SYSTEM in attributes) {\n if (!(result.body instanceof Object.getPrototypeOf(Uint8Array))) {\n const rawRes = result.body as AsyncIterable<bedrock.ResponseStream>;\n\n let streamedContent = \"\";\n for await (const value of rawRes) {\n // Convert it to a JSON String\n const jsonString = new TextDecoder().decode(value.chunk?.bytes);\n // Parse the JSON string\n const parsedResponse = JSON.parse(jsonString);\n\n if (\"amazon-bedrock-invocationMetrics\" in parsedResponse) {\n span.setAttribute(\n SpanAttributes.LLM_USAGE_PROMPT_TOKENS,\n parsedResponse[\"amazon-bedrock-invocationMetrics\"][\n \"inputTokenCount\"\n ],\n );\n span.setAttribute(\n SpanAttributes.LLM_USAGE_COMPLETION_TOKENS,\n parsedResponse[\"amazon-bedrock-invocationMetrics\"][\n \"outputTokenCount\"\n ],\n );\n\n span.setAttribute(\n SpanAttributes.LLM_USAGE_TOTAL_TOKENS,\n parsedResponse[\"amazon-bedrock-invocationMetrics\"][\n \"inputTokenCount\"\n ] +\n parsedResponse[\"amazon-bedrock-invocationMetrics\"][\n \"outputTokenCount\"\n ],\n );\n }\n\n let responseAttributes = this._setResponseAttributes(\n attributes[SpanAttributes.LLM_SYSTEM],\n parsedResponse,\n true,\n );\n\n // ! NOTE: This make sure the content always have all streamed chunks\n if (this._shouldSendPrompts()) {\n // Update local value with attribute value that was set by _setResponseAttributes\n streamedContent +=\n responseAttributes[\n `${SpanAttributes.LLM_COMPLETIONS}.0.content`\n ];\n // re-assign the new value to responseAttributes\n responseAttributes = {\n ...responseAttributes,\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n streamedContent,\n };\n }\n\n span.setAttributes(responseAttributes);\n }\n } else if (result.body instanceof Object.getPrototypeOf(Uint8Array)) {\n // Convert it to a JSON String\n const jsonString = new TextDecoder().decode(\n result.body as Uint8Array,\n );\n // Parse the JSON string\n const parsedResponse = JSON.parse(jsonString);\n\n const responseAttributes = this._setResponseAttributes(\n attributes[SpanAttributes.LLM_SYSTEM],\n parsedResponse,\n );\n\n span.setAttributes(responseAttributes);\n }\n }\n }\n } catch (e) {\n this._diag.debug(e);\n this._config.exceptionLogger?.(e);\n }\n\n span.setStatus({ code: SpanStatusCode.OK });\n span.end();\n }\n\n private _setRequestAttributes(\n vendor: string,\n requestBody: Record<string, any>,\n ) {\n switch (vendor) {\n case \"ai21\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]: requestBody[\"topP\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]: requestBody[\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]: requestBody[\"maxTokens\"],\n [SpanAttributes.LLM_PRESENCE_PENALTY]:\n requestBody[\"presencePenalty\"][\"scale\"],\n [SpanAttributes.LLM_FREQUENCY_PENALTY]:\n requestBody[\"frequencyPenalty\"][\"scale\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]:\n requestBody[\"prompt\"],\n }\n : {}),\n };\n }\n case \"amazon\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]:\n requestBody[\"textGenerationConfig\"][\"topP\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]:\n requestBody[\"textGenerationConfig\"][\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]:\n requestBody[\"textGenerationConfig\"][\"maxTokenCount\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]:\n requestBody[\"inputText\"],\n }\n : {}),\n };\n }\n case \"anthropic\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]: requestBody[\"top_p\"],\n [SpanAttributes.LLM_TOP_K]: requestBody[\"top_k\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]: requestBody[\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]:\n requestBody[\"max_tokens_to_sample\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]: requestBody[\n \"prompt\"\n ]\n // The format is removing when we are setting span attribute\n .replace(\"\\n\\nHuman:\", \"\")\n .replace(\"\\n\\nAssistant:\", \"\"),\n }\n : {}),\n };\n }\n case \"cohere\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]: requestBody[\"p\"],\n [SpanAttributes.LLM_TOP_K]: requestBody[\"k\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]: requestBody[\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]: requestBody[\"max_tokens\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]:\n requestBody[\"prompt\"],\n }\n : {}),\n };\n }\n case \"meta\": {\n return {\n [SpanAttributes.LLM_REQUEST_TOP_P]: requestBody[\"top_p\"],\n [SpanAttributes.LLM_REQUEST_TEMPERATURE]: requestBody[\"temperature\"],\n [SpanAttributes.LLM_REQUEST_MAX_TOKENS]: requestBody[\"max_gen_len\"],\n\n // Prompt & Role\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_PROMPTS}.0.role`]: \"user\",\n [`${SpanAttributes.LLM_PROMPTS}.0.content`]:\n requestBody[\"prompt\"],\n }\n : {}),\n };\n }\n default:\n return {};\n }\n }\n\n private _setResponseAttributes(\n vendor: string,\n response: Record<string, any>,\n isStream = false,\n ) {\n switch (vendor) {\n case \"ai21\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]:\n response[\"completions\"][0][\"finishReason\"][\"reason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n response[\"completions\"][0][\"data\"][\"text\"],\n }\n : {}),\n };\n }\n case \"amazon\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]: isStream\n ? response[\"completionReason\"]\n : response[\"results\"][0][\"completionReason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n [SpanAttributes.LLM_USAGE_PROMPT_TOKENS]:\n response[\"inputTextTokenCount\"],\n [SpanAttributes.LLM_USAGE_COMPLETION_TOKENS]: isStream\n ? response[\"totalOutputTextTokenCount\"]\n : response[\"results\"][0][\"tokenCount\"],\n [SpanAttributes.LLM_USAGE_TOTAL_TOKENS]: isStream\n ? response[\"inputTextTokenCount\"] +\n response[\"totalOutputTextTokenCount\"]\n : response[\"inputTextTokenCount\"] +\n response[\"results\"][0][\"tokenCount\"],\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]: isStream\n ? response[\"outputText\"]\n : response[\"results\"][0][\"outputText\"],\n }\n : {}),\n };\n }\n case \"anthropic\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]:\n response[\"stop_reason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n response[\"completion\"],\n }\n : {}),\n };\n }\n case \"cohere\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]:\n response[\"generations\"][0][\"finish_reason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n response[\"generations\"][0][\"text\"],\n }\n : {}),\n };\n }\n case \"meta\": {\n return {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.finish_reason`]:\n response[\"stop_reason\"],\n [`${SpanAttributes.LLM_COMPLETIONS}.0.role`]: \"assistant\",\n [SpanAttributes.LLM_USAGE_PROMPT_TOKENS]:\n response[\"prompt_token_count\"],\n [SpanAttributes.LLM_USAGE_COMPLETION_TOKENS]:\n response[\"generation_token_count\"],\n [SpanAttributes.LLM_USAGE_TOTAL_TOKENS]:\n response[\"prompt_token_count\"] + response[\"generation_token_count\"],\n ...(this._shouldSendPrompts()\n ? {\n [`${SpanAttributes.LLM_COMPLETIONS}.0.content`]:\n response[\"generation\"],\n }\n : {}),\n };\n }\n default:\n return {};\n }\n }\n\n private _shouldSendPrompts() {\n const contextShouldSendPrompts = context\n .active()\n .getValue(CONTEXT_KEY_ALLOW_TRACE_CONTENT);\n\n if (contextShouldSendPrompts !== undefined) {\n return contextShouldSendPrompts;\n }\n\n return this._config.traceContent !== undefined\n ? this._config.traceContent\n : true;\n }\n}\n"],"names":["InstrumentationBase","InstrumentationNodeModuleDefinition","trace","context","safeExecuteInTheMiddle","__awaiter","SpanStatusCode","SpanAttributes","LLMRequestTypeValues","SpanKind","__asyncValues","CONTEXT_KEY_ALLOW_TRACE_CONTENT"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { InstrumentationBase, InstrumentationModuleDefinition } from "@opentelemetry/instrumentation";
|
|
2
2
|
import { BedrockInstrumentationConfig } from "./types";
|
|
3
3
|
import type * as bedrock from "@aws-sdk/client-bedrock-runtime";
|
|
4
|
-
export declare class BedrockInstrumentation extends InstrumentationBase
|
|
4
|
+
export declare class BedrockInstrumentation extends InstrumentationBase {
|
|
5
5
|
protected _config: BedrockInstrumentationConfig;
|
|
6
6
|
constructor(config?: BedrockInstrumentationConfig);
|
|
7
7
|
setConfig(config?: BedrockInstrumentationConfig): void;
|
|
8
|
-
protected init(): InstrumentationModuleDefinition
|
|
8
|
+
protected init(): InstrumentationModuleDefinition;
|
|
9
9
|
manuallyInstrument(module: typeof bedrock): void;
|
|
10
10
|
private wrap;
|
|
11
11
|
private unwrap;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@traceloop/instrumentation-bedrock",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.8",
|
|
4
4
|
"description": "Amazon Bedrock Instrumentation",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"access": "public"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@opentelemetry/core": "^1.
|
|
41
|
-
"@opentelemetry/instrumentation": "^0.
|
|
42
|
-
"@opentelemetry/semantic-conventions": "^1.
|
|
40
|
+
"@opentelemetry/core": "^1.25.0",
|
|
41
|
+
"@opentelemetry/instrumentation": "^0.52.0",
|
|
42
|
+
"@opentelemetry/semantic-conventions": "^1.25.0",
|
|
43
43
|
"@traceloop/ai-semantic-conventions": "^0.8.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"@pollyjs/persister-fs": "^6.0.6"
|
|
50
50
|
},
|
|
51
51
|
"homepage": "https://github.com/traceloop/openllmetry-js/tree/main/packages/instrumentation-openai",
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "d78641e5b951939f405e41749277fa56fa14457a"
|
|
53
53
|
}
|