Module: Trailblazer::Activity::TaskWrap::Trace
- Defined in:
- lib/trailblazer/activity/task_wrap/trace.rb
Overview
TaskWrap tasks for tracing.
Class Method Summary collapse
-
.capture_args(wrap_config, original_args, **circuit_options) ⇒ Object
taskWrap step to capture incoming arguments of a step.
-
.capture_for(task, ctx, flow, activity:, **circuit_options) ⇒ Object
It’s important to understand that :stack is mutated by design.
-
.capture_return(wrap_config, original_args, **circuit_options) ⇒ Object
taskWrap step to capture outgoing arguments from a step.
Class Method Details
.capture_args(wrap_config, original_args, **circuit_options) ⇒ Object
taskWrap step to capture incoming arguments of a step. def self.capture_args(direction, options, flow_options, wrap_config, original_flow_options)
9 10 11 12 13 14 |
# File 'lib/trailblazer/activity/task_wrap/trace.rb', line 9 def capture_args((wrap_config, original_args), **) original_args = capture_for(wrap_config[:task], *original_args) return Trailblazer::Activity::Right, [wrap_config, original_args], end |
.capture_for(task, ctx, flow, activity:, **circuit_options) ⇒ Object
It’s important to understand that :stack is mutated by design. This is needed so in case of exceptions we still have a “global” trace - unfortunately Ruby doesn’t allow us a better way.
33 34 35 36 37 38 39 40 41 |
# File 'lib/trailblazer/activity/task_wrap/trace.rb', line 33 def capture_for(task, (ctx, flow), activity:, **) flow[:stack].indent! flow[:stack] << Trailblazer::Activity::Trace::Entity.new( task, activity, :args, nil, {} ) return [ctx, flow], .merge(activity: activity) end |
.capture_return(wrap_config, original_args, **circuit_options) ⇒ Object
taskWrap step to capture outgoing arguments from a step.
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/trailblazer/activity/task_wrap/trace.rb', line 17 def capture_return((wrap_config, original_args), **) (, , _) = original_args[0] [:stack] << Trailblazer::Activity::Trace::Entity.new( wrap_config[:task], {}, :return, wrap_config[:return_signal] ) [:stack].unindent! return Trailblazer::Activity::Right, [wrap_config, original_args], end |