OpenTelemetry infrastructure module for nfjs.
Модуль добавляет единый OTel-слой для приложения:
- инициализация provider/exporter;
- singleton API
getTracer(name)для direct-import.
{
"@nfjs/otel": {
"enabled": true,
"serviceName": "nfjs-demo",
"serviceVersion": "1.0.0",
"defaultTracerName": "nfjs-demo",
"propagator": "w3c",
"exporter": {
"enabled": true,
"type": "otlp-http",
"url": "http://localhost:4318/v1/traces",
"processor": "batch"
}
}
}enabled=false отключает модуль целиком (provider/exporter не инициализируются).
exporter.enabled=false оставляет OTel включенным (span/context работают), но отключает отправку трасс наружу.
import { getTracer } from '@nfjs/otel';
const tracer = getTracer('project.main');
tracer.startActiveSpan('project.main.operation', async (span) => {
try {
await doWork();
} finally {
span.end();
}
});This module provides a unified OpenTelemetry layer for nfjs:
- provider/exporter initialization;
- singleton API
getTracer(name)for direct imports.
{
"@nfjs/otel": {
"enabled": true,
"serviceName": "nfjs-demo",
"serviceVersion": "1.0.0",
"defaultTracerName": "nfjs-demo",
"propagator": "w3c",
"exporter": {
"enabled": true,
"type": "otlp-http",
"url": "http://localhost:4318/v1/traces",
"processor": "batch"
}
}
}enabled=false disables the module completely (provider/exporter are not initialized).
exporter.enabled=false keeps OTel enabled (span/context still work) but disables trace export.
import { getTracer } from '@nfjs/otel';
const tracer = getTracer('project.main');
tracer.startActiveSpan('project.main.operation', async (span) => {
try {
await doWork();
} finally {
span.end();
}
});