当前位置: 首页 > news >正文

金溪网站建设制作微信营销软件收费排行榜

金溪网站建设制作,微信营销软件收费排行榜,微商城平台开发,网站建设做网站需要多少钱prometheus 出现NaN场景以及如何去除干扰(Not a Number) 1、在prometheus中使用NaN来表示无效数值或者结果 场景#xff1a; 一些监控系统使用 NaN 作为空值或缺失值#xff0c;但在 Prometheus 中 NaN 只是另一个浮点值。Prometheus 表示缺失数据的方式是让数据缺失。Prom…prometheus 出现NaN场景以及如何去除干扰(Not a Number) 1、在prometheus中使用NaN来表示无效数值或者结果 场景 一些监控系统使用 NaN 作为空值或缺失值但在 Prometheus 中 NaN 只是另一个浮点值。Prometheus 表示缺失数据的方式是让数据缺失。Prometheus 支持所有 64 位浮点值包括正无穷大、负无穷大和 NaN。 出现NaN的情况示例 除以分母0 用作过时处理一部分的标记。 然而这是一个实现细节。在过时实现中使用的特定位模式恰好是 NaN这对 PromQL 用户来说永远是不可见的尽管远程存储实现如果自己做任何数学运算可能必须关心这一点。 NaN参数运算时 因为任何涉及 NaN 的数学都会返回 NaN。根据标准浮点语义您可以利用 NaN 的独特属性 NaN ! NaN。然而这种情况的用例通常是平均值或分位数的平均值这两者在统计上都不是有效的。 PromQL 中有些地方对 NaN 值进行了特殊处理以便行为符合预期。min并max会分别认为 NaN 值大于/小于所有其他数字。sort并且sort_desc实际上并不对称NaN 总是排在底部。类似地bottomk和topk将分别认为 NaN 值大于/小于所有其他数字。换句话说只要你至少有k非 NaN 值bottomk就topk不会返回 NaN。在某一时刻changes还需要修复错误才能NaN正确处理。 2、如何处理NaN 2-1、即先求和再除。一般来说总是最后进行除法 不要用 avg by (job)(rate(my_sum[5m])/ rate(my_count[5m]) )要用 sum by (job)(rate(my_sum[5m])) /sum by (job)(rate(my_count[5m]))2-2、如果 NaN 设法进入对值进行数学运算的函数或运算符的输入则结果将为 NaN。在这种情况下消除 NaN 的来源而不是尝试解决下游的不良数据。 注意这也是为什么部分开源dashboard中要对源数据取0就是要过滤掉NaN以避免由于个别NaN数值导致整个Sql的结果为NaN example sum (irate (memcached_commands_total{instance“memcached-instance”}[5m])) by (command) 结果 {commanddelete} 0 {commandflush} 0 {commandget} 62.733333333333334 {commandincr} 0 {commandset} 93.43333333333334 {commandtouch} NaN {commandcas} 0 {commanddecr} 0sum (irate (memcached_commands_total{instance“memcached-instance”}[5m])) {} NaN原因 commandtouch是NaN因此整个计算是NaN 解决办法 从计算源中去除NaN sum (irate (memcached_commands_total{instancememcached-instance}[5m]) 0)3、为什么不设置成 0 , 而设置成 NaN 某些情况下0是正常值代表某种特殊情况这样就会混淆 4、Prometheus的函数对NaN处理逻辑 如果 Metrics 的值里面混有 NaN 的值, 那么会直接污染整个结果, 导致输出的结果就像上面那样, 全部都是 NaN. rate 和 stddev 函数同理 // sum func funcSumOverTime(vals []parser.Value, args parser.Expressions, enh *EvalNodeHelper) Vector {return aggrOverTime(vals, enh, func(values []Point) float64 {var sum float64for _, v : range values {sum v.V // 这里可以看到, 直接累加全部的收集到的 Metrics 的值, }return sum}) }// avg func funcAvgOverTime(vals []parser.Value, args parser.Expressions, enh *EvalNodeHelper) Vector {return aggrOverTime(vals, enh, func(values []Point) float64 {var mean, count float64for _, v : range values {countmean (v.V - mean) / count // 这里也是类似, 把和现在差值直接加上去}return mean}) }max 和 min 函数不受影响 // Max func funcMaxOverTime(vals []parser.Value, args parser.Expressions, enh *EvalNodeHelper) Vector {return aggrOverTime(vals, enh, func(values []Point) float64 {max : values[0].Vfor _, v : range values {if v.V max || math.IsNaN(max) { // 过滤 NaNmax v.V}}return max}) }// Min func funcMinOverTime(vals []parser.Value, args parser.Expressions, enh *EvalNodeHelper) Vector {return aggrOverTime(vals, enh, func(values []Point) float64 {min : values[0].Vfor _, v : range values {if v.V min || math.IsNaN(min) { // 过滤 NaNmin v.V}}return min}) }
http://www.dnsts.com.cn/news/126250.html

相关文章:

  • 合肥网站建设推广wordpress 伪支付宝
  • 做军事网站的项目背景图片安平网站建设
  • 浅谈海尔的电子商务网站建设微官网建设
  • 企业网站设计一般多少钱网站建设叫什么软件
  • 常州网站设计湛江公司电话小白 wordpress
  • wordpress建站项目最新wordpress新建首页
  • 零食网站模板房地产销售营销方案
  • 网站建设平台接单国内国际时事心得体会
  • 旅游投资公司网站建设网站设计需要会什么
  • 验证码网站搭建androidstudio安装教程
  • 网站子目录制作网页步骤链接
  • 个人可以做视频网站吗济南手机网站设计
  • 给个网站带颜色wordpress改变文章字体大小
  • 网站标题怎么做网站功能需求分析文档
  • 品牌的网站建设网站引导页怎么设置
  • 大良营销网站建设渠道贵州企业官网建设
  • 网站建设经验总结大专学历怎么自考
  • 四平网站建设怎么选国外html模板网站
  • 网站优化公司价格如何计算阿里云和wordpress
  • 个人网站做捐赠发布违法吗会展设计专业
  • 深圳罗湖做网站58WordPress获取文件夹大小
  • 网站首页做301网站建设的物流
  • 网站开发技术支持与保障网站建设培训深圳
  • 专业的网站建设设计wordpress跟换域名
  • 做超市dm的网站企业做网站的注意事项
  • 网站不备案可以么网站百度突然不收录了
  • 菠菜网站模板外汇自动跟单网站开发
  • 有没有免费学编程的网站什么是软件开发平台
  • 招商网站建设推广鞍山制作网站
  • 注册网站什么要求怎么从建设部网站下载规范