Carefully manage metric label cardinality to prevent excessive memory usage and maintain system performance. Follow these guidelines: 1. Separate high-cardinality metrics:
Carefully manage metric label cardinality to prevent excessive memory usage and maintain system performance. Follow these guidelines:
Example:
// DON'T: High cardinality labels on latency metrics
metrics.OperationLatency.With(metricsHandler).
WithTags(metrics.NamespaceTag(namespace)).Record(elapsed)
// DO: Separate counter for namespace-level tracking
metricsHandler = metricsHandler.WithTags(metrics.TargetClusterTag(clusterName))
if len(namespaceName) != 0 {
// Add namespace tag only to counter metrics
metricsHandler = metricsHandler.WithTags(metrics.NamespaceTag(namespaceName))
}
metrics.OperationCount.With(metricsHandler).Record(1)
Enter the URL of a public GitHub repository