Documentation
¶
Overview ¶
Package otelmetric adalah wrapper tipis di atas OTel Metrics API yang menyediakan helper untuk mencatat durasi fungsi, operasi DB, dan HTTP request. Pola penggunaannya sengaja dibuat mirip otellog agar konsisten di semua service.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RecordDB ¶
RecordDB mencatat durasi operasi database sebagai histogram. Pasangan dari otellog.TraceDB — gunakan keduanya bersama.
func (r *Repo) GetList(ctx context.Context) (result []Model, err error) {
ctx, traceDone := otellog.TraceDB(ctx, "mst_rekanan", "SELECT")
defer otelmetric.RecordDB(ctx, "mst_rekanan", "SELECT")()
defer traceDone(&err)
...
}
func RecordFunc ¶
RecordFunc mencatat durasi satu pemanggilan fungsi sebagai histogram. Pasangan dari otellog.TraceFunc — gunakan keduanya bersama untuk observability lengkap.
func (u *Usecase) MyFunc(ctx context.Context, req Req) (resp Resp, err error) {
ctx, traceDone := otellog.TraceFunc(ctx, "MyFunc")
defer otelmetric.RecordFunc(ctx, "MyFunc")()
defer traceDone(&err)
...
}
func RecordHTTP ¶
func RecordHTTP(ctx goravelhttp.Context) func()
RecordHTTP mencatat metrics HTTP request: total, durasi (histogram), dan concurrent aktif. Gunakan di middleware — panggil sebelum Next(), gunakan returned func setelah Next():
func OtelMetrics(ctx goravelhttp.Context) {
done := otelmetric.RecordHTTP(ctx)
ctx.Request().Next()
done()
}
Types ¶
This section is empty.