Demo auto-instrumentation capabilities #66
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
I took some time to explore what's possible to automatically instrument with Ruby.
Here are four new ways to instrument applications with LLM libraries, from most automatic to most controlled:
Zero Code - CLI wrapper instruments any Ruby app without code changes
Best for: Instrumenting any Ruby application without modifying its code. Requires the
braintrustRuby gem to already be installed in the bundle viaGemfileor on the system.Zero Config - Just
require(works with Bundler/Rails)Best for: Instrumenting specific Ruby applications with smart defaults and maximum compatibility.
Single Line - Auto-instruments on
init(new default behavior):Best for: Controlling when and what instrumentation is activated.
Explicit - Direct control over when instrumentation is applied:
Best for: Fine-control over when and which parts of an application are instrumented.
All options support environment variable overrides:
BRAINTRUST_AUTO_INSTRUMENT,BRAINTRUST_INSTRUMENT_ONLY,BRAINTRUST_INSTRUMENT_EXCEPT.