Help us shape the future of Go! Take the 2026 Go Developer Survey

stats

package
v0.6.2 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CircuitLatencySample

type CircuitLatencySample struct {
	Timestamp time.Time `json:"timestamp"`
	RTT       uint32    `json:"rtt"`
}

type CircuitLatencyStat

type CircuitLatencyStat struct {
	Circuit   string `json:"circuit"`
	Timestamp string `json:"timestamp"` // Start of window (RFC3339Nano)

	// RTT metrics (in microseconds)
	RTTMean     float64 `json:"rtt_mean"`
	RTTMedian   float64 `json:"rtt_median"`
	RTTMin      float64 `json:"rtt_min"`
	RTTMax      float64 `json:"rtt_max"`
	RTTP90      float64 `json:"rtt_p90"`
	RTTP95      float64 `json:"rtt_p95"`
	RTTP99      float64 `json:"rtt_p99"`
	RTTStdDev   float64 `json:"rtt_stddev"`   // population
	RTTVariance float64 `json:"rtt_variance"` // population
	RTTMAD      float64 `json:"rtt_mad"`      // median absolute deviation

	// Jitter metrics (in microseconds)
	JitterAvg         float64 `json:"jitter_avg"`          // mean(|ΔRTT|)
	JitterEWMA        float64 `json:"jitter_ewma"`         // RFC3550-like EWMA of |ΔRTT|
	JitterDeltaStdDev float64 `json:"jitter_delta_stddev"` // stddev of ΔRTT
	JitterPeakToPeak  float64 `json:"jitter_peak_to_peak"` // range of |ΔRTT| (max-min)
	JitterMax         float64 `json:"jitter_max"`          // max(|ΔRTT|)

	// Success/failure counts and ratios
	SuccessCount uint64  `json:"success_count"`
	SuccessRate  float64 `json:"success_rate"`
	LossCount    uint64  `json:"loss_count"`
	LossRate     float64 `json:"loss_rate"`
}

func Aggregate

func Aggregate(circuitCode string, samples []CircuitLatencySample, maxPoints uint64, interval time.Duration) ([]CircuitLatencyStat, error)

func AggregateIntoOne

func AggregateIntoOne(ts time.Time, rtts []float64) CircuitLatencyStat

func AggregateIntoTimeBuckets

func AggregateIntoTimeBuckets(circuitCode string, timeseries []CircuitLatencySample, bucket time.Duration) ([]CircuitLatencyStat, error)

func (*CircuitLatencyStat) ConvertUnit

func (s *CircuitLatencyStat) ConvertUnit(factor float64)

Jump to

Keyboard shortcuts

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