@azure/monitor-opentelemetry
Version:
Azure Monitor OpenTelemetry (Node.js)
32 lines • 1.22 kB
JavaScript
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
Object.defineProperty(exports, "__esModule", { value: true });
exports.AzureBatchLogRecordProcessor = void 0;
const api_1 = require("@opentelemetry/api");
const sdk_logs_1 = require("@opentelemetry/sdk-logs");
/**
* Azure Monitor BatchLogRecord Processor.
* @internal
*/
class AzureBatchLogRecordProcessor extends sdk_logs_1.BatchLogRecordProcessor {
constructor(exporter, options) {
super(exporter);
this._options = options;
}
onEmit(logRecord) {
// Trace based sampling for logs
if (this._options.enableTraceBasedSamplingForLogs) {
if (logRecord.spanContext && logRecord.spanContext.spanId) {
// eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
if (logRecord.spanContext.traceFlags !== api_1.TraceFlags.SAMPLED) {
// Do not export log for spans that were sampled out
return;
}
}
}
super.onEmit(logRecord);
}
}
exports.AzureBatchLogRecordProcessor = AzureBatchLogRecordProcessor;
//# sourceMappingURL=batchLogRecordProcessor.js.map
;