UNPKG

@microsoft/teams.api

Version:

<p> <a href="https://www.npmjs.com/package/@microsoft/teams.api" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.api/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.api?activeTab=code" t

1 lines • 3.13 kB
{"version":3,"sources":["../../src/diagnostics/helpers.ts"],"names":[],"mappings":";;;;;AAQA,IAAI,oBAAA;AACJ,IAAI,qBAAA;AAMG,SAAS,iBAAA,GAA4B;AAC1C,EAAA,OAAO,KAAA,CAAM,SAAA,CAAU,iBAAA,CAAkB,UAAA,EAAY,IAAI,OAAO,CAAA;AAClE;AAMO,SAAS,gBAAA,GAA0B;AACxC,EAAA,OAAO,OAAA,CAAQ,QAAA,CAAS,iBAAA,CAAkB,SAAA,EAAW,IAAI,OAAO,CAAA;AAClE;AAMO,SAAS,2BAA2B,SAAA,EAAyB;AAClE,EAAA,oBAAA,KAAyB,gBAAA,EAAiB,CAAE,aAAA,CAAc,gBAAA,CAAiB,aAAA,EAAe;AAAA,IACxF,WAAA,EAAa;AAAA,GACd,CAAA;AACD,EAAA,oBAAA,CAAqB,GAAA,CAAI,GAAG,EAAE,CAAC,oBAAoB,SAAS,GAAG,WAAW,CAAA;AAC5E;AAMO,SAAS,4BAA4B,SAAA,EAAyB;AACnE,EAAA,qBAAA,KAA0B,gBAAA,EAAiB,CAAE,aAAA,CAAc,gBAAA,CAAiB,cAAA,EAAgB;AAAA,IAC1F,WAAA,EAAa;AAAA,GACd,CAAA;AACD,EAAA,qBAAA,CAAsB,GAAA,CAAI,GAAG,EAAE,CAAC,oBAAoB,SAAS,GAAG,WAAW,CAAA;AAC7E;AAMO,SAAS,uBAAA,CAAwB,MAAY,KAAA,EAAsB;AACxE,EAAA,MAAM,UAAU,KAAA,YAAiB,KAAA,GAAQ,KAAA,CAAM,OAAA,GAAU,OAAO,KAAK,CAAA;AACrE,EAAA,IAAA,CAAK,eAAA,CAAgB,KAAA,YAAiB,KAAA,GAAQ,KAAA,GAAQ,OAAO,CAAA;AAC7D,EAAA,IAAA,CAAK,UAAU,EAAE,IAAA,EAAM,cAAA,CAAe,KAAA,EAAO,SAAS,CAAA;AACxD","file":"helpers.mjs","sourcesContent":["import { metrics, SpanStatusCode, trace } from '@opentelemetry/api';\nimport type { Counter, Meter, MetricAttributes, Span, Tracer } from '@opentelemetry/api';\n\nimport pkg from '../../package.json';\n\nimport { API_ATTRIBUTE_NAMES, API_METRIC_NAMES } from './constants';\nimport { TeamsApiTelemetry } from './telemetry';\n\nlet outboundCallsCounter: Counter<MetricAttributes> | undefined;\nlet outboundErrorsCounter: Counter<MetricAttributes> | undefined;\n\n/**\n * @internal\n * Gets the OpenTelemetry tracer used by future Teams API package instrumentation.\n */\nexport function getTeamsApiTracer(): Tracer {\n return trace.getTracer(TeamsApiTelemetry.tracerName, pkg.version);\n}\n\n/**\n * @internal\n * Gets the OpenTelemetry meter used by future Teams API package instrumentation.\n */\nexport function getTeamsApiMeter(): Meter {\n return metrics.getMeter(TeamsApiTelemetry.meterName, pkg.version);\n}\n\n/**\n * @internal\n * Records an outbound API call attempt.\n */\nexport function recordTeamsApiOutboundCall(operation: string): void {\n outboundCallsCounter ??= getTeamsApiMeter().createCounter(API_METRIC_NAMES.outboundCalls, {\n description: 'Number of outbound Teams API calls.',\n });\n outboundCallsCounter.add(1, { [API_ATTRIBUTE_NAMES.operation]: operation });\n}\n\n/**\n * @internal\n * Records an outbound API call failure.\n */\nexport function recordTeamsApiOutboundError(operation: string): void {\n outboundErrorsCounter ??= getTeamsApiMeter().createCounter(API_METRIC_NAMES.outboundErrors, {\n description: 'Number of failed outbound Teams API calls.',\n });\n outboundErrorsCounter.add(1, { [API_ATTRIBUTE_NAMES.operation]: operation });\n}\n\n/**\n * @internal\n * Records an exception on a span and marks the span status as an error.\n */\nexport function recordTeamsApiException(span: Span, error: unknown): void {\n const message = error instanceof Error ? error.message : String(error);\n span.recordException(error instanceof Error ? error : message);\n span.setStatus({ code: SpanStatusCode.ERROR, message });\n}\n"]}