routeusage

package
v0.1.0-rc.28 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package routeusage defines route usage data that can be combined across reports.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Checkpoint

type Checkpoint struct {
	VisitorStreamOpenLatency     DurationHistogram
	TimeToFirstPublisherByte     DurationHistogram
	SuccessfulConnectionDuration DurationHistogram
	VisitorNetworks              VisitorSketch
}

Checkpoint is one cumulative ingress-process contribution to a route bucket.

func ParseCheckpoint

func ParseCheckpoint(data []byte) (Checkpoint, error)

ParseCheckpoint decodes and validates one ingress checkpoint.

func (Checkpoint) MarshalBinary

func (c Checkpoint) MarshalBinary() []byte

MarshalBinary encodes a strict, versioned checkpoint.

func (*Checkpoint) Merge

func (c *Checkpoint) Merge(other Checkpoint) error

Merge combines independent ingress-process checkpoints.

type DurationHistogram

type DurationHistogram struct {
	// contains filtered or unexported fields
}

DurationHistogram is a cumulative histogram with the route-usage API bounds.

func (DurationHistogram) Count

func (h DurationHistogram) Count() uint64

func (DurationHistogram) CumulativeCounts

func (h DurationHistogram) CumulativeCounts() []uint64

func (*DurationHistogram) Observe

func (h *DurationHistogram) Observe(duration time.Duration) error

func (DurationHistogram) SumNanoseconds

func (h DurationHistogram) SumNanoseconds() uint64

type VisitorSketch

type VisitorSketch struct {
	// contains filtered or unexported fields
}

VisitorSketch is a mergeable precision-12 HyperLogLog sketch.

func (VisitorSketch) Estimate

func (s VisitorSketch) Estimate() uint64

func (VisitorSketch) MarshalBinary

func (s VisitorSketch) MarshalBinary() []byte

func (*VisitorSketch) Observe

func (s *VisitorSketch) Observe(dateKey [32]byte, routeID string, source netip.Addr) bool

Observe records an IPv4 /32 or IPv6 /64 network with a date-scoped key.

Jump to

Keyboard shortcuts

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