telemetry

package
v0.3.2 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SanitizePayloadSummary

func SanitizePayloadSummary(summary map[string]string) map[string]string

Types

type DivergenceClassification

type DivergenceClassification string
const (
	DivergenceLocal         DivergenceClassification = "local"
	DivergenceOwnedExcluded DivergenceClassification = "owned_excluded"
)

type DivergenceEvidence

type DivergenceEvidence struct {
	Classification DivergenceClassification `json:"classification"`
	Rationale      string                   `json:"rationale,omitempty"`
	Replacement    string                   `json:"replacement,omitempty"`
}

type Event

type Event struct {
	Name             string              `json:"name"`
	UpstreamEvent    string              `json:"upstream_event,omitempty"`
	Source           string              `json:"source,omitempty"`
	Category         string              `json:"category,omitempty"`
	Timestamp        time.Time           `json:"timestamp"`
	SessionID        string              `json:"session_id,omitempty"`
	AgentID          string              `json:"agent_id,omitempty"`
	PeerID           string              `json:"peer_id,omitempty"`
	WorkspaceID      string              `json:"workspace_id,omitempty"`
	RunID            string              `json:"run_id,omitempty"`
	TraceID          string              `json:"trace_id,omitempty"`
	TreeNodeID       string              `json:"tree_node_id,omitempty"`
	ParentID         string              `json:"parent_id,omitempty"`
	Level            int                 `json:"level,omitempty"`
	EventType        string              `json:"event_type,omitempty"`
	Provider         string              `json:"provider,omitempty"`
	Model            string              `json:"model,omitempty"`
	TaskType         string              `json:"task_type,omitempty"`
	ReasoningEffort  string              `json:"reasoning_effort,omitempty"`
	DurationMs       int64               `json:"duration_ms,omitempty"`
	TokensIn         int                 `json:"tokens_in,omitempty"`
	TokensOut        int                 `json:"tokens_out,omitempty"`
	CacheReadTokens  int                 `json:"cache_read_tokens,omitempty"`
	CacheWriteTokens int                 `json:"cache_write_tokens,omitempty"`
	ReasoningTokens  int                 `json:"reasoning_tokens,omitempty"`
	RequestCount     int                 `json:"request_count,omitempty"`
	ToolCalls        int                 `json:"tool_calls,omitempty"`
	ToolErrors       int                 `json:"tool_errors,omitempty"`
	QueueItems       int                 `json:"queue_items,omitempty"`
	PayloadSummary   map[string]string   `json:"payload_summary,omitempty"`
	Divergence       *DivergenceEvidence `json:"divergence,omitempty"`
}

func NewTelemetryEvent

func NewTelemetryEvent(input TelemetryEventInput) Event

func NormalizeEvent

func NormalizeEvent(event Event, now time.Time) Event

type EventMatrixEntry

type EventMatrixEntry struct {
	UpstreamEvent      string             `json:"upstream_event"`
	LocalEvent         string             `json:"local_event"`
	Source             string             `json:"source"`
	Category           string             `json:"category"`
	HostedExporterOnly bool               `json:"hosted_exporter_only,omitempty"`
	Divergence         DivergenceEvidence `json:"divergence"`
}

func LookupTelemetryEvent

func LookupTelemetryEvent(upstream string) (EventMatrixEntry, bool)

type ReasoningTraceInput

type ReasoningTraceInput struct {
	TraceID, TreeNodeID, ParentID, EventType, TaskType, Provider, Model, ReasoningEffort string
	Level, InputTokens, OutputTokens                                                     int
	StartedAt, FinishedAt                                                                time.Time
	ToolCalls                                                                            []string
	Payload                                                                              map[string]any
}

type ReasoningTraceRecord

type ReasoningTraceRecord struct {
	TraceID, TreeNodeID, ParentID, EventType, TaskType, Provider, Model, ReasoningEffort string
	Level                                                                                int
	Timestamp                                                                            time.Time
	DurationMs                                                                           int64
	InputTokens, OutputTokens                                                            int
	ToolCalls                                                                            []string
	PayloadSummary                                                                       map[string]string
	Redactions                                                                           []RedactionEvidence
}

func NewReasoningTraceRecord

func NewReasoningTraceRecord(input ReasoningTraceInput) ReasoningTraceRecord

func (ReasoningTraceRecord) TelemetryEvent

func (r ReasoningTraceRecord) TelemetryEvent() Event

type RedactionEvidence

type RedactionEvidence struct {
	Field, Reason string
}

func SummarizePayload

func SummarizePayload(payload map[string]any) (map[string]string, []RedactionEvidence)

type TelemetryEventInput

type TelemetryEventInput struct {
	Type       string
	Workspace  string
	SessionKey string
	Peer       string
	RunID      string
	AgentID    string
	ResourceID string
	Iteration  int
	Timestamp  time.Time
	Metrics    TelemetryMetrics
	Payload    map[string]any
}

type TelemetryMetrics

type TelemetryMetrics struct {
	InputTokens         int
	OutputTokens        int
	CacheReadTokens     int
	CacheWriteTokens    int
	ReasoningTokens     int
	QueueItemsProcessed int
	ToolCallsCount      int
	ToolErrors          int
	DurationMs          int64
}

Jump to

Keyboard shortcuts

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