为了账号安全,请及时绑定邮箱和手机立即绑定

Prometheus Go 客户端库的 ExponentialBuckets API 的最低粒度是

Prometheus Go 客户端库的 ExponentialBuckets API 的最低粒度是

Go
慕工程0101907 2023-05-22 15:48:03
我正在试验Prometheus Go 客户端库。ExponentialBuckets API是否接受start小于 1.0 的参数(例如 0.001)?
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

如下:

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

func 指数桶

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

ExponentialBuckets 创建“count”个桶,其中最低桶的上限为“start”,每个后续桶的上限是前一个桶上限的“factor”倍。最后的 +Inf 桶不计算在内,也不包含在返回的切片中。返回的切片用于 HistogramOpts 的 Buckets 字段。

如果 '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


查看完整回答
反对 回复 2023-05-22
  • 1 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信