Documentation
¶
Overview ¶
Package metrics provides Prometheus metrics for TokMan services.
Index ¶
- Variables
- func RecordCacheHit()
- func RecordCacheMiss()
- func RecordCommand(command string, success bool, durationMs float64)
- func RecordCompression(mode string, originalTokens, compressedTokens int, durationMs float64)
- func RecordCompressionError(mode string)
- func RecordGRPCRequest(method string, success bool, durationMs float64)
- func RecordHealthCheck(serviceType string, healthy bool)
- func RecordLayerApplied(layerName string)
- func RecordLoadBalancerSelection(serviceType, instanceID string)
- func UpdateCacheSize(size int)
- func UpdateDiscoveryInstances(serviceType string, healthy, unhealthy int)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Compression metrics CompressionRequestsTotal = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "tokman_compression_requests_total", Help: "Total number of compression requests", }, []string{"mode", "status"}, ) CompressionTokensOriginal = promauto.NewHistogram( prometheus.HistogramOpts{ Name: "tokman_compression_tokens_original", Help: "Original token count before compression", Buckets: prometheus.ExponentialBuckets(100, 2, 10), }, ) CompressionTokensCompressed = promauto.NewHistogram( prometheus.HistogramOpts{ Name: "tokman_compression_tokens_compressed", Help: "Token count after compression", Buckets: prometheus.ExponentialBuckets(50, 2, 10), }, ) CompressionSavingsPercent = promauto.NewHistogram( prometheus.HistogramOpts{ Name: "tokman_compression_savings_percent", Help: "Percentage of tokens saved", Buckets: prometheus.LinearBuckets(0, 10, 11), }, ) CompressionDurationMs = promauto.NewHistogramVec( prometheus.HistogramOpts{ Name: "tokman_compression_duration_ms", Help: "Compression processing time in milliseconds", Buckets: prometheus.ExponentialBuckets(1, 2, 12), }, []string{"mode"}, ) LayersApplied = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "tokman_layers_applied_total", Help: "Number of times each layer was applied", }, []string{"layer"}, ) // Command execution metrics CommandsExecuted = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "tokman_commands_executed_total", Help: "Total commands executed", }, []string{"command", "status"}, ) CommandDurationMs = promauto.NewHistogramVec( prometheus.HistogramOpts{ Name: "tokman_command_duration_ms", Help: "Command execution duration in milliseconds", Buckets: prometheus.ExponentialBuckets(10, 2, 12), }, []string{"command"}, ) // Service discovery metrics DiscoveryInstances = promauto.NewGaugeVec( prometheus.GaugeOpts{ Name: "tokman_discovery_instances", Help: "Number of discovered service instances", }, []string{"service_type", "healthy"}, ) DiscoveryHealthChecks = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "tokman_discovery_health_checks_total", Help: "Total health checks performed", }, []string{"service_type", "status"}, ) // Load balancer metrics LoadBalancerSelections = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "tokman_loadbalancer_selections_total", Help: "Number of instance selections by load balancer", }, []string{"service_type", "instance_id"}, ) // gRPC metrics GRPCRequestsTotal = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "tokman_grpc_requests_total", Help: "Total gRPC requests", }, []string{"method", "status"}, ) GRPCDurationMs = promauto.NewHistogramVec( prometheus.HistogramOpts{ Name: "tokman_grpc_duration_ms", Help: "gRPC request duration in milliseconds", Buckets: prometheus.ExponentialBuckets(1, 2, 12), }, []string{"method"}, ) // Cache metrics CacheHits = promauto.NewCounter( prometheus.CounterOpts{ Name: "tokman_cache_hits_total", Help: "Total cache hits", }, ) CacheMisses = promauto.NewCounter( prometheus.CounterOpts{ Name: "tokman_cache_misses_total", Help: "Total cache misses", }, ) CacheSize = promauto.NewGauge( prometheus.GaugeOpts{ Name: "tokman_cache_size", Help: "Current cache size", }, ) // Token tracking metrics TokensSavedTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "tokman_tokens_saved_total", Help: "Total tokens saved across all operations", }, ) TokensProcessedTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "tokman_tokens_processed_total", Help: "Total tokens processed", }, ) )
TokMan metrics exposed via Prometheus.
Functions ¶
func RecordCommand ¶
RecordCommand records command execution metrics.
func RecordCompression ¶
RecordCompression records compression metrics.
func RecordCompressionError ¶
func RecordCompressionError(mode string)
RecordCompressionError records a failed compression.
func RecordGRPCRequest ¶
RecordGRPCRequest records a gRPC request.
func RecordHealthCheck ¶
RecordHealthCheck records a health check result.
func RecordLayerApplied ¶
func RecordLayerApplied(layerName string)
RecordLayerApplied records that a layer was applied.
func RecordLoadBalancerSelection ¶
func RecordLoadBalancerSelection(serviceType, instanceID string)
RecordLoadBalancerSelection records a load balancer selection.
func UpdateDiscoveryInstances ¶
UpdateDiscoveryInstances updates discovery instance counts.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.