自動インストルメンテーション
opentelemetry-sdk および opentelemetry-instrumentation-all パッケージは、最小限の手作業でトレースやスパンを自動的に取り込みます。サポートされているフレームワークのリストについては、サポートされているフレームワークを参照してください。
次の手順は、単純な Ruby On Rails アプリケーションをインストゥルメント化する例です。
- 以下のパッケージを既存の Gemfile に追加します。
Gemfilegem 'opentelemetry-sdk' gem 'opentelemetry-exporter-otlp' gem 'opentelemetry-instrumentation-all' -
<project>/config/initializers/opentelemetry.rbOpenTelemetry を初期化するように Ruby アプリケーションを設定します。# config/initializers/opentelemetry.rb require 'opentelemetry/sdk' require 'opentelemetry/exporter/otlp' require 'opentelemetry/instrumentation/all' OpenTelemetry::SDK.configure do |c| c.resource = OpenTelemetry::SDK::Resources::Resource.create({ OpenTelemetry::SemanticConventions::Resource::SERVICE_NAMESPACE => '<YOUR_SERVICE_NAMESPACE>', # corresponds to Appd controller Application name OpenTelemetry::SemanticConventions::Resource::SERVICE_NAME => '<YOUR_SERVICE_NAME>' # corresponds to Appd controller Tier name }) c.use_all() # enables all instrumentation! end -
OpenTelemetry Collector がリッスンする
OTEL_EXPORTER_OTLP_ENDPOINT環境変数を設定して、アプリケーションが OpenTelemetry Collector にトレースを報告するように構成します。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 アプリケーションを起動します。