Module: Desiru::Core

Defined in:
lib/desiru/core.rb,
lib/desiru/core/trace.rb,
lib/desiru/core/example.rb,
lib/desiru/core/compiler.rb,
lib/desiru/core/traceable.rb,
lib/desiru/core/prediction.rb

Defined Under Namespace

Modules: Traceable Classes: CompilationResult, Compiler, CompilerBuilder, Example, Prediction, Trace, TraceCollector, TraceContext

Class Method Summary collapse

Class Method Details

.reset_traces!Object



324
325
326
327
# File 'lib/desiru/core/trace.rb', line 324

def reset_traces!
  @trace_collector = TraceCollector.new
  @trace_context = TraceContext.new(@trace_collector)
end

.trace_collectorObject



308
309
310
# File 'lib/desiru/core/trace.rb', line 308

def trace_collector
  @trace_collector ||= TraceCollector.new
end

.trace_contextObject



312
313
314
315
316
317
318
319
320
321
322
# File 'lib/desiru/core/trace.rb', line 312

def trace_context
  # Check for thread-local context first (set by with_collector)
  if Thread.current[:desiru_trace_context]
    Thread.current[:desiru_trace_context]
  elsif Thread.current[:desiru_trace_collector_for_threads]
    # Create a new context for this thread using the parent's collector
    Thread.current[:desiru_trace_context] = TraceContext.new(Thread.current[:desiru_trace_collector_for_threads])
  else
    @trace_context ||= TraceContext.new(trace_collector)
  end
end