系列

目录

  • Apdex
  • 失败率
  • 吞吐量 (Total, TPM, TPS)
  • 延迟
    • 平均事务持续时间
    • P50 阈值
    • P75 阈值
    • P95 阈值
    • P99 阈值
  • 频率
  • User Misery
  • 自定义阈值

Apdex

Apdex 是一种行业标准指标,用于根据您的应用程序响应时间(response time)跟踪和衡量用户满意度(satisfaction)。Apdex 分数提供特定 transaction 或端点中满意(satisfactory)、可容忍(tolerable)和失败(frustrated)请求的比率。 该指标为您提供了一个标准来比较 transaction 性能,了解哪些可能需要额外优化或调查,并为性能设定目标。

以下是 Apdex 的组成部分及其公式:

  • T:目标响应时间的阈值。
  • Satisfactory(满意度):当页面加载时间小于或等于 T 时,用户对使用该应用感到满意。
  • Tolerable(可容忍度):当页面加载时间在 T4T 之间时,用户认为该应用程序可以容忍使用。
  • Frustrated(失败):当用户的页面加载时间大于 4T 时,他们对应用程序感到失望。
  • Apdex:(满意请求数 +(可容忍请求数/2))/(总请求数)

Settings > Performance 中为 Apdex 配置令人满意的响应时间阈值 (ms)。 您可以使用自定义阈值为每个项目设置此项。

失败率

failure_rate() 表示不成功 transaction 的百分比。Sentry 将状态为 “ok”“canceled”“unknown” 以外的 transaction 视为失败。 有关更多详细信息,请参阅可能的状态值列表。

吞吐量 (Total, TPM, TPS)

吞吐量表示给定时间范围内的事务数 (Total)、平均每分钟事务数 (TPM) 或每秒平均事务数 (TPS)。

延迟

平均事务持续时间

平均事务持续时间表示给定事务的所有出现的平均响应时间。

以下函数用于聚合事务(aggregate transaction)持续时间:

  • average
  • various percentiles(默认情况下,预构建的 Transactions 查询显示第 75 个和第 95 个百分位数,但还有许多其他选项,包括自定义百分位数)
  • maximum

跟踪这些统计数据的一个用例是帮助您识别比组织的目标服务级别协议 (SLA) 慢的事务。

查看平均值和百分位数时要注意一点:在大多数情况下,您需要设置跟踪,以便仅将可能的跟踪的一小部分实际发送到 Sentry,以避免使您的系统不堪重负。 此外,您可能希望按日期或其他因素过滤您的 transaction 数据,或者您可能正在跟踪一个相对不常见的操作。 由于所有这些原因,您最终可能会得到方向正确但不准确的平均值和百分位数据。 (以最极端的情况为例,如果只有单个事务与您的过滤器匹配,您仍然可以计算“平均(average)”持续时间,即使这显然不是“平均(average)”通常的意思。)

对于某些指标,样本量小(以及由此导致的无法有效准确)的问题会比其他指标更频繁地发生,并且样本量也会因行而异。 例如,计算有意义的平均值所需的数据少于计算同样有意义的第 95 个百分位数所需的数据。此外,代表对 /settings/my-awesome-org/ 的请求的一行可能包含的事务数量是代表对 /settings/my-awesome-org/projects/best-project-ever/ 的请求的事务的数倍。

P50 阈值

P50 阈值表示 50% 的事务持续时间大于阈值。这也是中位数。例如,如果 P50 阈值设置为 10 毫秒,则 50% 的事务超过该阈值,耗时超过 10 毫秒。

P75 阈值

P75 阈值表示 25% 的事务持续时间大于阈值。例如,如果 P75 阈值设置为 10 毫秒,则 25% 的事务超过该阈值,耗时超过 10 毫秒。

P95 阈值

P95 阈值表示 5% 的事务持续时间大于阈值。例如,如果 P95 阈值为 50 毫秒,则 5% 的事务超过该阈值,耗时超过 50 毫秒。

P99 阈值

P99 阈值表示 1% 的事务持续时间大于阈值。例如,如果 P99 阈值为 5 秒,则 1% 的事务超过该阈值,耗时超过 5 秒。

频率

以下函数汇总 transaction 计数和 transaction 记录速率:

  • count
  • count unique values (对于给定字段)
  • average requests (事务) per second
  • average requests (事务) per minute

这些函数中的每一个都是根据给定行中的事务集合计算的,这意味着数字会随着您过滤数据或更改时间窗口而发生变化。此外,如果您已设置 SDK 来对数据进行采样,请记住,只有发送到 Sentry 的事务才会被计算在内。 因此,如果包含代表对给定端点的请求的事务的行计算为每秒接收 5 个请求,并且您启用了 25% 的采样率,则实际上您每秒收到大约 20 个请求到该端点。(20 因为您收集了 25% - 或 1/4 - 的数据,所以您的实际数量是您在 Sentry 中看到的数量的 4 倍。)

User Misery

User Misery 是一个用户加权的性能指标,用于评估应用程序性能的相对大小。虽然您可以使用 Apdex 检查各种响应时间阈值级别的比率,但 User Misery 会根据满意响应时间阈值 (ms) 的四倍计算感到失望的唯一用户数。User Misery 突出显示对用户影响最大的事务。

您可以使用自定义阈值为每个项目设置令人满意的阈值。

