@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
JavaScript
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