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 ¶
- func SetProvider(p Provider)
- type LogProvider
- func (l *LogProvider) IncBackoffTriggered(c string, d time.Duration)
- func (l *LogProvider) IncChildRestart(s, c string)
- func (l *LogProvider) IncContainerFailed(image string)
- func (l *LogProvider) IncContainerStarted(image string)
- func (l *LogProvider) IncContainerStopped(image string)
- func (l *LogProvider) IncDataLost(bytes int)
- func (l *LogProvider) IncForceExitTriggered()
- func (l *LogProvider) IncHookExecuted()
- func (l *LogProvider) IncHookPanicked()
- func (l *LogProvider) IncProcessFailed()
- func (l *LogProvider) IncProcessStarted()
- func (l *LogProvider) IncSignalReceived(sig string)
- func (l *LogProvider) IncSupervisorAdd(s string)
- func (l *LogProvider) IncSupervisorRemove(s string)
- func (l *LogProvider) IncSupervisorRestart(s, strategy string)
- func (l *LogProvider) IncTerminalUpgrade(success bool)
- func (l *LogProvider) IncWorkerFailed(wt string)
- func (l *LogProvider) IncWorkerStarted(wt string)
- func (l *LogProvider) IncWorkerStopped(wt string)
- func (l *LogProvider) ObserveContainerDuration(image string, d time.Duration)
- func (l *LogProvider) ObserveHookDuration(d time.Duration)
- func (l *LogProvider) ObserveShutdownDuration(wt string, d time.Duration)
- func (l *LogProvider) ObserveWorkerDuration(wt string, d time.Duration)
- type NoOpProvider
- func (n *NoOpProvider) IncBackoffTriggered(c string, d time.Duration)
- func (n *NoOpProvider) IncChildRestart(s, c string)
- func (n *NoOpProvider) IncContainerFailed(image string)
- func (n *NoOpProvider) IncContainerStarted(image string)
- func (n *NoOpProvider) IncContainerStopped(image string)
- func (n *NoOpProvider) IncDataLost(bytes int)
- func (n *NoOpProvider) IncForceExitTriggered()
- func (n *NoOpProvider) IncHookExecuted()
- func (n *NoOpProvider) IncHookPanicked()
- func (n *NoOpProvider) IncProcessFailed()
- func (n *NoOpProvider) IncProcessStarted()
- func (n *NoOpProvider) IncSignalReceived(sig string)
- func (n *NoOpProvider) IncSupervisorAdd(s string)
- func (n *NoOpProvider) IncSupervisorRemove(s string)
- func (n *NoOpProvider) IncSupervisorRestart(s, est string)
- func (n *NoOpProvider) IncTerminalUpgrade(success bool)
- func (n *NoOpProvider) IncWorkerFailed(wt string)
- func (n *NoOpProvider) IncWorkerStarted(wt string)
- func (n *NoOpProvider) IncWorkerStopped(wt string)
- func (n *NoOpProvider) ObserveContainerDuration(image string, d time.Duration)
- func (n *NoOpProvider) ObserveHookDuration(d time.Duration)
- func (n *NoOpProvider) ObserveShutdownDuration(wt string, d time.Duration)
- func (n *NoOpProvider) ObserveWorkerDuration(wt string, d time.Duration)
- type Provider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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) IncDataLost ¶ added in v1.3.0
func (l *LogProvider) IncDataLost(bytes int)
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) 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) IncDataLost ¶ added in v1.3.0
func (n *NoOpProvider) IncDataLost(bytes int)
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) 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)
IncDataLost(bytes int)
ObserveShutdownDuration(workerType string, duration time.Duration)
IncForceExitTriggered()
// 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.