github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/metrics/timing.go (about) 1 package metrics 2 3 import ( 4 . "github.com/PMoneda/telemetry" 5 "github.com/PMoneda/telemetry/registry" 6 "github.com/mundipagg/boleto-api/config" 7 ) 8 9 var timing *Telemetry 10 11 //InstallTimingMetrics Instância a telemetria de tempo de resposta 12 func InstallTimingMetrics(cnf registry.Config) { 13 value := Database("boleto-api").RetentionPolicy("runtime").Measurement("timing").Tag("host").Value("host0") 14 timing = BuildTelemetryContext(cnf, Context(value)) 15 go timing.StartTelemetry(true) 16 } 17 18 //GetTimingMetrics Obtém um objeto de telemetria do tempo de resposta 19 func GetTimingMetrics() *Telemetry { 20 return timing 21 } 22 23 //PushTimingMetric Envio dados de tempo de resposta para a telemetria 24 func PushTimingMetric(tag string, value interface{}) { 25 if config.Get().EnableMetrics { 26 GetTimingMetrics().Push(tag, value) 27 } 28 }