metrics

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2026 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Overview

Package metrics provides a decoupled interface for collecting library metrics.

By using the Provider interface, the lifecycle library remains free of external monitoring dependencies (like Prometheus or OpenTelemetry) while still providing hook points for observability.

Consumers can implement their own Provider or use the provided LogProvider for debugging.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetProvider

func SetProvider(p Provider)

SetProvider sets the global metrics provider.

Types

type LogProvider

type LogProvider struct{}

LogProvider is a metrics provider that logs increments at Debug level. This is useful for development and debugging without external dependencies.

func (*LogProvider) IncBackoffTriggered added in v1.3.1

func (l *LogProvider) IncBackoffTriggered(c string, d time.Duration)

func (*LogProvider) IncChildRestart added in v1.3.0

func (l *LogProvider) IncChildRestart(s, c string)

func (*LogProvider) IncContainerFailed added in v1.3.0

func (l *LogProvider) IncContainerFailed(image string)

func (*LogProvider) IncContainerStarted added in v1.3.0

func (l *LogProvider) IncContainerStarted(image string)

func (*LogProvider) IncContainerStopped added in v1.3.0

func (l *LogProvider) IncContainerStopped(image string)

func (*LogProvider) IncCriticalSectionFinished added in v1.4.0

func (l *LogProvider) IncCriticalSectionFinished(success bool)

func (*LogProvider) IncCriticalSectionStarted added in v1.4.0

func (l *LogProvider) IncCriticalSectionStarted()

func (*LogProvider) IncForceExitTriggered added in v1.3.0

func (l *LogProvider) IncForceExitTriggered()

func (*LogProvider) IncHookExecuted

func (l *LogProvider) IncHookExecuted()

func (*LogProvider) IncHookPanicked

func (l *LogProvider) IncHookPanicked()

func (*LogProvider) IncProcessFailed

func (l *LogProvider) IncProcessFailed()

func (*LogProvider) IncProcessStarted

func (l *LogProvider) IncProcessStarted()

func (*LogProvider) IncSignalReceived

func (l *LogProvider) IncSignalReceived(sig string)

func (*LogProvider) IncSupervisorAdd added in v1.3.1

func (l *LogProvider) IncSupervisorAdd(s string)

func (*LogProvider) IncSupervisorRemove added in v1.3.1

func (l *LogProvider) IncSupervisorRemove(s string)

func (*LogProvider) IncSupervisorRestart added in v1.3.0

func (l *LogProvider) IncSupervisorRestart(s, strategy string)

func (*LogProvider) IncTerminalUpgrade

func (l *LogProvider) IncTerminalUpgrade(success bool)

func (*LogProvider) IncWorkerFailed added in v1.3.0

func (l *LogProvider) IncWorkerFailed(wt string)

func (*LogProvider) IncWorkerStarted added in v1.3.0

func (l *LogProvider) IncWorkerStarted(wt string)

func (*LogProvider) IncWorkerStopped added in v1.3.0

func (l *LogProvider) IncWorkerStopped(wt string)

func (*LogProvider) ObserveContainerDuration added in v1.3.0

func (l *LogProvider) ObserveContainerDuration(image string, d time.Duration)

func (*LogProvider) ObserveCriticalSectionDuration added in v1.4.0

func (l *LogProvider) ObserveCriticalSectionDuration(d time.Duration)

func (*LogProvider) ObserveHookDuration

func (l *LogProvider) ObserveHookDuration(d time.Duration)

func (*LogProvider) ObserveShutdownDuration added in v1.3.0

func (l *LogProvider) ObserveShutdownDuration(wt string, d time.Duration)

func (*LogProvider) ObserveWorkerDuration added in v1.3.0

func (l *LogProvider) ObserveWorkerDuration(wt string, d time.Duration)

type NoOpProvider

type NoOpProvider struct{}

NoOpProvider is a metrics provider that does nothing.

func (*NoOpProvider) IncBackoffTriggered added in v1.3.1

func (n *NoOpProvider) IncBackoffTriggered(c string, d time.Duration)

func (*NoOpProvider) IncChildRestart added in v1.3.0

func (n *NoOpProvider) IncChildRestart(s, c string)

func (*NoOpProvider) IncContainerFailed added in v1.3.0

func (n *NoOpProvider) IncContainerFailed(image string)

func (*NoOpProvider) IncContainerStarted added in v1.3.0

