首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏iOS122-移动混合开发研究院

    iRate快速绕坑使用

    如果你在使用非ARC项目,只需要在iRate.m上添加“-fobjc-arc”编译标志(Build Phases->Compile Sources->双击iRate.m->添加-fobjc-arc) 安装 集成iRate时,只需要添加iRate.h,.m,.bundle三个文件到项目中,如果不在乎本地化也可以忽略.bundle文件。 "iRate.h" + (void)initialize { //configure iRate [iRate sharedInstance].daysUntilPrompt = 5; [iRate sharedInstance].usesUntilPrompt = 15; } 配置项 可以通过配置iRate中的相关属性,来影响提醒弹出的行为,主要是 @property (nonatomic 这些方法跟上面的iRate方法有些关联,使用时注意。具体含义参考命名就可以了。

    1K60发布于 2018-01-02
  • 来自专栏数据库相关

    Prometheus监控:rate与irate的区别

    对官网文档的解读 irate和rate都会用于计算某个指标在一定时间间隔内的变化速率。 但是它们的计算方法有所不同:irate取的是在指定时间范围内的最近两个数据点来算速率,而rate会取指定时间范围内所有数据点,算出一组速率,然后取平均值作为结果。 所以官网文档说:irate适合快速变化的计数器(counter),而rate适合缓慢变化的计数器(counter)。 10m])) * 100 下图是间隔10分钟的结果,可以看到,irate的曲线比较曲折,而rate的曲线相对平缓: ? 附:官网文档 irate() irate(v range-vector) calculates the per-second instant rate of increase of the time series

    20K40发布于 2019-09-17
  • 来自专栏JetpropelledSnake

    Prometheus监控学习笔记之rate和irate函数

    0x00 概述 在统计CPU指标的时候,需要用到rate或者irate函数,这两个函数本质是导数。 0x01 rate或者irate函数 由于: ''' irate和rate都会用于计算某个指标在一定时间间隔内的变化速率。 但是它们的计算方法有所不同: irate取的是在指定时间范围内的最近两个数据点来算速率, 而rate会取指定时间范围内所有数据点,算出一组速率,然后取平均值作为结果。 ''' irate函数绘制的曲线比rate的更为尖锐,Prometheus监控:rate与irate的区别 这两个函数的逻辑类似已知里程数和时间,求速度的概念; 在油管上找到了Grafana大神此函数的讲解

    3.8K30编辑于 2022-05-26
  • 来自专栏日常杂记

    以prometheus的pmsql分析Mac的CPU使用

    PromQL有一个名为irate的函数,用于计算距离向量中时间序列的每秒瞬时增长率。让我们在node_cpu_seconds_total度量上使用irate函数。 job的标签是我们在prometheus.yml文件中配置的刮擦名称可以在target里看到 irate(node_cpu_seconds_total{job="node"}[5m]) imagqe.png 现在将irate函数封装在avg聚合中,并添加了一个by子句,该子句通过实例标签聚合。 avg(irate(node_cpu_seconds_total{job="node"}[5m])) by (instance) avg (irate(node_cpu_seconds_total{job 我们可以把这个变成百分数用这个值减去100,就像这样: 100 - avg (irate(node_cpu_seconds_total{job="node",mode="idle"}[5m])) by

    1.5K20发布于 2020-12-24
  • 来自专栏软件工程

    办法总比困难过系列

    zUI.panel.sOptsName); var iScrollBoxHeight = jqThis.innerHeight()-2*opts.iTop; var iRate jqThis.innerHeight()/jqChild.outerHeight(); var iScrollBarHeight = iScrollBarHeight = Math.round(iRate *iScrollBoxHeight); //如果比率大于等于1,不需要滚动条,自然也不需要添加拖拽事件 if(iRate >= 1){ var oBoundary = {iMinTop:opts.iTop}; oBoundary.iMaxTop = iScrollBoxHeight - Math.round(iRate

    44930编辑于 2021-12-22
  • 来自专栏7DGroup

    性能分析之OS资源饱和度

    node:node_disk_saturation:avg_irate{cluster="$cluster"} / scalar(:kube_pod_info_node_count:{cluster=" $cluster"}) 取了node_disk_staturation,同时计算了avg_irate。 node:node_net_saturation:sum_irate{cluster="$cluster"} 这里调用了node_net_saturation的值,而这个值不够直观的知道是什么内容。 再来看看它的来源: - expr: | sum by (node) ( (irate(node_network_receive_drop_total ~"veth.+"}[1m]) + irate(node_network_transmit_drop_total{job="node-exporter",device!

    3.9K31发布于 2019-07-30
  • 来自专栏首富手记

    PromQL

    irate 求平均值 为了解决上述问题,PromQL提供了另外一个灵敏度更高的函数irate(v range-vector)。irate同样用于计算区间向量的计算率,但是其反应出的是瞬时增长率。 irate函数是通过区间向量中最后两个两本数据来计算区间向量的增长速率。 这种方式可以避免在时间窗口范围内的“长尾问题”,并且体现出更好的灵敏度,通过irate函数绘制的图标能够更好的反应样本数据的瞬时变化状态。 ? irate函数相比于rate函数提供了更高的灵敏度,不过当需要分析长期趋势或者在告警规则中,irate的这种灵敏度反而容易造成干扰。因此在长期趋势分析或者告警中更推荐使用rate函数。

    3K21发布于 2019-11-04
  • 来自专栏k8s技术圈

    PromQL 查询之 rate 函数的使用

    irate 由于使用 rate 或者 increase 函数去计算样本的平均增长速率,容易陷入长尾问题当中,其无法反应在时间窗口内样本数据的突发变化。 为了解决该问题,PromQL 提供了另外一个灵敏度更高的函数irate(v range-vector)。irate 同样用于计算区间向量的计算率,但是其反应出的是瞬时增长率。 irate 函数是通过区间向量中最后两个样本数据来计算区间向量的增长速率。 这种方式可以避免在时间窗口范围内的长尾问题,并且体现出更好的灵敏度,通过 irate 函数绘制的图标能够更好的反应样本数据的瞬时变化状态。 这个 [1m] 不是用来计算的,irate 在计算的时候会最多向前在 [1m] 范围内找点,如果超过 [1m] 没有找到数据点,这个点的计算就放弃了。

    12.4K43发布于 2021-10-20
  • 来自专栏HHFCodeRv

    深入理解 PromQL

    例如 rate、irate 函数,计算变化率,既需要知道 value 的变化,也需要知道 时间的变化。 区别是 rate 会取一个 range 的首和尾来计算,irate 会取一个 range 的最新的两个点来计算。这也是为什么 irate 要比 rate 的图像变化波动更大。 在某一项指标的具体一小段时间,尤其是 irate 这样的函数结果并不能精确的反应真实情况。不要用 Prometheus 做时间灵敏度、精确度高的监控手段。 例如 irate 函数,可以计算一个 counter 指标的变化率 irate(counter{a="b", c="d"}[5m]) 如果我想计算近5分钟变化率的最大值,该怎么办? 这里就用到了 SubQuery max_over_time(irate(counter{a="b", c="d"}[5m])[5m:1m]) irate 返回的结果是一个 instant vector

    2.4K10编辑于 2022-12-16
  • 来自专栏JAVA杂谈

    基于Prometheus和Grafana的监控平台 - 运维告警

    The More node exporter的一些指标计算语句 CPU使用率(单位为percent) (avg by (instance) (irate(node_cpu_seconds_total{ server1的uptime时间(单位为seconds) time() - node_boot_time_seconds{instance="server1"} 网络流出量(单位为bytes/sec) irate ~"lo|bond[0-9]|cbr[0-9]|veth.*"}[5m]) > 0 网络流入量(单位为bytes/sec) irate(node_network_receive_bytes_total ~"lo|bond[0-9]|cbr[0-9]|veth.*"}[5m]) > 0 server1的网络流入量(单位为bytes/sec) irate(node_network_receive_bytes_total ~"lo|bond[0-9]|cbr[0-9]|veth.*"}[5m]) > 0 磁盘读取速度(单位为bytes/sec) irate(node_disk_read_bytes_total{device

    2K20发布于 2019-10-30
  • 来自专栏爱可生开源社区

    第05期:Prometheus 数据查询(一)

    rate(http_requests_total{job="api-server"}[5m]) irate irate 适用于变化频率高的 counter 类型数据,计算范围向量中时间序列的每秒平均增长率 当 counter 出现单调性中断会自动进行调整,与 rate 不同的是,irate 只会选取时间范围内最近的两个点计算,当选定的时间范围内仅包含两个数据点时,不考虑外推情况,rate 和 irate 可直接安全的作用与 counter 的操作符有 rate,irate,increase,resets 其它都需要慎重考虑引起的其它问题。 {job="api-server"}[1m]) 对于 irate 指定一个大的时间范围没有意义的,通常指定为四倍数据拉取时间间隔 对于 rate 没有明确的建议,需要考虑的是时间范围越大,会拉平出现的数据峰值 irate 适合快速变化的计数器, 当查询步长大于 irate 时间范围时,由于其只取最后两个数据点,可能会导致在时间范围外的数据峰值点未能被捕获,查询步长与其时间范围越接近, 会捕获更多的数据峰值,曲线变化也更灵敏精确

    4.8K20发布于 2020-08-28
  • 来自专栏敏而好学

    k8s node alertmanager监控报警配置方法

    CPU监控 (1 - avg(irate(node_cpu{mode="idle"}[10m])) by (instance)) * 100 < 90 内存监控 ((node_memory_MemTotal - node_memory_MemFree) / node_memory_MemTotal) * 100 < 90 磁盘IO监控 (max(avg(irate(node_disk_io_time_ms

    1.4K10发布于 2020-02-11
  • 来自专栏JetpropelledSnake

    Prometheus监控学习笔记之PromQL 内置函数

    irate() irate(v range-vector) 函数用于计算区间向量的增长率,但是其反应出的是瞬时增长率。 irate 只能用于绘制快速变化的计数器,在长期趋势分析或者告警中更推荐使用 rate 函数。 因为使用 irate 函数时,速率的简短变化会重置 FOR 语句,形成的图形有很多波峰,难以阅读。 [info] 注意 当将 irate() 函数与聚合运算符(例如 sum())或随时间聚合的函数(任何以 _over_time 结尾的函数)一起使用时,必须先执行 irate 函数,然后再进行聚合操作 ,否则当采样目标重新启动时 irate() 无法检测到计数器是否被重置。

    9.9K62发布于 2019-03-11
  • 来自专栏k8s技术圈

    Argo Rollouts 基于 Analysis 的渐进式发布

    prometheus: address: http://prometheus.example.com:9090 query: | sum(irate prometheus: address: http://prometheus.example.com:9090 query: | sum(irate prometheus: address: http://prometheus.example.com:9090 query: | sum(irate destination_service=~"{{args.service-name}}",response_code=~"5.*"}[5m] )) / sum(irate prometheus: address: http://prometheus.example.com:9090 query: | sum(irate

    1.1K20发布于 2021-07-23
  • 来自专栏Apache IoTDB

    Grafana 监控面板绘制流程

    2.2.2 irate 1. irate(v range-vector):计算范围向量中时间序列的每秒瞬时增长率(基于最后两个数据点)。单调性中断(例如由于目标重启导致的计数器重置)会自动调整。 示例:以下示例表达式通过查找 5 分钟前两个最近的数据点得出 HTTP 请求的每秒速率: irate(http_requests_total{job="api-server"}[5m]) 3. 注意:当将 irate() 与聚合运算符(例如 sum())或随时间聚合的函数(任何以 _over_time 结尾的函数)结合使用时,始终首先采用 irate(),然后进行聚合。 否则,irate() 无法在您的目标重新启动时检测到计数器重置。

    3K10编辑于 2023-03-21
  • 来自专栏云原生实验室

    保姆级别的 PromQL 教程

    rate, irate 和 increase 很多人都会纠结 irate 和 rate 有什么区别。看到这里,其实就很好解释了。 以下来自官方的文档: irate() irate(v range-vector) calculates the per-second instant rate of increase of the time 即,irate 是计算的最后两个点之间的差值。 在现实中的例子,可以将上面查询的 rate 改成 irate。 那么,是不是我们总是使用 irate 比较好呢?

    6.9K51发布于 2021-10-18
  • 来自专栏Linux运维技术之路

    Promethus快速监控Nginx

    求Nginx的QPS: sum(irate(nginx_server_requests{code="total",host=~"$DomainName"}[5m])) sum(irate(nginx_server_requests 求4xx万分率(5xx类似,code=“5xx”): (sum(irate(nginx_server_requests{code="4xx",host=~"$DomainName"}[5m])) / sum (irate(nginx_server_requests{code="total",host=~"$DomainName"}[5m]))) * 10000 # 3. 求upstream的QPS(示例求group1的qps): sum(irate(nginx_upstream_requests{code="total",upstream="group1"}[5m]))

    73830编辑于 2022-06-07
  • 来自专栏用户9355284的专栏

    普罗米修斯 -- PromQL 进阶

    为了解决该问题,PromQL 提供了另外一个灵敏度更高的函数 irate(v range-vector)。irate 同样用于计算区间向量的计算率,但是其反应出的是瞬时增长率。 irate 函数是通过区间向量中最后两个样本数据来计算区间向量的增长速率。 这种方式可以避免在时间窗口范围内的 “长尾问题”,并且体现出更好的灵敏度,通过 irate 函数绘制的图标能够更好的反应样本数据的瞬时变化状态。 irate(node_cpu_seconds_total[2m]) irate 函数相比于 rate 函数提供了更高的灵敏度,不过当需要分析长期趋势或者在告警规则中,irate 的这种灵敏度反而容易造成干扰

    2.5K30编辑于 2022-01-12
  • 来自专栏JAVA乐园

    常用指标采集 exporter

    redis_memory_used_bytes / redis_memory_max_bytes ) 命令执行QPS rate(redis_commands_processed_total[1m]) cache命中QPS irate key数量 sum(redis_db_keys) by (db) db中的过期key数量 sum(redis_db_keys_expiring) by (db) 每一种命令的QPS topk(5, irate (使用irate可以得到每秒写入大小) node_disk_read_bytes_total 向给定设备写入的总字节数 node_disk_written_bytes_total 磁盘IOPS相关核心指标 (使用irate可以得到每秒读操作的平均数) node_disk_reads_completed_total 磁盘设备完成的写操作总数。 (使用irate可以得到每秒读操作的平均数) node_disk_writes_completed_total 网络核心指标 网络接口接收到的总字节数。

    45110编辑于 2024-12-05
  • 来自专栏运维经验分享

    Prometheus监控服务器

    labels.instance }}CPU 平均负载(5 分钟) 已超过 4 ,当前值: {{ $value }}" - alert: "磁盘读 I/O 超过 30MB/s" expr: irate $labels.instance }}I/O 每分钟读已超过 30MB/s,当前值: {{ $value }}" - alert: "磁盘写 I/O 超过 30MB/s" expr: irate $labels.instance }}I/O 每分钟写已超过 30MB/s,当前值: {{ $value }}" - alert: "网卡流出速率大于 10MB/s" expr: (irate 10MB/s, 当前值: {{ $value }}" - alert: "CPU 使用率大于 90%" expr: 100 - ((avg by (instance,job,env)(irate

    4.1K40发布于 2019-08-01
领券