metrics

package
v0.3.7 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2026 License: LGPL-2.1, LGPL-2.1-or-later Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NoopRecorder

type NoopRecorder struct{}

NoopRecorder is a MetricsRecorder implementation that does nothing. This can be used as a default recorder when metrics recording is not needed.

func (*NoopRecorder) RecordClaimAttempt

func (n *NoopRecorder) RecordClaimAttempt(streamName string, success bool, duration time.Duration)

func (*NoopRecorder) RecordKspNotification

func (n *NoopRecorder) RecordKspNotification(streamName string)

func (*NoopRecorder) RecordKspNotificationDropped

func (n *NoopRecorder) RecordKspNotificationDropped()

func (*NoopRecorder) RecordLockAcquisitionAttempt

func (n *NoopRecorder) RecordLockAcquisitionAttempt(streamName string, success bool, duration time.Duration)

func (*NoopRecorder) RecordLockExtensionAttempt

func (n *NoopRecorder) RecordLockExtensionAttempt(streamName string, success bool)

func (*NoopRecorder) RecordLockReleaseAttempt

func (n *NoopRecorder) RecordLockReleaseAttempt(streamName string, success bool)

func (*NoopRecorder) RecordStartupRecovery

func (n *NoopRecorder) RecordStartupRecovery(success bool, unackedCount int, duration time.Duration)

func (*NoopRecorder) RecordStreamProcessingEnd

func (n *NoopRecorder) RecordStreamProcessingEnd(streamName string, startTime time.Time)

func (*NoopRecorder) RecordStreamProcessingStart

func (n *NoopRecorder) RecordStreamProcessingStart(streamName string, startTime time.Time)

type Recorder

type Recorder interface {
	// RecordStartupRecovery records the outcome of the startup recovery process, including whether it was successful,
	// the number of unacked messages, and the duration of the recovery.
	RecordStartupRecovery(success bool, unackedCount int, duration time.Duration)
	// RecordClaimAttempt records an attempt to claim a mutex, including whether it was successful and how long it took.
	RecordClaimAttempt(streamName string, success bool, duration time.Duration)
	// RecordLockAcquisitionAttempt records an attempt to acquire or recover a lock (either during
	// startup recovery or when claiming an expired stream), including whether it was successful
	// and how long it took.
	RecordLockAcquisitionAttempt(streamName string, success bool, duration time.Duration)
	// RecordLockExtension records an attempt to extend a lock, including whether it was successful.
	RecordLockExtensionAttempt(streamName string, success bool)
	// RecordLockRelease records an attempt to release a lock, including whether it was successful.
	RecordLockReleaseAttempt(streamName string, success bool)
	// RecordStreamProcessingStart records the start of stream processing for a given stream.
	RecordStreamProcessingStart(streamName string, startTime time.Time)
	// RecordStreamProcessingEnd records the end of stream processing and the total duration.
	RecordStreamProcessingEnd(streamName string, startTime time.Time)
	// RecordKspNotification records the receipt of a keyspace notification for a stream.
	RecordKspNotification(streamName string)
	// RecordKspNotificationDropped records the event of a keyspace notification being dropped
	// due to a full broker channel.
	RecordKspNotificationDropped()
}

MetricsRecorder defines the interface for recording metrics related to Redis mutex operations and stream processing.

Jump to

Keyboard shortcuts

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