diff --git a/api/api.go b/api/api.go index 90f9294..8424563 100644 --- a/api/api.go +++ b/api/api.go @@ -9,16 +9,8 @@ import ( "github.com/Arkiv-Network/query-api/sqlstore" "github.com/Arkiv-Network/sqlite-store/query" - "github.com/prometheus/client_golang/prometheus" - "github.com/prometheus/client_golang/prometheus/promauto" ) -var queryDuration = promauto.NewHistogram(prometheus.HistogramOpts{ - Name: "arkiv_query_api_query_duration_seconds", - Help: "Duration of database queries in seconds", - Buckets: prometheus.DefBuckets, // Default: .005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10 -}) - type arkivAPI struct { store *sqlstore.SQLStore log *slog.Logger diff --git a/sqlstore/sqlstore.go b/sqlstore/sqlstore.go index eb43c47..14b7525 100644 --- a/sqlstore/sqlstore.go +++ b/sqlstore/sqlstore.go @@ -12,10 +12,18 @@ import ( "github.com/Arkiv-Network/sqlite-store/query" "github.com/ethereum/go-ethereum/common" + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" ) var ErrStopIteration = errors.New("stop iteration") +var queryDuration = promauto.NewHistogram(prometheus.HistogramOpts{ + Name: "arkiv_query_api_query_duration_seconds", + Help: "Duration of database queries in seconds", + Buckets: prometheus.DefBuckets, // Default: .005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10 +}) + type SQLStore struct { log *slog.Logger @@ -194,6 +202,7 @@ func (s *SQLStore) QueryEntitiesInternalIterator( startTime := time.Now() defer func() { elapsed := time.Since(startTime) + queryDuration.Observe(elapsed.Seconds()) s.log.Info("query execution time", "seconds", elapsed.Seconds(), "query", originalQuery) }()