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 ¶
- type MetricsExtension
- func (m *MetricsExtension) Name() string
- func (m *MetricsExtension) OnCronFired(_ context.Context, _ string, _ id.JobID) error
- func (m *MetricsExtension) OnJobCompleted(_ context.Context, _ *job.Job, _ time.Duration) error
- func (m *MetricsExtension) OnJobDLQ(_ context.Context, _ *job.Job, _ error) error
- func (m *MetricsExtension) OnJobEnqueued(_ context.Context, _ *job.Job) error
- func (m *MetricsExtension) OnJobFailed(_ context.Context, _ *job.Job, _ error) error
- func (m *MetricsExtension) OnJobRetrying(_ context.Context, _ *job.Job, _ int, _ time.Time) error
- func (m *MetricsExtension) OnWorkflowCompleted(_ context.Context, _ *workflow.Run, _ time.Duration) error
- func (m *MetricsExtension) OnWorkflowFailed(_ context.Context, _ *workflow.Run, _ error) error
- func (m *MetricsExtension) OnWorkflowStarted(_ context.Context, _ *workflow.Run) error
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 ¶
OnCronFired implements ext.CronFired.
func (*MetricsExtension) OnJobCompleted ¶
OnJobCompleted implements ext.JobCompleted.
func (*MetricsExtension) OnJobEnqueued ¶
OnJobEnqueued implements ext.JobEnqueued.
func (*MetricsExtension) OnJobFailed ¶
OnJobFailed implements ext.JobFailed.
func (*MetricsExtension) OnJobRetrying ¶
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 ¶
OnWorkflowFailed implements ext.WorkflowFailed.
func (*MetricsExtension) OnWorkflowStarted ¶
OnWorkflowStarted implements ext.WorkflowStarted.