DenoのOpenTelemetryサポートについて
はじめに
有効化方法
1. --unstable-otel もしくは deno.jsonで"unstable": ["otel"]を指定
2. OTEL_DENO=trueを設定
Deno v2.1.5以降からはこのパッケージの使用は不要です 設定
OTEL_DENO - trueを設定すると、Signalsの送信が有効化されます
OTEL_DENO_CONSOLE - console.*によるLogsの送信を制御できます
使用方法
Denoの内部において、以下のAPIはあらかじめ計装されています そのため、OTEL_DENO=true及び--unstable-otelを指定することで、上記APIの使用時に自動でSignalsが送信されます
また、console.logなどの各種APIによって出力されたログはLogsとして送信されます
その他
opentelemetry.ioへのドキュメントの追加
変更履歴
traces/logsの送信がサポート
console.*を呼ぶと、自動的にlogsがバックエンドへ送信されます
Deno.tracing APIが実装
様々な環境変数が追加
OTEL_SDK_DISABLED
OTEL_DENO - Signalsの送信を有効化したい場合は、これにtrueを設定する必要がある
OTEL_DENO_CONSOLE - console.*でのLogsの送信を制御するための環境変数
Deno.telemetry.MetricExporterが削除され、代わりにDeno.telemetry.MeterProviderが導入
OTEL_DENO_METRICSとOTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE環境変数が追加
Deno.telemetry.SpanExporterが削除
代わりに以下のAPIが追加
globalThis[Symbol.for("opentelemetry.js.api.1")]にTracerProviderなどが予め登録されており、これを介して@opentelemetry/apiとの連携が行われるようです (参考: ) code:javascript
// {
// version: "1.999.999",
// }
HTTPSエンドポイントへのSignalsの送信がサポート 下記の環境変数が追加されています
OTEL_EXPORTER_OTLP_CERTIFICATE
OTEL_EXPORTER_OTLP_CLIENT_KEY
OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE
Metricsが有効化されていれば、自動で各指標が収集されます
boot_failure/uncaught_exceptionイベントが追加
OTEL_DENOやOTEL_EXPORTER_OTLP_PROTOCOLなどの環境変数を--env-fileオプション (.env) 経由で指定できるよう改善されています LogにtimeUnixNanoが設定されるよう改善
関連ページ
リンク