func (n *NoOpProvider) IncContainerStarted(image string)

func (*NoOpProvider) IncContainerStopped added in v1.3.0

func (n *NoOpProvider) IncContainerStopped(image string)

func (*NoOpProvider) IncCriticalSectionFinished added in v1.4.0

func (n *NoOpProvider) IncCriticalSectionFinished(success bool)

func (*NoOpProvider) IncCriticalSectionStarted added in v1.4.0

func (n *NoOpProvider) IncCriticalSectionStarted()

func (*NoOpProvider) IncForceExitTriggered added in v1.3.0

func (n *NoOpProvider) IncForceExitTriggered()

func (*NoOpProvider) IncHookExecuted

func (n *NoOpProvider) IncHookExecuted()

func (*NoOpProvider) IncHookPanicked

func (n *NoOpProvider) IncHookPanicked()

func (*NoOpProvider) IncProcessFailed

func (n *NoOpProvider) IncProcessFailed()

func (*NoOpProvider) IncProcessStarted

func (n *NoOpProvider) IncProcessStarted()

func (*NoOpProvider) IncSignalReceived

func (n *NoOpProvider) IncSignalReceived(sig string)

func (*NoOpProvider) IncSupervisorAdd added in v1.3.1

func (n *NoOpProvider) IncSupervisorAdd(s string)

func (*NoOpProvider) IncSupervisorRemove added in v1.3.1

func (n *NoOpProvider) IncSupervisorRemove(s string)

func (*NoOpProvider) IncSupervisorRestart added in v1.3.0

func (n *NoOpProvider) IncSupervisorRestart(s, est string)

func (*NoOpProvider) IncTerminalUpgrade

func (n *NoOpProvider) IncTerminalUpgrade(success bool)

func (*NoOpProvider) IncWorkerFailed added in v1.3.0

func (n *NoOpProvider) IncWorkerFailed(wt string)

func (*NoOpProvider) IncWorkerStarted added in v1.3.0

func (n *NoOpProvider) IncWorkerStarted(wt string)

func (*NoOpProvider) IncWorkerStopped added in v1.3.0

func (n *NoOpProvider) IncWorkerStopped(wt string)

func (*NoOpProvider) ObserveContainerDuration added in v1.3.0

func (n *NoOpProvider) ObserveContainerDuration(image string, d time.Duration)

func (*NoOpProvider) ObserveCriticalSectionDuration added in v1.4.0

func (n *NoOpProvider) ObserveCriticalSectionDuration(d time.Duration)

func (*NoOpProvider) ObserveHookDuration

func (n *NoOpProvider) ObserveHookDuration(d time.Duration)

func (*NoOpProvider) ObserveShutdownDuration added in v1.3.0

func (n *NoOpProvider) ObserveShutdownDuration(wt string, d time.Duration)

func (*NoOpProvider) ObserveWorkerDuration added in v1.3.0

func (n *NoOpProvider) ObserveWorkerDuration(wt string, d time.Duration)

type Provider

type Provider interface {
	IncSignalReceived(sig string)
	IncProcessStarted()
	IncProcessFailed()
	IncTerminalUpgrade(success bool)
	IncHookExecuted()
	IncHookPanicked()
	ObserveHookDuration(duration time.Duration)
	IncWorkerStarted(workerType string)
	IncWorkerStopped(workerType string)
	IncWorkerFailed(workerType string)
	ObserveWorkerDuration(workerType string, duration time.Duration)
	IncSupervisorRestart(supervisorName, strategy string)
	IncChildRestart(supervisorName, childName string)
	IncSupervisorAdd(supervisorName string)
	IncSupervisorRemove(supervisorName string)
	IncBackoffTriggered(childName string, delay time.Duration)
	ObserveShutdownDuration(workerType string, duration time.Duration)
	IncForceExitTriggered()

	// Critical Sections
	IncCriticalSectionStarted()
	IncCriticalSectionFinished(success bool)
	ObserveCriticalSectionDuration(duration time.Duration)

	// Container metrics
	IncContainerStarted(image string)
	IncContainerStopped(image string)
	IncContainerFailed(image string)
	ObserveContainerDuration(image string, duration time.Duration)
}

Provider defines the interface for collecting lifecycle metrics. Implementations can bridge these calls to Prometheus, OpenTelemetry, etc.

func GetProvider

func GetProvider() Provider

GetProvider returns the current global metrics provider.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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