telemetry

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Noop captelemetry.Exporter = noopExporter{}

Noop is the default exporter that discards all telemetry.

Functions

func BeginObservation

BeginObservation starts a nested observation on the exporter stored in ctx.

func BeginTurn

BeginTurn starts a turn on the exporter stored in ctx.

func EnrichEventAttrs

func EnrichEventAttrs(ctx context.Context, attrs map[string]string) map[string]string

EnrichEventAttrs adds agent_id and session_id from ctx when missing.

func ExporterFrom

func ExporterFrom(ctx context.Context) captelemetry.Exporter

ExporterFrom returns the exporter on ctx, or Noop when unset.

func FormatMessage

func FormatMessage(msg agentkit.ModelMessage) string

FormatMessage JSON-encodes a model message for trace input/output display.

func LLMCompletionStarted

func LLMCompletionStarted(ev agentkit.LLMEvent) bool

LLMCompletionStarted reports whether ev is the first model-produced output from an LLM stream: text, thinking, tool call, or a one-shot message.

func LLMTextStarted

func LLMTextStarted(ev agentkit.LLMEvent) bool

LLMTextStarted reports whether ev is the first user-visible text or thinking delta.

func ObservationMetaFromContext

func ObservationMetaFromContext(ctx context.Context, meta captelemetry.ObservationMeta) captelemetry.ObservationMeta

ObservationMetaFromContext fills agent and session ids from ctx when unset.

func ParentObservationIDFrom

func ParentObservationIDFrom(ctx context.Context) string

ParentObservationIDFrom is an alias for ToolParentFrom.

func PreparePayload

func PreparePayload(raw string, maxBytes int, redact bool) string

PreparePayload applies optional redaction and truncation for exporter payloads.

func RecordEvent

func RecordEvent(ctx context.Context, name string, attrs map[string]string)

RecordEvent records a point-in-time event on the active trace.

func RecordTurnOutput

func RecordTurnOutput(ctx context.Context, msg agentkit.ModelMessage)

RecordTurnOutput appends one final assistant reply to the turn trace output.

func RecordTurnSteps

func RecordTurnSteps(ctx context.Context, steps int)

RecordTurnSteps records how many model steps completed in the active turn.

func RecordTurnStopReason

func RecordTurnStopReason(ctx context.Context, reason string)

RecordTurnStopReason records why the turn stopped.

func RecordTurnUsage

func RecordTurnUsage(ctx context.Context, usage captelemetry.Usage)

RecordTurnUsage adds one step's token usage to the active turn total.

func RedactJSON

func RedactJSON(raw string) string

RedactJSON scrubs sensitive keys from JSON objects before export.

func ScopeParentFrom

func ScopeParentFrom(ctx context.Context) string

ScopeParentFrom returns the active scope parent observation id when present.

func SummarizeMessage

func SummarizeMessage(msg agentkit.ModelMessage) string

SummarizeMessage returns a compact text summary of a model message.

func SummarizeMessages

func SummarizeMessages(messages []agentkit.ModelMessage, maxBytes int, redact bool) string

SummarizeMessages JSON-encodes a message list for exporter input.

func ToolNamesFromSpecs

func ToolNamesFromSpecs(specs []agentkit.ToolSpec) []string

ToolNamesFromSpecs returns tool names exposed to the model for one step.

func ToolParentFrom

func ToolParentFrom(ctx context.Context) string

ToolParentFrom returns the active tool parent observation id when present.

func TruncatePayload

func TruncatePayload(raw string, maxBytes int) string

TruncatePayload limits payload size for external export.

func TurnEndFromAccum

func TurnEndFromAccum(ctx context.Context) captelemetry.TurnEnd

TurnEndFromAccum reads accumulated turn output and usage for trace closure.

func TurnIDFrom

func TurnIDFrom(ctx context.Context) string

TurnIDFrom returns the active turn id when present.

func WithExporter

func WithExporter(ctx context.Context, exp captelemetry.Exporter) context.Context

WithExporter stores an exporter on the context for downstream runtime code.

func WithParentObservationID

func WithParentObservationID(ctx context.Context, observationID string) context.Context

WithParentObservationID is an alias for WithToolParent.

func WithScopeParent

func WithScopeParent(ctx context.Context, observationID string) context.Context

WithScopeParent marks the span that should parent nested generations.

func WithToolParent

func WithToolParent(ctx context.Context, observationID string) context.Context

WithToolParent marks the observation that should parent nested tool spans.

func WithTurnAccum

func WithTurnAccum(ctx context.Context) context.Context

WithTurnAccum stores per-turn output and usage accumulators on ctx.

func WithTurnID

func WithTurnID(ctx context.Context, turnID string) context.Context

WithTurnID stores the active turn id for slog and exporter correlation.

func WrapOutboundEmit

func WrapOutboundEmit(ctx context.Context, emit agentkit.OutboundEmit) agentkit.OutboundEmit

WrapOutboundEmit records user-visible outbound events on the active turn trace.

Types

type RecordedEvent

type RecordedEvent struct {
	Name  string
	Attrs map[string]string
}

type RecordedObservation

type RecordedObservation struct {
	ID       string
	Meta     captelemetry.ObservationMeta
	End      captelemetry.ObservationEnd
	ParentID string
}

type RecordedTurn

type RecordedTurn struct {
	Meta captelemetry.TurnMeta
	End  captelemetry.TurnEnd
}

type RecordingExporter

type RecordingExporter struct {
	Turns         []RecordedTurn
	Observations  []RecordedObservation
	Events        []RecordedEvent
	FlushCalls    int
	ShutdownCalls int
	// contains filtered or unexported fields
}

RecordingExporter captures telemetry calls for tests.

func (*RecordingExporter) BeginObservation

func (*RecordingExporter) BeginTurn

func (*RecordingExporter) Flush

func (*RecordingExporter) RecordEvent

func (r *RecordingExporter) RecordEvent(_ context.Context, name string, attrs map[string]string)

func (*RecordingExporter) Shutdown

func (r *RecordingExporter) Shutdown(context.Context) error

func (*RecordingExporter) Snapshot

func (r *RecordingExporter) Snapshot() (turns []RecordedTurn, observations []RecordedObservation, events []RecordedEvent)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL