Какова самая низкая степень детализации для API ExponentialBuckets клиентской библиотеки Prometheus Go? - PullRequest
0 голосов
/ 20 декабря 2018

Я экспериментирую с клиентской библиотекой Prometheus Go .Принимает ли ExponentialBuckets API параметр start менее 1,0 (например, 0,001)?

1 Ответ

0 голосов
/ 20 декабря 2018

пакет prometheus

import "github.com/prometheus/client_golang/prometheus"

func ExponentialBuckets

func ExponentialBuckets(start, factor float64, count int) []float64

ExponentialBuckets создает «подсчет» сегментов, где самые низкиеbucket имеет верхнюю границу «start», и верхняя граница каждого следующего bucket равна «factor», умноженной на верхнюю границу предыдущего bucket.Финал + Inf не учитывается и не включается в возвращаемый фрагмент.Возвращенный фрагмент предназначен для использования в поле Buckets в HistogramOpts.

Функция паникует, если значение count равно 0 или отрицательно, если start равно 0 или отрицательно, или factor меньшеили равно 1.


Попробуйте start, равное минимальному нормальному положительному float64.

package main

import (
    "fmt"
    "math"
)

func main() {
    // Minimum normal positive float64
    // 0 00000000001 0000000000000000000000000000000000000000000000000000
    // 2.2250738585072014e−308
    start := math.Float64frombits(uint64(1 << (63 - 11)))
    fmt.Println(start)
}

Выход:

2.2250738585072014e-308
...