Documentation
¶
Overview ¶
Package metrics provides Prometheus metrics collection for the proxy.
Index ¶
- Variables
- func DecrementActiveRequests()
- func Handler() http.Handler
- func IncrementActiveRequests()
- func RecordCacheHit(ecosystem string)
- func RecordCacheMiss(ecosystem string)
- func RecordCircuitBreakerTrip(registry string)
- func RecordRequest(ecosystem string, status int, duration time.Duration)
- func RecordStorageError(operation string)
- func RecordStorageOperation(operation string, duration time.Duration)
- func RecordUpstreamError(ecosystem, errorType string)
- func RecordUpstreamFetch(ecosystem string, duration time.Duration)
- func UpdateCacheStats(sizeBytes, artifactCount int64)
- func UpdateCircuitBreakerState(registry string, state int)
Constants ¶
This section is empty.
Variables ¶
var ( // Request metrics RequestsTotal = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "proxy_requests_total", Help: "Total number of requests by ecosystem and status", }, []string{"ecosystem", "status"}, ) RequestDuration = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Name: "proxy_request_duration_seconds", Help: "Request duration in seconds", Buckets: prometheus.DefBuckets, }, []string{"ecosystem", "status"}, ) // Cache metrics CacheHits = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "proxy_cache_hits_total", Help: "Total number of cache hits by ecosystem", }, []string{"ecosystem"}, ) CacheMisses = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "proxy_cache_misses_total", Help: "Total number of cache misses by ecosystem", }, []string{"ecosystem"}, ) CacheSize = prometheus.NewGauge( prometheus.GaugeOpts{ Name: "proxy_cache_size_bytes", Help: "Total size of cached artifacts in bytes", }, ) CachedArtifacts = prometheus.NewGauge( prometheus.GaugeOpts{ Name: "proxy_cached_artifacts_total", Help: "Total number of cached artifacts", }, ) // Upstream metrics UpstreamFetchDuration = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Name: "proxy_upstream_fetch_duration_seconds", Help: "Upstream fetch duration in seconds", Buckets: []float64{.1, .25, .5, 1, 2.5, 5, 10, 30}, }, []string{"ecosystem"}, ) UpstreamErrors = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "proxy_upstream_errors_total", Help: "Total number of upstream fetch errors by type", }, []string{"ecosystem", "error_type"}, ) // Circuit breaker metrics CircuitBreakerState = prometheus.NewGaugeVec( prometheus.GaugeOpts{ Name: "proxy_circuit_breaker_state", Help: "Circuit breaker state (0=closed, 1=half-open, 2=open)", }, []string{"registry"}, ) CircuitBreakerTrips = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "proxy_circuit_breaker_trips_total", Help: "Total number of circuit breaker trips", }, []string{"registry"}, ) // Storage metrics StorageOperationDuration = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Name: "proxy_storage_operation_duration_seconds", Help: "Storage operation duration in seconds", Buckets: []float64{.001, .005, .01, .025, .05, .1, .25, .5, 1}, }, []string{"operation"}, ) StorageErrors = prometheus.NewCounterVec( prometheus.CounterOpts{ Name: "proxy_storage_errors_total", Help: "Total number of storage errors by operation", }, []string{"operation"}, ) // Active requests ActiveRequests = prometheus.NewGauge( prometheus.GaugeOpts{ Name: "proxy_active_requests", Help: "Number of currently active requests", }, ) )
Functions ¶
func DecrementActiveRequests ¶
func DecrementActiveRequests()
DecrementActiveRequests decrements the active request counter.
func IncrementActiveRequests ¶
func IncrementActiveRequests()
IncrementActiveRequests increments the active request counter.
func RecordCacheHit ¶
func RecordCacheHit(ecosystem string)
RecordCacheHit increments cache hit counter.
func RecordCacheMiss ¶
func RecordCacheMiss(ecosystem string)
RecordCacheMiss increments cache miss counter.
func RecordCircuitBreakerTrip ¶
func RecordCircuitBreakerTrip(registry string)
RecordCircuitBreakerTrip increments circuit breaker trip counter.
func RecordRequest ¶
RecordRequest tracks request metrics with timing.
func RecordStorageError ¶
func RecordStorageError(operation string)
RecordStorageError increments storage error counter.
func RecordStorageOperation ¶
RecordStorageOperation tracks storage operation duration.
func RecordUpstreamError ¶
func RecordUpstreamError(ecosystem, errorType string)
RecordUpstreamError increments upstream error counter.
func RecordUpstreamFetch ¶
RecordUpstreamFetch tracks upstream fetch duration.
func UpdateCacheStats ¶
func UpdateCacheStats(sizeBytes, artifactCount int64)
UpdateCacheStats updates cache size and artifact count gauges.
func UpdateCircuitBreakerState ¶
UpdateCircuitBreakerState updates circuit breaker state gauge. state: 0=closed, 1=half-open, 2=open
Types ¶
This section is empty.