# Trifle::Traces ## Content # Trifle::Traces [![Gem Version](https://badge.fury.io/rb/trifle-traces.svg)](https://rubygems.org/gems/trifle-traces) [![Ruby](https://github.com/trifle-io/trifle-traces/workflows/Ruby/badge.svg?branch=main)](https://github.com/trifle-io/trifle-traces) `Trifle::Traces` is a lightweight tracer that captures messages, return values, and metadata from your code blocks. ## What it does - Wraps blocks and records their outputs. - Adds tags, artifacts, and state to trace lines. - Flushes via callbacks to your storage or notification system. ## Quick example ```ruby Trifle::Traces.tracer = Trifle::Traces::Tracer::Hash.new( key: 'jobs/invoice_charge', meta: { job_id: 42 } ) result = Trifle::Traces.trace('Charging invoice') do charge_invoice(42) end Trifle::Traces.tag('invoice:42') Trifle::Traces.tracer.wrapup ``` ## What to expect - `trace` returns the block result. - `tracer.data` contains lines with timestamps and state. - `wrapup` triggers callbacks (if configured). ## Next steps - [Getting Started](/trifle-traces/getting_started) - [Configuration](/trifle-traces/configuration) - [Usage](/trifle-traces/usage) - [Callbacks](/trifle-traces/callbacks) - [Middleware](/trifle-traces/middleware) - [Guides](/trifle-traces/guides)