getFingerprintsForLabelSet = "get_fingerprints_for_labelset" getLabelNameFingerprints = "get_label_name_fingerprints" getMetricForFingerprint = "get_metric_for_fingerprint" getRangeValues = "get_range_values" getValueAtTime = "get_value_at_time" hasIndexMetric = "has_index_metric" hasLabelName = "has_label_name" hasLabelPair = "has_label_pair" indexMetric = "index_metric" setLabelNameFingerprints = "set_label_name_fingerprints" setLabelPairFingerprints = "set_label_pair_fingerprints" ) var ( diskLatencyHistogram = &metrics.HistogramSpecification{ Starts: metrics.LogarithmicSizedBucketsFor(0, 5000), BucketBuilder: metrics.AccumulatingBucketBuilder(metrics.EvictAndReplaceWith(10, maths.Average), 100), ReportablePercentiles: []float64{0.01, 0.05, 0.5, 0.90, 0.99}, } storageOperations = metrics.NewCounter() storageLatency = metrics.NewHistogram(diskLatencyHistogram) ) func recordOutcome(counter metrics.Counter, latency metrics.Histogram, duration time.Duration, err error, success, failure map[string]string) { labels := success if err != nil { labels = failure } counter.Increment(labels)
) const ( jsonContentType = "application/json" contentType = "Content-Type" jsonSuffix = ".json" ) /* Boilerplate metrics about the metrics reporting subservice. These are only exposed if the DefaultRegistry's exporter is hooked into the HTTP request handler. */ var requestCount *metrics.GaugeMetric = &metrics.GaugeMetric{} var requestLatencyLogarithmicBuckets []float64 = metrics.LogarithmicSizedBucketsFor(0, 1000) var requestLatencyEqualBuckets []float64 = metrics.EquallySizedBucketsFor(0, 1000, 10) var requestLatencyLogarithmicAccumulating *metrics.Histogram = metrics.CreateHistogram(&metrics.HistogramSpecification{ Starts: requestLatencyLogarithmicBuckets, BucketMaker: metrics.AccumulatingBucketBuilder(metrics.EvictAndReplaceWith(50, maths.Average), 1000), ReportablePercentiles: []float64{0.01, 0.05, 0.5, 0.9, 0.99}, }) var requestLatencyEqualAccumulating *metrics.Histogram = metrics.CreateHistogram(&metrics.HistogramSpecification{ Starts: requestLatencyEqualBuckets, BucketMaker: metrics.AccumulatingBucketBuilder(metrics.EvictAndReplaceWith(50, maths.Average), 1000), ReportablePercentiles: []float64{0.01, 0.05, 0.5, 0.9, 0.99}, }) var requestLatencyLogarithmicTallying *metrics.Histogram = metrics.CreateHistogram(&metrics.HistogramSpecification{ Starts: requestLatencyLogarithmicBuckets, BucketMaker: metrics.TallyingBucketBuilder, ReportablePercentiles: []float64{0.01, 0.05, 0.5, 0.9, 0.99},