Versions in this module Expand all Collapse all v0 v0.1.3 Jul 4, 2026 v0.1.1 Jun 25, 2026 Changes in this version + const AttrAgentID + const AttrCostUSD + const AttrGenAIOperationName + const AttrGenAIRequestModel + const AttrGenAIResponseModel + const AttrGenAISystem + const AttrGenAIUsageInputTokens + const AttrGenAIUsageOutputTokens + const AttrLLMCostUSD + const AttrLLMInputTokens + const AttrLLMLatencyMs + const AttrLLMModel + const AttrLLMOutputTokens + const AttrLLMProvider + const AttrLLMStatus + const AttrSessionID + const AttrToolName + const SpanLLMCacheHit + const SpanLLMChat + const SpanLLMRetry + const SpanLLMStream + func HashContent(s string) string + type AuditEvent struct + CostUSD float64 + InputTokens int + LatencyMS int64 + Model string + OutputTokens int + PromptHash string + Provider string + ResponseHash string + SessionID string + Status string + Timestamp time.Time + VirtualKeyID string + type AuditSink interface + Record func(event AuditEvent) error + type JSONLFileSink struct + func NewJSONLFileSink(path string) (*JSONLFileSink, error) + func (s *JSONLFileSink) Close() error + func (s *JSONLFileSink) Record(event AuditEvent) error + type MetricsCollector struct + func NewMetricsCollector() *MetricsCollector + func (mc *MetricsCollector) CacheHitRate() float64 + func (mc *MetricsCollector) CostAccumulator(key string) float64 + func (mc *MetricsCollector) ErrorRate(provider string) float64 + func (mc *MetricsCollector) ExportJSON() string + func (mc *MetricsCollector) ExportPrometheus() string + func (mc *MetricsCollector) LatencyHistogram(key string) (p50, p95, p99 float64) + func (mc *MetricsCollector) RecordCustom(name string, value float64, attrs map[string]string) + func (mc *MetricsCollector) RecordRequest(provider, model string, inputTok, outputTok int, latency time.Duration, ...) + func (mc *MetricsCollector) RequestCount(key string) int64 + func (mc *MetricsCollector) TokensUsed(key string) (int64, int64) + func (mc *MetricsCollector) TotalCost() float64 + func (mc *MetricsCollector) TotalRequests() int64 + type NoopSink struct + func (NoopSink) Record(AuditEvent) error + type Span struct + Attributes map[string]string + EndTime time.Time + Events []SpanEvent + Model string + Name string + Provider string + SpanID string + StartTime time.Time + Status SpanStatus + TraceID string + func (s *Span) AddEvent(name string, attrs map[string]string) + func (s *Span) Duration() time.Duration + func (s *Span) SetAttribute(key, value string) + type SpanEvent struct + Attributes map[string]string + Name string + Timestamp time.Time + type SpanStatus string + const StatusError + const StatusOK + const StatusUnset + type Telemetry struct + OnSpanEnd func(*Span) + func NewTelemetry() *Telemetry + func (t *Telemetry) EndSpan(span *Span, err error) + func (t *Telemetry) Metrics() *MetricsCollector + func (t *Telemetry) RecordMetric(name string, value float64, attrs map[string]string) + func (t *Telemetry) Spans() []*Span + func (t *Telemetry) StartSpan(name string, attrs map[string]string) *Span