metrics

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Collector

type Collector struct {

	// Increment and Add are used to track and report metrics.
	Increment func()
	Add       func(n uint64)
	// contains filtered or unexported fields
}

Collector tracks and logs metrics such as request rate and counts within a context-managed environment.

func NewCollector

func NewCollector(
	ctx context.Context,
	logger *slog.Logger,
	metricType MetricType,
	message string,
	enabled bool,
) *Collector

NewCollector initializes a new Collector with the provided context and logger, Enabled metrics will be reported to logger debug level.

func (*Collector) GetLastResult

func (mc *Collector) GetLastResult() uint64

GetLastResult returns the last calculated RecordsPerSecond value.

func (*Collector) Stop

func (mc *Collector) Stop()

Stop stops collecting metrics and closes the context of the Collector.

type MetricType

type MetricType int
const (
	RecordsPerSecond MetricType = iota
	KilobytesPerSecond
)

func (MetricType) String

func (mt MetricType) String() string

type Reader

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

Reader wraps an io.Reader to collect metrics on read operations.

func NewReader

func NewReader(r io.ReadCloser, c *Collector) *Reader

NewReader creates a new metrics wrapper around an existing io.Reader.

func (*Reader) Close

func (r *Reader) Close() error

func (*Reader) Read

func (r *Reader) Read(p []byte) (n int, err error)

type Writer

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

Writer wraps an io.Writer to collect metrics on write operations.

func NewWriter

func NewWriter(w io.WriteCloser, c *Collector) *Writer

NewWriter creates a new metrics wrapper around an existing io.Writer.

func (*Writer) Close

func (w *Writer) Close() error

func (*Writer) Write

func (w *Writer) Write(p []byte) (n int, err error)

Jump to

Keyboard shortcuts

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