metricslog

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2026 License: AGPL-3.0 Imports: 4 Imported by: 0

Documentation

Overview

Package metricslog is the Prometheus observer on the lifecycle spine. It owns no metrics of its own — it reads the per-request lifecycle Context + outcome and forwards them to the one-liner emitters in pkg/metrics. Registering it is the entire wiring for the request-flow metrics (Q1–Q2, Q5 in docs/metrics.md); no runner (pipeline/proxy/ws/ batch) changes, because every runner already feeds the lifecycle spine.

It registers on three phases: pre-flight (inflight gauge up), the post-flight Hook (request-flow histograms), and a Collector (inflight gauge down — Collect runs on every Finalize, unlike Fill which a pre-send stream fill can mark done).

Out of scope: the data-loss and provider-key-health metrics (Q3/Q4) are emitted at their sources (the emitters, keypool) — they don't pass through here.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Hook

type Hook struct{}

Hook reads request outcome + timing and emits the request-flow metrics. It is a pure lifecycle.Hook: it produces no stored result (returns nil) and never mutates the Context post-flight. Emitting a Prometheus sample is a cheap, non-blocking atomic op, so it satisfies the "Fill must be cheap" rule.

func New

func New() *Hook

New constructs the (stateless) metrics observer.

func (*Hook) Collect added in v0.3.0

func (*Hook) Collect(lc *lifecycle.Context)

Collect lowers the inflight gauge for a finalized request. It is a Collector, not part of Fill, because Fill is skipped when a stream session pre-filled the request — Collect runs on every Finalize.

func (*Hook) Fill

func (*Hook) Name

func (*Hook) Name() string

func (*Hook) PreFlight added in v0.3.0

PreFlight marks the request admitted: the inflight gauge rises and the Metadata note arms the post-flight decrement. O(1), never errors.

Jump to

Keyboard shortcuts

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