@@ -11,47 +11,39 @@ import (
1111
1212// OtelMonitor represents the otel monitor.
1313type OtelMonitor struct {
14- recipeDuration metric.Int64Histogram
14+ recipeDuration metric.Float64Histogram
1515 extractorRetries metric.Int64Counter
1616 assetsExtracted metric.Int64Counter
1717 sinkRetries metric.Int64Counter
1818}
1919
20- func NewOtelMonitor () ( * OtelMonitor , error ) {
20+ func NewOtelMonitor () * OtelMonitor {
2121 // init meters
22- meter := otel .Meter ("" )
23- recipeDuration , err := meter .Int64Histogram ("meteor.recipe.duration" , metric .WithUnit ("ms" ))
24- if err != nil {
25- return nil , err
26- }
22+ meter := otel .Meter ("github.com/raystack/meteor/metrics" )
23+ recipeDuration , err := meter .Float64Histogram ("meteor.recipe.duration" , metric .WithUnit ("s" ))
24+ handleOtelErr (err )
2725
2826 extractorRetries , err := meter .Int64Counter ("meteor.extractor.retries" )
29- if err != nil {
30- return nil , err
31- }
27+ handleOtelErr (err )
3228
3329 assetsExtracted , err := meter .Int64Counter ("meteor.assets.extracted" )
34- if err != nil {
35- return nil , err
36- }
30+ handleOtelErr (err )
3731
3832 sinkRetries , err := meter .Int64Counter ("meteor.sink.retries" )
39- if err != nil {
40- return nil , err
41- }
33+ handleOtelErr (err )
4234
4335 return & OtelMonitor {
4436 recipeDuration : recipeDuration ,
4537 extractorRetries : extractorRetries ,
4638 assetsExtracted : assetsExtracted ,
4739 sinkRetries : sinkRetries ,
48- }, nil
40+ }
4941}
5042
5143// RecordRun records a run behavior
5244func (m * OtelMonitor ) RecordRun (ctx context.Context , run agent.Run ) {
5345 m .recipeDuration .Record (ctx ,
54- int64 (run .DurationInMs ),
46+ float64 (run .DurationInMs )/ 1000.0 ,
5547 metric .WithAttributes (
5648 attribute .String ("recipe_name" , run .Recipe .Name ),
5749 attribute .String ("extractor" , run .Recipe .Source .Name ),
@@ -89,3 +81,9 @@ func (m *OtelMonitor) RecordSinkRetryCount(ctx context.Context, pluginInfo agent
8981 attribute .Int64 ("batch_size" , int64 (pluginInfo .BatchSize )),
9082 ))
9183}
84+
85+ func handleOtelErr (err error ) {
86+ if err != nil {
87+ otel .Handle (err )
88+ }
89+ }
0 commit comments