手動インストルメンテーション
警告: 手動インストゥルメンテーション方式は、フレームワークのサポートがない場合にのみ使用します。
- 以下のパッケージを既存の Gemfile に追加します。
CODE
gem 'opentelemetry-sdk' gem 'opentelemetry-exporter-otlp' - 次の行を追加して、スパンを手動で作成します。
たとえば、Ruby スクリプトまたはサポートされていないフレームワークをインストゥルメント化するスパンを作成できます。PYTHON
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環境変数を設定します。CODEexport OTEL_EXPORTER_OTLP_ENDPOINT=http://0.0.0.0:4318注:0.0.0.0は OpenTelemetry Collector HOST であり、4318は OpenTelemetry Collector PORT です。使用可能なエクスポータの詳細については、Ruby エクスポータを参照してください。 - 新しく追加した Gem を Gemfile にインストールします。
CODE
bundle install - Ruby アプリケーションを起動します。