登录
首页 >  Golang >  Go问答

ExponentialBuckets API的最小粒度是什么?

来源:stackoverflow

时间:2024-03-09 13:12:33 412浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《ExponentialBuckets API的最小粒度是什么?》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在尝试 Prometheus Go 客户端库。 ExponentialBuckets API 是否接受小于 1.0(例如 0.001)的参数 start


解决方案


package prometheus

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

func ExponentialBuckets

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

exponentialbuckets 创建“count”个存储桶,其中最低的存储桶 具有“start”的上限和每个后续存储桶的上限 是“因子”乘以前一个存储桶的上限。最后的+inf bucket 不被计算在内,也不包含在返回的切片中。这 返回的切片旨在用于 buckets 字段 直方图选项。

如果“count”为 0 或负数,如果“start”为 0 或 负数,或者“因子”小于或等于 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

理论要掌握,实操不能落!以上关于《ExponentialBuckets API的最小粒度是什么?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>