commit inicial do projeto

This commit is contained in:
Júnior
2025-05-23 10:44:32 -03:00
commit 8f04473c0b
106 changed files with 5673 additions and 0 deletions

View File

@ -0,0 +1,61 @@
package monitoring
import (
"log"
"net/http"
"time"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
var (
txCounter = prometheus.NewCounter(
prometheus.CounterOpts{
Name: "dejo_tx_total",
Help: "Total de transações recebidas pelo nó",
},
)
finalizedBlocks = prometheus.NewCounter(
prometheus.CounterOpts{
Name: "dejo_finalized_blocks_total",
Help: "Total de blocos finalizados pelo nó",
},
)
uptimeGauge = prometheus.NewGaugeFunc(
prometheus.GaugeOpts{
Name: "dejo_uptime_seconds",
Help: "Tempo desde que o nó foi iniciado",
},
func() float64 {
return time.Since(startTime).Seconds()
},
)
)
var startTime = time.Now()
// Init inicializa o endpoint /metrics
func Init() {
prometheus.MustRegister(txCounter)
prometheus.MustRegister(finalizedBlocks)
prometheus.MustRegister(uptimeGauge)
go func() {
http.Handle("/metrics", promhttp.Handler())
log.Println("📊 Endpoint de métricas disponível em /metrics")
http.ListenAndServe(":9100", nil)
}()
}
// IncTxCount incrementa o total de transações recebidas
func IncTxCount() {
txCounter.Inc()
}
// IncFinalizedBlocks incrementa o total de blocos finalizados
func IncFinalizedBlocks() {
finalizedBlocks.Inc()
}