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

34 lines (32 loc) • 1.52 kB
import { trace, metrics, SpanStatusCode } from '@opentelemetry/api'; import pkg from '../../package.json'; import { API_METRIC_NAMES, API_ATTRIBUTE_NAMES } from './constants.mjs'; import { TeamsApiTelemetry } from './telemetry.mjs'; let outboundCallsCounter; let outboundErrorsCounter; function getTeamsApiTracer() { return trace.getTracer(TeamsApiTelemetry.tracerName, pkg.version); } function getTeamsApiMeter() { return metrics.getMeter(TeamsApiTelemetry.meterName, pkg.version); } function recordTeamsApiOutboundCall(operation) { outboundCallsCounter ??= getTeamsApiMeter().createCounter(API_METRIC_NAMES.outboundCalls, { description: "Number of outbound Teams API calls." }); outboundCallsCounter.add(1, { [API_ATTRIBUTE_NAMES.operation]: operation }); } function recordTeamsApiOutboundError(operation) { outboundErrorsCounter ??= getTeamsApiMeter().createCounter(API_METRIC_NAMES.outboundErrors, { description: "Number of failed outbound Teams API calls." }); outboundErrorsCounter.add(1, { [API_ATTRIBUTE_NAMES.operation]: operation }); } function recordTeamsApiException(span, error) { const message = error instanceof Error ? error.message : String(error); span.recordException(error instanceof Error ? error : message); span.setStatus({ code: SpanStatusCode.ERROR, message }); } export { getTeamsApiMeter, getTeamsApiTracer, recordTeamsApiException, recordTeamsApiOutboundCall, recordTeamsApiOutboundError }; //# sourceMappingURL=helpers.mjs.map //# sourceMappingURL=helpers.mjs.map