oteljob

package
v1.1.13 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package oteljob berisi helper observability untuk job queue: mencatat dispatch yang gagal supaya tidak hilang diam-diam.

Index

Constants

View Source
const (
	ReasonPanic = "panic"
	ReasonError = "error"
)

Reason untuk RecordDispatchFailure.

View Source
const DispatchFailedMetric = "job.dispatch.failed"

DispatchFailedMetric adalah nama counter yang dicatat RecordDispatchFailure.

Variables

This section is empty.

Functions

func RecordDispatchFailure

func RecordDispatchFailure(ctx context.Context, job, reason string, detail any, fields ...golib.Map)

RecordDispatchFailure mencatat kegagalan dispatch job queue (panic maupun error dari Dispatch()) supaya tidak hilang diam-diam:

  • log error ke runtime.log + OTEL, membawa trace.id bila ctx punya span
  • event "job.dispatch.failed" di span aktif (span TIDAK ditandai Error — proses pemanggil, mis. request approval, tetap sukses)
  • counter metric job.dispatch.failed{job, reason} untuk alert

job: nama job/queue. reason: ReasonPanic atau ReasonError. detail: error atau nilai panic. fields: identitas bisnis job yang gagal (mis. log.Map{"order_id": id}); di-mask, dan TIDAK dijadikan label metric (cardinality).

func RecordDispatchPanic

func RecordDispatchPanic(ctx context.Context, job string, fields ...golib.Map)

RecordDispatchPanic dipakai di defer untuk menggantikan `defer func() { _ = recover() }()`: panic tetap ditelan (perilaku lama dipertahankan) tetapi tercatat. Harus dipanggil LANGSUNG di defer:

defer oteljob.RecordDispatchPanic(ctx, "DispatchTransferGLDebit", log.Map{"order_id": orderId})

Types

This section is empty.

Jump to

Keyboard shortcuts

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