OSS探訪GitHubでログイン

trace・metrics・logsを共通API/SDKで扱うPython向けOpenTelemetry実装

OSS規模スコア 261.5OSS健全度 100
スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
2,656
主要言語
Python
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/06
ページ内ナビ

概要

OpenTelemetry PythonはOpenTelemetryのPython APIとSDKのreference implementationです。library向けのAPIとapplication向けSDKを分離し、trace、metrics、logsの生成・処理・exportを共通のtelemetry modelで扱います。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

APIとSDKを分離し、libraryとapplicationの責務を分ける

opentelemetry-apiはinstrumentation libraryが依存する抽象APIとno-op実装を提供し、opentelemetry-sdkはTracerProvider、MeterProvider、LoggerProvider等のreference implementationを提供します。application側でproviderやprocessor/exporterを選択できます。

出典:[2][3][4]

trace・metrics・logsをexporterとprocessorへ接続する

span processorとConsole/OTLP exporter、metric reader、log processor等を組み合わせてtelemetryを送信できます。1.45.0ではOTLP JSON HTTP exporterやAlwaysRecordSampler等が追加されています。

出典:[5][6]

向いている用途

vendor中立のobservability instrumentationをPython serviceへ入れたい場合に向く

service codeやlibrary instrumentationを特定backendから分離し、Collectorや複数vendorへtelemetryを送れる設計にしたい場合に適します。framework自動instrumentation等はcontrib repositoryと組み合わせます。

出典:[2]

導入前の確認

1.45.0はPython 3.10以上。signalごとのstabilityを確認する

OpenTelemetry Python 1.45.0はPython 3.10以上を要求します。確認時点でTracesとMetricsはStable、LogsはDevelopmentです。Log signalはstabilizeに向けたbreaking changeの可能性が明記されているため、signalごとにversion固定とupgrade testを行ってください。

出典:[2][3][4]

参考にした公式資料

  1. [1]open-telemetry/opentelemetry-python — GitHub repository(2026-10-06)
  2. [2]OpenTelemetry Python 1.45.0 — README(2026-10-06)
  3. [3]OpenTelemetry API 1.45.0 — pyproject.toml(2026-10-06)
  4. [4]OpenTelemetry SDK 1.45.0 — pyproject.toml(2026-10-06)
  5. [5]OpenTelemetry basic tracer example(2026-10-06)
  6. [6]OpenTelemetry Python 1.45.0 release(2026-10-06)
  7. [7]OpenTelemetry Python Apache-2.0 license(2026-10-06)
編集部からの補足

vendor中立のinstrumentationを保ちたい場合の基盤になります。library側はAPIだけへ依存し、application側でSDK/exporterを選ぶ責務分離を守るとbackend変更やCollector導入がしやすくなります。

3ステップで試す

  1. 1

    OpenTelemetry API/SDK 1.45.0を導入する

    確認対象のAPIとSDKを同じversionで固定して導入します。Python 3.10以上が必要です。

    python -m pip install "opentelemetry-api==1.45.0" "opentelemetry-sdk==1.45.0"
  2. 2

    Console exporter付きtracerを作る

    公式basic tracer exampleと同じ構成でSpanProcessorとConsoleSpanExporterを設定します。

    cat > otel_demo.py <<'PY' from opentelemetry import trace from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor, ConsoleSpanExporter trace.set_tracer_provider(TracerProvider()) trace.get_tracer_provider().add_span_processor(BatchSpanProcessor(ConsoleSpanExporter())) tracer = trace.get_tracer(__name__) with tracer.start_as_current_span('oss-tanbou-check'): print('Hello OpenTelemetry') PY
  3. 3

    spanをconsoleへ出力する

    標準出力にHello OpenTelemetryとspan JSONが出ることを確認します。外部collectorは不要です。

    python otel_demo.py
公式READMEで確認

成長

成長の推移 · 直近30日

2,656 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • correlationcontext
  • distributed-tracing
  • logging
  • metrics
  • opentelemetry
  • python
  • sdk
  • tracecontext
Stars
2,656
Forks
1,030
Watchers
39
Open Issues
422
Contributors
384
所有者種別
Organization
主要言語
Python
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/06

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?