memory

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package memory provides an in-memory metrics adapter for testing and development. Stores counters, gauges, and histograms in memory.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HistogramStats

type HistogramStats struct {
	Count int64
	Sum   float64
	Min   float64
	Max   float64
}

HistogramStats holds histogram statistics

type MemoryMetrics

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

MemoryMetrics implements port.MetricsPort with in-memory storage

func NewMemoryMetrics

func NewMemoryMetrics() *MemoryMetrics

NewMemoryMetrics creates a new in-memory metrics collector

func (*MemoryMetrics) GetAverageDuration

func (m *MemoryMetrics) GetAverageDuration(operation string) (time.Duration, int64)

GetAverageDuration returns average duration for an operation

func (*MemoryMetrics) GetHistogramStats

func (m *MemoryMetrics) GetHistogramStats(metric string) (count int64, sum, min, max float64)

GetHistogramStats returns histogram statistics

func (*MemoryMetrics) GetStats

func (m *MemoryMetrics) GetStats() *MetricsSnapshot

GetStats returns a snapshot of all metrics

func (*MemoryMetrics) IncrementCounter

func (m *MemoryMetrics) IncrementCounter(metric string, value int64)

IncrementCounter implements port.MetricsPort

func (*MemoryMetrics) RecordDuration

func (m *MemoryMetrics) RecordDuration(operation string, duration time.Duration)

RecordDuration implements port.MetricsPort

func (*MemoryMetrics) RecordHistogram

func (m *MemoryMetrics) RecordHistogram(metric string, value float64)

RecordHistogram implements port.MetricsPort

func (*MemoryMetrics) Reset

func (m *MemoryMetrics) Reset()

Reset clears all metrics

func (*MemoryMetrics) SetGauge

func (m *MemoryMetrics) SetGauge(metric string, value float64)

SetGauge implements port.MetricsPort

type MetricsSnapshot

type MetricsSnapshot struct {
	Counters               map[string]int64
	Gauges                 map[string]float64
	OperationCounts        map[string]int64
	OperationTotalDuration map[string]time.Duration
	OperationMinDuration   map[string]time.Duration
	OperationMaxDuration   map[string]time.Duration
	HistogramCounts        map[string]int64
	HistogramSums          map[string]float64
	HistogramMins          map[string]float64
	HistogramMaxs          map[string]float64
	LastResetTime          time.Time
	MetricsCollectedCount  int64
}

MetricsSnapshot represents a snapshot of all metrics

type OperationStats

type OperationStats struct {
	Count         int64
	TotalDuration time.Duration
	MinDuration   time.Duration
	MaxDuration   time.Duration
}

OperationStats holds statistics for a single operation

Jump to

Keyboard shortcuts

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