Module: Bulldogger::Probe
- Defined in:
- lib/bulldogger/probe.rb,
lib/bulldogger/probe/bucket.rb,
lib/bulldogger/probe/target.rb,
lib/bulldogger/probe/writer.rb,
lib/bulldogger/probe/session.rb,
lib/bulldogger/probe/registry.rb,
lib/bulldogger/probe/comparator.rb,
lib/bulldogger/probe/method_stats.rb,
lib/bulldogger/probe/raise_tracker.rb,
lib/bulldogger/probe/target_resolver.rb
Overview
Targeted capture: instead of a snapshot at the moment a test fails (Capture) or a full trace of every call (Record), a probe watches one or a few named methods across many calls and reports the shape of what it saw -- argument and return classes, nil counts, raise-exit counts, callers -- so a coding agent can answer "what does this method actually receive and return" without reading every call site by hand.
See lib/bulldogger/probe/session.rb for the mechanism: one TracePoint per target method (:call/:return, targeted -- cheap and strictly filtered) plus one shared, ref-counted pair of untargeted TracePoints (:raise/:rescue, per contract-verbs.md the only way to tell a raise-exit apart from a method that legitimately returns nil).
Defined Under Namespace
Modules: Comparator, Registry, TargetResolver, Writer Classes: Bucket, MethodStats, RaiseTracker, Session, Target
Class Method Summary collapse
- .call(target_strings, config:, run:, &block) ⇒ Object
- .compare(path_a, path_b) ⇒ Object
- .start(target_strings, config:, run:) ⇒ Object
Class Method Details
.call(target_strings, config:, run:, &block) ⇒ Object
28 29 30 |
# File 'lib/bulldogger/probe.rb', line 28 def self.call(target_strings, config:, run:, &block) Session.run(target_strings, config: config, run: run, &block) end |
.compare(path_a, path_b) ⇒ Object
32 33 34 |
# File 'lib/bulldogger/probe.rb', line 32 def self.compare(path_a, path_b) Comparator.compare(path_a, path_b) end |