OSS探訪GitHubでログイン

Rubyアプリの処理をスパンとして記録し、送信先を後から選ぶ

スコアの見方

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

Stars
610
主要言語
Ruby
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/05
ページ内ナビ

概要

OpenTelemetry Rubyは、Rubyコードからトレースやメトリクスを生成するAPIとSDKです。計測する処理と送信方法を分け、まずコンソールで内容を確認してから収集基盤へ接続できます。

特徴と向いている用途

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

主な特徴

処理区間と属性をRuby APIで記録する

Tracerでスパンを開始し、処理名や属性、エラーを記録します。SDKの処理部品とConsoleSpanExporterを組み合わせれば、外部Collectorなしで生成内容を確認できます。

出典:[1][3]

向いている用途

Rubyサービスの手動計測の土台に向く

重要な業務処理を明示的に追跡したいRubyサービスや、Railsなどの自動計測を補う独自処理に向きます。

出典:[1]

導入前の確認

Ruby版と未送信データの処理を確認する

SDK v1.13.1はRuby 3.3以上を要求します。終了時にproviderをshutdownし、属性へ秘密情報を入れず、実運用では送信先とサンプリングを決めてください。

出典:[1][4][2]

参考にした公式資料

  1. [1]OpenTelemetry Ruby README at opentelemetry-sdk/v1.13.1(2026-10-05)
  2. [2]SDK gemspec at v1.13.1(2026-10-05)
  3. [3]ConsoleSpanExporter at v1.13.1(2026-10-05)
  4. [4]Ruby LICENSE at the fixed tag(2026-10-05)
編集部からの補足

最初にcheckoutスパンとcart.items属性をコンソールで確認し、必要な業務区間だけを選んでから本番の送信先を設定してください。

3ステップで試す

  1. 1

    固定版SDKをローカルへ入れる

    Ruby 3.3以上とRubyGemsを用意し、空の作業ディレクトリへSDK v1.13.1を入れます。gem取得にはネットワーク接続が必要です。

    mkdir otel-ruby-demo && cd otel-ruby-demo && GEM_HOME="$PWD/vendor/gems" GEM_PATH="$PWD/vendor/gems" gem install --no-document opentelemetry-sdk -v 1.13.1
  2. 2

    checkoutスパンを作る

    固定版で確認したTracerProvider、SimpleSpanProcessor、ConsoleSpanExporterを使い、checkout処理にcart.items属性を付ける短いRubyファイルを作ります。

    cat > trace_demo.rb <<'RUBY' require 'opentelemetry/sdk' provider = OpenTelemetry::SDK::Trace::TracerProvider.new exporter = OpenTelemetry::SDK::Trace::Export::ConsoleSpanExporter.new provider.add_span_processor(OpenTelemetry::SDK::Trace::Export::SimpleSpanProcessor.new(exporter)) tracer = provider.tracer(name: 'oss-tanbou-demo') tracer.in_span('checkout') { |span| span.set_attribute('cart.items', 2) } provider.shutdown RUBY
  3. 3

    コンソール出力を検証する

    スクリプトを実行して出力をruby-span.txtへ保存し、checkoutという処理名とcart.items属性が両方含まれることを確認します。

    (set -o pipefail; GEM_HOME="$PWD/vendor/gems" GEM_PATH="$PWD/vendor/gems" ruby trace_demo.rb | tee ruby-span.txt) && grep -F 'checkout' ruby-span.txt && grep -F 'cart.items' ruby-span.txt
公式READMEで確認

成長

成長の推移 · 直近30日

610 Stars

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

開発アクティビティ

直近90日・週次

Commit(直近30日)
46
Open PR
43
Issue登録
52
Issue解決
21
PR登録
162
PRマージ
130

Issues

52 / 21

7月8日10月5日
Issue登録Issue解決

Pull Requests

162 / 130

7月8日10月5日
PR登録PRマージ

メンテナンス状況

Issue初回応答中央値
3分
Issue応答率
2% (1/50)

直近90日に外部から作成されたIssue(新しい順に最大100件)が対象です。OWNER・MEMBER・COLLABORATORによる最初のコメントを応答とし、全コメントを確認できないIssueは集計から除外します。中央値と応答率は週次更新です。

Built with

カテゴリとタグ

GitHubデータ

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

GitHub Topics

  • telemetry
  • distributed-tracing
  • metrics
  • opentelemetry
  • opentelemetry-ruby
  • opentelemetry-api
  • hacktoberfest
Stars
610
Forks
302
Watchers
22
Open Issues
94
Contributors
145
所有者種別
Organization
主要言語
Ruby
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/05

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

情報の誤りを報告

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

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