Module: StackTrace

Defined in:
lib/stack_trace.rb,
lib/stack_trace/span.rb,
lib/stack_trace/setup.rb,
lib/stack_trace/trace.rb,
lib/stack_trace/version.rb,
lib/stack_trace/configuration.rb,
lib/stack_trace/integration/rspec.rb,
lib/stack_trace/module_extensions.rb

Defined Under Namespace

Modules: Integration, ModuleExtensions Classes: Configuration, Setup, Span, Trace

Constant Summary collapse

TRACED_EVENTS =
%i(call c_call return c_return raise).freeze
VERSION =
"0.2.1"

Class Method Summary collapse

Class Method Details

.as_jsonObject



34
35
36
# File 'lib/stack_trace.rb', line 34

def as_json
  Trace.as_json
end

.configurationObject



19
20
21
# File 'lib/stack_trace.rb', line 19

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



14
15
16
17
# File 'lib/stack_trace.rb', line 14

def configure
  yield configuration
  trace_point.enable
end

.currentObject



30
31
32
# File 'lib/stack_trace.rb', line 30

def current
  Trace.current
end

.traceObject



23
24
25
26
27
28
# File 'lib/stack_trace.rb', line 23

def trace
  return unless block_given?

  Trace.start
  yield
end

.trace_pointObject



38
39
40
# File 'lib/stack_trace.rb', line 38

def trace_point
  @trace_point ||= TracePoint.new(*TRACED_EVENTS) { |tp| Trace.track(tp) }
end