手動インストルメンテーション
警告: 手動インストゥルメンテーション方式は、フレームワークのサポートがない場合にのみ使用します。
-
以下のパッケージを既存の Gemfile に追加します。
gem 'opentelemetry-sdk' gem 'opentelemetry-exporter-otlp' -
次の行を追加して、スパンを手動で作成します。たとえば、Ruby スクリプトまたはサポートされていないフレームワークをインストゥルメント化するスパンを作成できます。
require 'opentelemetry/sdk' require 'opentelemetry/exporter/otlp' OpenTelemetry::SDK.configure def hello_world tracer_provider = OpenTelemetry.tracer_provider tracer = tracer_provider.tracer('hello world') tracer.in_span("hello_world", kind: :server) do |span| puts "Hello all" # Do something... expensive/simple task that you want to instrument end tracer_provider.shutdown end hello_world -
OpenTelemetry Collector がリッスンする
OTEL_EXPORTER_OTLP_ENDPOINT環境変数を設定します。export OTEL_EXPORTER_OTLP_ENDPOINT=http://0.0.0.0:4318注:0.0.0.0はOpenTelemetryCollector HOST であり、4318 は OpenTelemetry Collector PORT です。使用可能なエクスポータの詳細については、Ruby エクスポータを参照してください。 -
新しく追加した Gem を Gemfile にインストールします。
bundle install - Ruby アプリケーションを起動します。