Log10 Loadshare May 2026

def imbalance_score(raw_rates): """ Returns a score between 0 (perfect balance) and 1 (severe imbalance). Uses log10 scale to normalize across magnitudes. """ log_vals = log10_loadshare(raw_rates) max_log = max(log_vals) min_log = min(log_vals) # Theoretical maximum delta in log10 space for typical systems is ~5 return (max_log - min_log) / 5.0 backend_rates = [1500, 1200, 300, 1450, 1400] print(f"Log10 values: log10_loadshare(backend_rates)") print(f"Imbalance score: imbalance_score(backend_rates):.2f") Output: Imbalance score: 0.38 (moderate skew) In HAProxy or Nginx Log Analysis If you have raw access logs, you can compute log10 loadshare per backend server using a one-liner in awk :

Notice how each order of magnitude increase in raw loadshare adds only to the log10 loadshare . This makes dashboards readable across a wide range. Practical Use Cases 1. Detecting "Hot Spots" in Load Balancer Pools Imagine you have an NGINX load balancer distributing traffic to 20 Node.js backends. The raw metrics show one server at 8,500 RPS and another at 1,200 RPS. The linear graph shows a tall spike and a flat line. log10 loadshare

# Alert when log10 loadshare is > (median + 0.477) # Because log10(3) ≈ 0.477 ( log10(sum by (instance) (rate(http_requests_total[1m])) + 1) ) > ( quantile(0.5, log10(sum by (instance) (rate(http_requests_total[1m])) + 1)) + 0.477 ) Here is a reusable function to compute loadshare imbalance scores: This makes dashboards readable across a wide range

# Extract RPS per backend from HAProxy logs (simplified) awk 'print $NF' /var/log/haproxy.log | sort | uniq -c | \ awk 'print "log10_loadshare=" log($1+1)/log(10) " raw=" $1' Raw loadshare tells you how much traffic a node handles, but not how well it handles it. A powerful composite metric is the Log-Load Latency Ratio (L3R) : The raw metrics show one server at 8,500