自定义阈值

对于每个项目,您可以在 [Project] > Settings > Performance 中配置 ApdexUser Misery 的计算方式。您可以在 Transaction Summary > Settings 中覆盖事务级别(transaction level )的项目级别设置。

计算方法确定持续时间是定义为事务的整个长度还是定义为特定的 Web Vital,例如 LCP。 响应时间阈值确定令人满意的基线持续时间是多少毫秒。 此阈值可能因项目而异,具体取决于项目面向用户的方式。

公众号:黑客下午茶

Sentry Web 性能监控 - Metrics的更多相关文章

  1. Sentry Web 性能监控 - Trends

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  2. Sentry Web 性能监控 - Web Vitals

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  3. Sentry Web 前端监控 - 最佳实践(官方教程)

    系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...

  4. [转]Web性能监控自动化探索之路–初识WebPageTest

    本文转自:http://www.webryan.net/2013/01/use-webpagetest-to-analyze-web-performance/ 无论是从Velocity 2012还是在 ...

  5. web性能监控与分析

    注:原文为:andyguo: <web性能监控与分析> 性能测试需要使用不同的工具,结合系统日志,监控服务器.应用等方面的多项指标.以下阐述监控指标.监控工具.瓶颈分析. 服务端监控指标 ...

  6. [转]基于phantomJS实现web性能监控

    1.web性能监控背景描述 上期分享的<Web性能监控自动化探索之路–初识WebPageTest>从依赖webpagetest的角度给出了做性能日常检查的方案,但由于依赖结构相对复杂我们需 ...

  7. [原创]HTML5 web性能监控策略

    web性能重要指标--时长 通常在监控前端页面性能的时候,我们会需要获取到很多的时间戳,比如用户按下回车的时候开始计时,但这个时候,我们统计的js代码并没有加载过来,也无法读取到相关的信息.在HTML ...

  8. 性能监控系统 | 从0到1 搭建Web性能监控系统

    工具介绍 1. Statsd 是一个使用Node开发网络守护进程,它的特点是通过UDP(性能好,及时挂了也不影响主服务)或者TCP来监听各种数据信息,然后发送聚合数据到后端服务进行处理.常见支持的「G ...

  9. 实用|从0到1 搭建Web性能监控系统

    工具介绍 1. Statsd 是一个使用Node开发网络守护进程,它的特点是通过UDP(性能好,及时挂了也不影响主服务)或者TCP来监听各种数据信息,然后发送聚合数据到后端服务进行处理. 常见支持的「 ...

随机推荐

  1. Podman 快速入门

    今天在某云上新购一台云服务器,发现已经有了 CentOS8.2 官方镜像可选,出于对新鲜事物的好奇,我决定开始采用 CentOS8.2,即使我还没有为它的新特性做好准备. 我的应用主要以单机版容器为主 ...

  2. SpringBoot系列——动态定时任务

    前言 定时器是我们项目中经常会用到的,SpringBoot使用@Scheduled注解可以快速启用一个简单的定时器(详情请看我们之前的博客<SpringBoot系列--定时器>),然而这种 ...

  3. Sqlserver 关于varchar(max) 笔记

    看SQL server的版本,SQLserver2005以上 的nvarchar(max) 可以存放2G的内容,所以要是 SQL2005以上的nvarchar(max)足够你用的了.用nvarchar ...

  4. linux笔记2随笔

    124.diff命令:文件内容对比 diff命令用于比较多个文本文件之间的差异,这在系统安全防范中非常重要.比如当黑客入侵系统之后,往往会修改一些系统配置文件,从而留下一些后门. 所以作为运维人员.最 ...

  5. 双倍NB!字节跳动资深研发花7天肝出的这份286页“Flutter技术进阶”

    前言 截至目前,字节跳动有很多业务落地了 Flutter 技术方案,包括今日头条.西瓜视频.皮皮虾等 20 多个业务在使用 Flutter 开发,有纯 Flutter 工程,也有 Flutter 与 ...

  6. 微信小程序测试点

    一.测试范围 1.权限测试 需要检查以下几种情况下微信用户访问的权限 1)未授权微信登录小程序 未授权时,一般使用一些业务功能的时候,都会弹出提醒:先授权再操作对应功能.or在提交数据到后台的时候,会 ...

  7. netty系列之:文本聊天室

    目录 简介 聊天室的工作流程 文本处理器 初始化ChannelHandler 真正的消息处理逻辑 总结 简介 经过之前的系列文章,我们已经知道了netty的运行原理,还介绍了基本的netty服务搭建流 ...

  8. mapboxgl 互联网地图纠偏插件(三)

    先说结论,结论当然是:大功告成,喜大普奔.看效果图: 好了,接下来说一下过程 先回顾一下这个系列的第一篇和第二篇 第一篇是直接改的 mapboxgl 源码,在源码里面对瓦片的位置进行纠偏,遇到的问题是 ...

  9. Android消息机制1-Handler(Java层)

    一.概述 在整个Android的源码世界里,有两大利剑,其一是Binder IPC机制,,另一个便是消息机制(由Handler/Looper/MessageQueue等构成的). Android有大量 ...

  10. kubernetes中headless类型的service

    目录 初识headless类型的service 开始研究headless类型的service headless类型的service之我的理解 初识headless类型的service 第一次使用ran ...