Documentation
¶
Overview ¶
Package flowstats records bounded, pseudonymous user-flow transitions and explicit scenario journeys directly at the application middleware boundary. It is independent of the selected reverse proxy.
Index ¶
- Constants
- Variables
- type Frozen
- type GenerationCollector
- func (c *GenerationCollector) BeginBoundary(ctx context.Context, runID string, epoch runctl.Epoch) (runctl.BoundaryResult, error)
- func (c *GenerationCollector) Collect(handle runctl.GenerationHandle) (any, error)
- func (c *GenerationCollector) Drain(ctx context.Context, handle runctl.GenerationHandle) error
- func (c *GenerationCollector) Freeze(ctx context.Context, runID string, epoch runctl.Epoch) (runctl.BoundaryResult, error)
- func (c *GenerationCollector) Name() string
- func (c *GenerationCollector) Release(handle runctl.GenerationHandle)
- type Registry
- type Snapshot
Constants ¶
View Source
const SectionName = "flow"
Variables ¶
View Source
var ( ErrForeignHandle = errors.New("flowstats: foreign generation handle") ErrNotDrained = errors.New("flowstats: generation was not drained") ErrHandleReleased = errors.New("flowstats: generation handle was released") )
View Source
var Default = NewRegistry()
Functions ¶
This section is empty.
Types ¶
type GenerationCollector ¶
type GenerationCollector struct {
// contains filtered or unexported fields
}
func NewGenerationCollector ¶
func NewGenerationCollector(registry *Registry) *GenerationCollector
func (*GenerationCollector) BeginBoundary ¶
func (c *GenerationCollector) BeginBoundary(ctx context.Context, runID string, epoch runctl.Epoch) (runctl.BoundaryResult, error)
func (*GenerationCollector) Collect ¶
func (c *GenerationCollector) Collect(handle runctl.GenerationHandle) (any, error)
func (*GenerationCollector) Drain ¶
func (c *GenerationCollector) Drain(ctx context.Context, handle runctl.GenerationHandle) error
func (*GenerationCollector) Freeze ¶
func (c *GenerationCollector) Freeze(ctx context.Context, runID string, epoch runctl.Epoch) (runctl.BoundaryResult, error)
func (*GenerationCollector) Name ¶
func (c *GenerationCollector) Name() string
func (*GenerationCollector) Release ¶
func (c *GenerationCollector) Release(handle runctl.GenerationHandle)
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
func NewRegistry ¶
func NewRegistry() *Registry
func NewRegistryWithOptions ¶ added in v1.7.0
func (*Registry) Configure ¶ added in v1.7.0
Configure replaces the empty/current generation with one using immutable visualization options. Startup wiring calls it before serving traffic.
func (*Registry) Observe ¶
Observe receives only already-pseudonymized session labels, bounded scenario names, and registered route templates. Raw cookies and raw URL paths never enter this package.
func (*Registry) ObserveRequest ¶ added in v1.7.0
func (r *Registry) ObserveRequest(value sessionlabel.Observation)
type Snapshot ¶
type Snapshot struct {
Stories []accesslog.StoryEntry `json:"stories,omitempty"`
StoryDropped int64 `json:"story_dropped,omitempty"`
Flows []accesslog.FlowEntry `json:"flows,omitempty"`
FlowDropped int64 `json:"flow_dropped,omitempty"`
Visualization *flowviz.Snapshot `json:"visualization,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.