Documentation
¶
Index ¶
- type BraintrustOption
- type BraintrustProvider
- func (p *BraintrustProvider) Flush(ctx context.Context) error
- func (p *BraintrustProvider) StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
- func (p *BraintrustProvider) StartRun(ctx context.Context, info RunInfo) (context.Context, RunSpan)
- func (p *BraintrustProvider) StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
- type GenerationInfo
- type GenerationSpan
- type LangSmithOption
- type LangSmithProvider
- func (p *LangSmithProvider) Flush(ctx context.Context) error
- func (p *LangSmithProvider) StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
- func (p *LangSmithProvider) StartRun(ctx context.Context, info RunInfo) (context.Context, RunSpan)
- func (p *LangSmithProvider) StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
- type MultiProvider
- func (m *MultiProvider) Flush(ctx context.Context) error
- func (m *MultiProvider) StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
- func (m *MultiProvider) StartRun(ctx context.Context, info RunInfo) (context.Context, RunSpan)
- func (m *MultiProvider) StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
- type NoopProvider
- func (p *NoopProvider) Flush(_ context.Context) error
- func (p *NoopProvider) StartGeneration(ctx context.Context, _ GenerationInfo) (context.Context, GenerationSpan)
- func (p *NoopProvider) StartRun(ctx context.Context, _ RunInfo) (context.Context, RunSpan)
- func (p *NoopProvider) StartToolCall(ctx context.Context, _ ToolCallInfo) (context.Context, ToolCallSpan)
- type OTelProvider
- func (p *OTelProvider) Flush(_ context.Context) error
- func (p *OTelProvider) StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
- func (p *OTelProvider) StartRun(ctx context.Context, info RunInfo) (context.Context, RunSpan)
- func (p *OTelProvider) StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
- type Option
- type RunInfo
- type RunSpan
- type ToolCallInfo
- type ToolCallSpan
- type TracedRunner
- type TracingProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BraintrustOption ¶
type BraintrustOption func(*braintrustConfig)
BraintrustOption configures a BraintrustProvider.
func WithBraintrustBaseURL ¶
func WithBraintrustBaseURL(url string) BraintrustOption
WithBraintrustBaseURL sets the Braintrust API base URL.
func WithBraintrustExperiment ¶
func WithBraintrustExperiment(name string) BraintrustOption
WithBraintrustExperiment sets the Braintrust experiment name.
func WithBraintrustProject ¶
func WithBraintrustProject(name string) BraintrustOption
WithBraintrustProject sets the Braintrust project name.
type BraintrustProvider ¶
type BraintrustProvider struct {
// contains filtered or unexported fields
}
BraintrustProvider exports traces to Braintrust.
func NewBraintrustProvider ¶
func NewBraintrustProvider(apiKey string, opts ...BraintrustOption) *BraintrustProvider
NewBraintrustProvider creates a new Braintrust tracing provider.
func (*BraintrustProvider) StartGeneration ¶
func (p *BraintrustProvider) StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
func (*BraintrustProvider) StartToolCall ¶
func (p *BraintrustProvider) StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
type GenerationInfo ¶
GenerationInfo carries data for starting a generation span.
type GenerationSpan ¶
type GenerationSpan interface {
End(err error)
SetMetadata(meta map[string]any)
SetUsage(usage graft.Usage)
SetModel(model string)
}
GenerationSpan represents an LLM generation span.
type LangSmithOption ¶
type LangSmithOption func(*langsmithConfig)
LangSmithOption configures a LangSmithProvider.
func WithLangSmithBaseURL ¶
func WithLangSmithBaseURL(url string) LangSmithOption
WithLangSmithBaseURL sets the LangSmith API base URL.
func WithLangSmithProject ¶
func WithLangSmithProject(name string) LangSmithOption
WithLangSmithProject sets the LangSmith project name.
type LangSmithProvider ¶
type LangSmithProvider struct {
// contains filtered or unexported fields
}
LangSmithProvider exports traces to LangSmith.
func NewLangSmithProvider ¶
func NewLangSmithProvider(apiKey string, opts ...LangSmithOption) *LangSmithProvider
NewLangSmithProvider creates a new LangSmith tracing provider.
func (*LangSmithProvider) StartGeneration ¶
func (p *LangSmithProvider) StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
func (*LangSmithProvider) StartToolCall ¶
func (p *LangSmithProvider) StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
type MultiProvider ¶
type MultiProvider struct {
// contains filtered or unexported fields
}
MultiProvider fans out trace events to multiple providers. Errors from individual providers are logged, not propagated.
func NewMultiProvider ¶
func NewMultiProvider(providers ...TracingProvider) *MultiProvider
NewMultiProvider creates a provider that sends to all given providers.
func (*MultiProvider) StartGeneration ¶
func (m *MultiProvider) StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
func (*MultiProvider) StartToolCall ¶
func (m *MultiProvider) StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
type NoopProvider ¶
type NoopProvider struct{}
NoopProvider is a no-op tracing provider for disabling tracing.
func NewNoopProvider ¶
func NewNoopProvider() *NoopProvider
NewNoopProvider creates a no-op provider.
func (*NoopProvider) StartGeneration ¶
func (p *NoopProvider) StartGeneration(ctx context.Context, _ GenerationInfo) (context.Context, GenerationSpan)
func (*NoopProvider) StartToolCall ¶
func (p *NoopProvider) StartToolCall(ctx context.Context, _ ToolCallInfo) (context.Context, ToolCallSpan)
type OTelProvider ¶
type OTelProvider struct {
// contains filtered or unexported fields
}
OTelProvider bridges the TracingProvider interface to OpenTelemetry.
func NewOTelProvider ¶
func NewOTelProvider(tracer trace.Tracer) *OTelProvider
NewOTelProvider creates a TracingProvider backed by OTel.
func (*OTelProvider) StartGeneration ¶
func (p *OTelProvider) StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
func (*OTelProvider) StartToolCall ¶
func (p *OTelProvider) StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
type Option ¶
type Option func(*tracedConfig)
Option configures a TracedRunner.
func WithCaptureInput ¶
WithCaptureInput enables capturing input messages in traces.
func WithCaptureOutput ¶
WithCaptureOutput enables capturing output messages in traces.
func WithMetadata ¶
WithMetadata sets default metadata added to all spans.
type RunInfo ¶
type RunInfo struct {
AgentName string
Model string
Messages []graft.Message
Metadata map[string]any
}
RunInfo carries data for starting a run span.
type RunSpan ¶
type RunSpan interface {
End(err error)
SetMetadata(meta map[string]any)
SetUsage(usage graft.Usage)
}
RunSpan represents a top-level agent run span.
type ToolCallInfo ¶
ToolCallInfo carries data for starting a tool call span.
type ToolCallSpan ¶
type ToolCallSpan interface {
End(err error)
SetMetadata(meta map[string]any)
SetResult(result any)
}
ToolCallSpan represents a tool invocation span.
type TracedRunner ¶
type TracedRunner struct {
// contains filtered or unexported fields
}
TracedRunner wraps a graft.Runner with tracing instrumentation.
func NewTracedRunner ¶
func NewTracedRunner(runner graft.Runner, provider TracingProvider, opts ...Option) *TracedRunner
NewTracedRunner creates a new tracing-instrumented runner.
type TracingProvider ¶
type TracingProvider interface {
StartRun(ctx context.Context, info RunInfo) (context.Context, RunSpan)
StartGeneration(ctx context.Context, info GenerationInfo) (context.Context, GenerationSpan)
StartToolCall(ctx context.Context, info ToolCallInfo) (context.Context, ToolCallSpan)
Flush(ctx context.Context) error
}
TracingProvider is the interface for agent-specific tracing backends.