metrics

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Registry

type Registry struct {
	// HTTP Metrics
	HTTPRequestsTotal     *prometheus.CounterVec
	HTTPRequestDuration   *prometheus.HistogramVec
	HTTPRequestsInFlight  prometheus.Gauge
	HTTPResponseSizeBytes *prometheus.HistogramVec

	// Storage Metrics
	StorageNodesTotal        prometheus.Gauge
	StorageEdgesTotal        prometheus.Gauge
	StorageOperationsTotal   *prometheus.CounterVec
	StorageOperationDuration *prometheus.HistogramVec
	StorageDiskUsageBytes    prometheus.Gauge

	// Query Metrics
	QueriesTotal      *prometheus.CounterVec
	QueryDuration     *prometheus.HistogramVec
	QueryNodesScanned *prometheus.HistogramVec
	QueryEdgesScanned *prometheus.HistogramVec
	SlowQueries       *prometheus.CounterVec

	// Cluster Metrics (HA)
	ClusterNodesTotal        prometheus.Gauge
	ClusterHealthyNodesTotal prometheus.Gauge
	ClusterHasQuorum         prometheus.Gauge
	ClusterElectionsTotal    *prometheus.CounterVec
	ClusterElectionDuration  prometheus.Histogram
	ClusterEpoch             prometheus.Gauge
	ClusterTerm              prometheus.Gauge
	ClusterRole              *prometheus.GaugeVec

	// Licensing Metrics
	LicenseValid            prometheus.Gauge
	LicenseExpiresAt        prometheus.Gauge
	LicenseValidationErrors prometheus.Counter

	// Security Metrics
	AuthFailuresTotal                prometheus.Counter
	SecurityEncryptionEnabled        prometheus.Gauge
	SecurityKeyLastRotationTimestamp prometheus.Gauge
	SecurityTLSEnabled               prometheus.Gauge
	SecurityTLSCertExpiryTimestamp   prometheus.Gauge
	SecurityAuditExportFailuresTotal prometheus.Counter
	SecuritySuspiciousEventsTotal    prometheus.Counter
	SecurityUnauthorizedAccessTotal  prometheus.Counter
	SecurityHealthStatus             prometheus.Gauge

	// System Metrics
	UptimeSeconds    prometheus.Gauge
	GoRoutines       prometheus.Gauge
	MemoryAllocBytes prometheus.Gauge
	MemorySysBytes   prometheus.Gauge
	// contains filtered or unexported fields
}

Registry holds all metrics for the application

func DefaultRegistry

func DefaultRegistry() *Registry

DefaultRegistry returns the global metrics registry

func NewRegistry

func NewRegistry() *Registry

NewRegistry creates a new metrics registry with all metrics initialized

func (*Registry) GetPrometheusRegistry

func (r *Registry) GetPrometheusRegistry() *prometheus.Registry

GetPrometheusRegistry returns the underlying Prometheus registry

func (*Registry) RecordHTTPRequest

func (r *Registry) RecordHTTPRequest(method, path, status string, duration time.Duration)

RecordHTTPRequest records an HTTP request with its duration

func (*Registry) RecordQuery

func (r *Registry) RecordQuery(queryType, status string, duration time.Duration, nodesScanned, edgesScanned int)

RecordQuery records a query execution

func (*Registry) RecordStorageOperation

func (r *Registry) RecordStorageOperation(operation, status string, duration time.Duration)

RecordStorageOperation records a storage operation

func (*Registry) SetClusterRole

func (r *Registry) SetClusterRole(role string)

SetClusterRole sets the current cluster role

func (*Registry) UpdateClusterMetrics

func (r *Registry) UpdateClusterMetrics(totalNodes, healthyNodes int, hasQuorum bool, epoch, term uint64)

UpdateClusterMetrics updates cluster-related metrics

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL