Module: ApmTraceable::Tracer

Defined in:
lib/apm_traceable/tracer.rb

Overview

トレース対象クラスにincludeして利用するTracerクラス トレースに利用する以下2メソッドが利用可能になる

- trace_span: 指定したブロックをトレースする
- trace_methods: 指定したメソッドの呼び出し全体をトレースする

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



9
10
11
# File 'lib/apm_traceable/tracer.rb', line 9

def self.included(klass)
  klass.extend(ClassMethods)
end

Instance Method Details

#trace_span(trace_name, **options, &block) ⇒ Object

指定したブロックをトレース対象にする. Datadog::Tracing#trace のラッパーメソッド. リソース名指定のみ必須で、それ以外に指定したオプションは Datadog::Tracing#trace にそのまま渡される.

fg. class Test

include DatadogTraceable

def test_method
  trace_span('mySpan') { some_heavy_process }
end

end



50
51
52
# File 'lib/apm_traceable/tracer.rb', line 50

def trace_span(trace_name, **options, &block)
  ApmTraceable.configuration.adapter.trace(trace_name, context_class: context_class, **options, &block)
end