Skip to content

Plugin logging v1.7.0

Choose a tag to compare

@akshaydeo akshaydeo released this 26 Aug 18:42
· 11 commits to dev since this release

Plugin Release: logging v1.7.0

  • feat: batch accounting: recordBatchJobLifecycle persists batch state on create and retrieve, accountBatchResults settles costs inline on the /results path under a 30-second bound, StartBatchAccountingSweeper re-drives jobs that timed out with a per-runner ownership identity, EmitBatchAggregateLog writes the aggregate cost entry with the creating request's identity and a bifrost/<version> user agent, calculateBatchAggregateCost reprices Model="mixed" rows per model breakdown during cost recalculation (foreground and background, via the shared persistRecalcOutcomes), and batch_debug is included in list queries; Init takes a batchStore (nil disables batch accounting) (thanks @SahilChoudhary22!) (#5296, #6121, #6474, #6505)
  • feat: input/output/additional cost split persisted on every log and surfaced as cost_breakdown in the log detail API, with cached-read, reasoning, guardrail, MCP and semantic cache detail; fallback billing paths, speech, transcription and OCR usages populate the split, and legacy total-only rows are attributed to input cost (#6511)
  • feat: Bifrost overhead latency: upstream_latency and overhead_latency forwarded from PostLLMHook and backfilled from the root span's authoritative attributes in Inject, stamped only on the terminal entry per trace; computeOverheadBreakdown walks the span tree, computes self-time per span, groups overhead-side spans into buckets (serialization, middleware, plugins, queue wait, key selection, convertor, networking, client delivery, scheduling, worker hand-off, provider-internal) and persists them to overhead_breakdown, with streaming traces folding parse, convert, backpressure, transport CPU and client-write time into their own buckets and using the measured sum as overhead; ConsumesOverheadSpans returns true so the plugin keeps receiving breakdown spans that other connectors no longer see (#5533, #6388, #6389, #6433, #6470, #6495)
  • feat: service_tier from streamed Anthropic responses flows through convertToProcessedStreamResponse into the log entry so repricing uses the served tier (#6236)
  • feat: video edit requests are logged with their input (#6270)
  • perf: identity and governance context reads are deferred past the non-final-chunk gate in PostLLMHook, and JSON encoding in HTTP helpers uses sonic (#5957, #6268)
  • feat: add a no-op HTTPTransportPreAuthHook for the new pre-authentication transport phase (#6375)
  • chore: upgraded core to v1.8.0 and framework to v1.6.0

Installation

# Update your go.mod to use the new plugin version
go get github.com/maximhq/bifrost/plugins/logging@v1.7.0

This release was automatically created from version file: plugins/logging/version