Source:
<code>public void run() { double quantile = routerConfig.routerLatencyToleranceQuantile; for (Map.Entry<Resource, CachedHistogram> resourceToHistogram : getBlobLocalDcResourceToLatency.entrySet()) { Resource resource = resourceToHistogram.getKey(); <START> Histogram histogram = resourceToHistogram.getValue(); <END> logger.debug("{} GetBlob local DC latency histogram {}th percentile in ms: {}", resource.toString(), quantile * 100, histogram.getSnapshot().getValue(quantile)); } for (Map.Entry<Resource, CachedHistogram> resourceToHistogram : getBlobCrossDcResourceToLatency.entrySet()) { Resource resource = resourceToHistogram.getKey(); Histogram histogram = resourceToHistogram.getValue(); logger.trace("{} GetBlob cross DC latency histogram {}th percentile in ms: {}", resource.toString(), quantile * 100, histogram.getSnapshot().getValue(quantile)); } for (Map.Entry<Resource, CachedHistogram> resourceToHistogram : getBlobInfoLocalDcResourceToLatency.entrySet()) { Resource resource = resourceToHistogram.getKey(); Histogram histogram = resourceToHistogram.getValue(); logger.debug("{} GetBlobInfo local DC latency histogram {}th percentile in ms: {}", resource.toString(), quantile * 100, histogram.getSnapshot().getValue(quantile)); } for (Map.Entry<Resource, CachedHistogram> resourceToHistogram : getBlobInfoCrossDcResourceToLatency.entrySet()) { Resource resource = resourceToHistogram.getKey(); Histogram histogram = resourceToHistogram.getValue(); logger.trace("{} GetBlobInfo cross DC latency histogram {}th percentile in ms: {}", resource.toString(), quantile * 100, histogram.getSnapshot().getValue(quantile)); } }</code><technical_language>Change Histogram CachedHistogram in this method</technical_language>

Target:
public void run() { double percentile = routerConfig.routerLatencyToleranceQuantile * 100; for (Map.Entry<Resource, CachedHistogram> resourceToHistogram : getBlobLocalDcResourceToLatency.entrySet()) { Resource resource = resourceToHistogram.getKey(); CachedHistogram histogram = resourceToHistogram.getValue(); logger.debug("{} GetBlob local DC latency histogram {}th percentile in ms: {}", resource.toString(), percentile, histogram.getCachedValue()); } for (Map.Entry<Resource, CachedHistogram> resourceToHistogram : getBlobCrossDcResourceToLatency.entrySet()) { Resource resource = resourceToHistogram.getKey(); CachedHistogram histogram = resourceToHistogram.getValue(); logger.trace("{} GetBlob cross DC latency histogram {}th percentile in ms: {}", resource.toString(), percentile, histogram.getCachedValue()); } for (Map.Entry<Resource, CachedHistogram> resourceToHistogram : getBlobInfoLocalDcResourceToLatency.entrySet()) { Resource resource = resourceToHistogram.getKey(); CachedHistogram histogram = resourceToHistogram.getValue(); logger.debug("{} GetBlobInfo local DC latency histogram {}th percentile in ms: {}", resource.toString(), percentile, histogram.getCachedValue()); } for (Map.Entry<Resource, CachedHistogram> resourceToHistogram : getBlobInfoCrossDcResourceToLatency.entrySet()) { Resource resource = resourceToHistogram.getKey(); CachedHistogram histogram = resourceToHistogram.getValue(); logger.trace("{} GetBlobInfo cross DC latency histogram {}th percentile in ms: {}", resource.toString(), percentile, histogram.getCachedValue()); } }