Help us shape the future of Go! Take the 2026 Go Developer Survey

observability

package
v1.9.3 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package observability provides the legacy lifecycle counters for Dispatch. The MetricsExtension implements lifecycle hooks to record unlabelled, system-wide counters for job enqueue, completion, failure, retry, DLQ, workflow, and cron events.

The spans and labelled metrics for job attempts, cron, workflows, the durable runtime, the outbox and the artifact sweeper live in the telemetry package, and engine.Build wires both.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MetricsExtension

type MetricsExtension struct {
	JobEnqueued       gu.Counter
	JobCompleted      gu.Counter
	JobFailed         gu.Counter
	JobRetried        gu.Counter
	JobDLQ            gu.Counter
	WorkflowStarted   gu.Counter
	WorkflowCompleted gu.Counter
	WorkflowFailed    gu.Counter
	CronFired         gu.Counter
}

MetricsExtension records system-wide lifecycle metrics via go-utils MetricFactory. Register it as a Dispatch extension to automatically track enqueue rates, completion counts, failure rates, retry counts, DLQ entries, workflow executions, and cron fires.

func NewMetricsExtension

func NewMetricsExtension() *MetricsExtension

NewMetricsExtension creates a MetricsExtension using a default metrics collector.

func NewMetricsExtensionWithFactory

func NewMetricsExtensionWithFactory(factory gu.MetricFactory) *MetricsExtension

NewMetricsExtensionWithFactory creates a MetricsExtension with the provided MetricFactory. Use fapp.Metrics() in forge extensions, or gu.NewMetricsCollector for testing.

func (*MetricsExtension) Name

func (m *MetricsExtension) Name() string

Name implements ext.Extension.

func (*MetricsExtension) OnCronFired

func (m *MetricsExtension) OnCronFired(_ context.Context, _ string, _ id.JobID) error

OnCronFired implements ext.CronFired.

func (*MetricsExtension) OnJobCompleted

func (m *MetricsExtension) OnJobCompleted(_ context.Context, _ *job.Job, _ time.Duration) error

OnJobCompleted implements ext.JobCompleted.

func (*MetricsExtension) OnJobDLQ

func (m *MetricsExtension) OnJobDLQ(_ context.Context, _ *job.Job, _ error) error

OnJobDLQ implements ext.JobDLQ.

func (*MetricsExtension) OnJobEnqueued

func (m *MetricsExtension) OnJobEnqueued(_ context.Context, _ *job.Job) error

OnJobEnqueued implements ext.JobEnqueued.

func (*MetricsExtension) OnJobFailed

func (m *MetricsExtension) OnJobFailed(_ context.Context, _ *job.Job, _ error) error

OnJobFailed implements ext.JobFailed.

func (*MetricsExtension) OnJobRetrying

func (m *MetricsExtension) OnJobRetrying(_ context.Context, _ *job.Job, _ int, _ time.Time) error

OnJobRetrying implements ext.JobRetrying.

func (*MetricsExtension) OnWorkflowCompleted

func (m *MetricsExtension) OnWorkflowCompleted(_ context.Context, _ *workflow.Run, _ time.Duration) error

OnWorkflowCompleted implements ext.WorkflowCompleted.

func (*MetricsExtension) OnWorkflowFailed

func (m *MetricsExtension) OnWorkflowFailed(_ context.Context, _ *workflow.Run, _ error) error

OnWorkflowFailed implements ext.WorkflowFailed.

func (*MetricsExtension) OnWorkflowStarted

func (m *MetricsExtension) OnWorkflowStarted(_ context.Context, _ *workflow.Run) error

OnWorkflowStarted implements ext.WorkflowStarted.

Jump to

Keyboard shortcuts

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