sdk/otel/README.md
FastGPT 的统一 OpenTelemetry / observability SDK。
这个包的目标是作为未来的迁移目标,把现有的:
@fastgpt-sdk/logger@fastgpt-sdk/metrics收拢到一个统一入口里,但目前不强制迁移现有代码。
它现在是一个自包含包:
@fastgpt-sdk/logger 或 @fastgpt-sdk/metrics同时支持两种使用方式:
@fastgpt-sdk/otel@fastgpt-sdk/otel/logger、@fastgpt-sdk/otel/metrics、@fastgpt-sdk/otel/tracingconfigureOtel() / configureOtelFromEnv() 入口import {
configureOtelFromEnv,
getLogger,
getMeter,
getTracer
} from '@fastgpt-sdk/otel';
await configureOtelFromEnv({
defaultServiceName: 'fastgpt-client'
});
const logger = getLogger(['system']);
const meter = getMeter('fastgpt-client');
const tracer = getTracer('fastgpt-client');
也可以渐进迁移:
import { configureLoggerFromEnv, getLogger } from '@fastgpt-sdk/otel/logger';
import { configureMetricsFromEnv, getMeter } from '@fastgpt-sdk/otel/metrics';
import { configureTracingFromEnv, getTracer } from '@fastgpt-sdk/otel/tracing';
未来可以分阶段迁移:
@fastgpt-sdk/otellogger/metrics 改成 otelTRACING_ENABLE_OTELTRACING_OTEL_SERVICE_NAMETRACING_OTEL_URLTRACING_OTEL_SAMPLE_RATIO同时兼容标准 OTEL fallback:
OTEL_SERVICE_NAMEOTEL_EXPORTER_OTLP_TRACES_ENDPOINTOTEL_EXPORTER_OTLP_ENDPOINTOTEL_TRACES_EXPORTEROTEL_TRACES_SAMPLEROTEL_TRACES_SAMPLER_ARGlogger 与 metrics 包仍然可继续独立使用,后续可以逐步迁移到这个包。