Ruby OpenTracing (非推奨)
OpenTracing ベンダーに依存しないAPIと、分散トレーシングのための監視機能を提供します。 Instana Ruby gem は、これらの API を実装して、OpenTracing 呼び出しで Instana gem を使用できるようにします。 OpenTracing API を使用している既存のアプリケーションや、サポートを追加したいアプリケーションは、この Ruby gem を簡単に統合できます。
注:OpenTracing は非推奨です。 Instana OpenTracing のサポートは、2025年6月に終了する予定です。
OpenTracing, の詳細については、 OpenTracing をご覧ください。
OpenTracing, を最大限に活用するには、 OpenTracing のページに記載されているベストプラクティスを参考にしてください。
まず、` Instana ` トレーサーを ` OpenTracing: ` のグローバル・トレーサーとして設定します
require 'opentracing'
OpenTracing.global_tracer = ::Instana.tracer
そうすれば、 OpenTracing のコードは通常通り実行できます:
begin
span = OpenTracing.start_span('job')
# The code to be instrumented
@id = User.find_by_name('john.smith')
span.set_tag(:job_id, @id)
rescue => e
span.set_tag(:error, e.message)
ensure
span.finish
end
例
以下に、OpenTracing API を呼び出すコードの非常に簡単な例を示します。
# Note: The instana gem automatically sets the Instana tracer
# to `OpenTracing.global_tracer`. Once the gem is loaded, you can
# immediately start making OpenTracing calls.
#
require "opentracing"
entry_span = OpenTracing.start_span("HandMadeRackServer")
entry_span.set_tag(:'http.method', :get)
entry_span.set_tag(:'http.url', "/users")
entry_span.set_tag(:'span.kind', "entry")
intermediate_span = OpenTracing.start_span("myintermediate", :child_of => entry_span)
intermediate_span.finish()
db_span = OpenTracing.start_span('mydbspan', :child_of => entry_span)
db_span.set_tag(:'db.instance', "users")
db_span.set_tag(:'db.statement', "SELECT * FROM user_table")
db_span.set_tag(:'db.type', "mysql")
db_span.set_tag(:'db.user', "mysql_login")
db_span.set_tag(:'span.kind', "exit")
db_span.finish()
intermediate_span = OpenTracing.start_span("myintermediate", :child_of => entry_span)
intermediate_span.log("ALLOK", :message => "All seems ok")
intermediate_span.finish()
entry_span.set_tag(:'http.status_code', 200)
entry_span.finish()