Agora 教程丨一个典型案例,教你如何使用水晶球“数据洞察”
7 月初,声网Agora 水晶球的“数据洞察”功能正式版上线。“数据洞察”可显示两种数据,一种是用量,另一种是质量。
“数据洞察”的“用量概览”最大的意义就是可以帮你回溯过去一段时间内的整体音视频分钟数趋势,为业务运营策略的复盘、调整提供数据参考。这些数据图表比较容易理解。
不过第一次在“数据洞察”中看到“质量概览”的用户,可能感受到的只是扑面而来的多个数据图标,一时间还不知道,如何复盘曾遇到的质量问题,并一步步追根溯源。所以我们将通过一个测试案例,来一步步从发现问题、调查线索,到发现问题根据,带大家理解如何使用它。
**注:以下图中所示为测试 Demo 数据
“质量概览”展示了什么?
通过点击左侧菜单栏中的“质量概览”,我们可以在“数据洞察”页面根据时间范围,查看质量趋势。
首先,页面可以划分为三个模块“用户体验”、“加入频道”、“指标分析”。“用户体验”和“加入频道”,展示了 5 个主要影响实时互动体验的质量指标:视频卡顿率、音频卡顿率、网络延迟率、登录成欧功率和 5s 登录成功率。
“指标分析”则是展示了以上五个质量指标在地域、操作系统、网络类型、设备类型、SDK 版本、频道规模几个维度上的数据分布。
发现一个问题,开始追根溯源
我们选择了查看 6 月 26 日到 7 月 4 日期间的数据。“用户体验”模块,会显示视频卡顿率、音频卡顿率、网络延迟率三个质量指标在这段时间的走势。而且,它会自动将数据最差的那一天的数据筛选出来,显示在曲线图上方。如下图所示,一目了然,三个指标最差的日子刚好重叠在 7 月 1 日那一天。这一天到底发生了什么呢?
我们可以将鼠标放到数据曲线中 7 月 1 日那天。点击数据点,就会在弹出的气泡中看到两个选项:“查看小时”、“查看分布”。
为了进一步调查这一天出现了什么问题,我们点击“查看小时”,从更细的颗粒度来查看当天的质量数据。如下图所示,我们看到体验最差的是 21:00。
接下来,我们点击 21:00 的数据点,然后进入“频道数据采样”。当然,只有符合“采样规则”的数据点才会显示“频道数据采样”,详细规则请在 docs.agora.io/cn/ 搜索“采样规则”。
在点击“频道数据采样”后,右侧会弹出采样详情。这里会列出在该时间点的“分钟数-视频卡顿率”数据散点图。每一个点都是一个频道。数据点越靠近右上角,说明这个频道卡顿率越高,而且通话时间越久,即这个频道的体验比较差。
我们可以从下图中看出,靠近右上角的数据点都是同一个频道。
这时,如果我们点击任意一个频道号,就会显示出改频道当时的用户数(即卡顿影响范围),视频总时长(即卡顿影响时长)。同时,还会出现一个“用户数据采样”。
这个频道到底发生了什么呢?
接着,点击“用户数据采样”,在窗口下方会显示出来当时在这个频道里的用户都有哪些。可以从下图看到,遇到质量体验问题的用户虽然不同,但是对端用户都是同一个(如图中红框)。说明,体验问题可能与这个对端用户有关。
当我们点击右侧的“通话调查”后,就会跳转至水晶球的“通话调查”功能,详细查询该频道该时刻的质量数据。
在进入通话调查之后,我们可以看到发送端、接收端的设备状态、视频发送分辨率、视频发送帧率、视频帧率和卡顿、视频上行和网络丢包、视频下行和网络丢包。
从数据来看,发送端的网络状态没有出现异常,但是 CPU 在 18:00到 21:00出现了异常(红色数据值表示 CPU 占用率过高)。再看视频发送的分辨率,当 CPU 占用率较高的时候,发送的分辨率也降低了。不过 Wi-Fi 信号质量是蓝色的,也就是说网络环境良好。
所以可以初步判断是发送端的设备性能不足导致了这个时段的视频卡顿。
↓↓↓预告
“通话调查”的多个质量维度可以用来调查出通话问题根源。我们稍后还将围绕两个典型案例,来讲解“通话调查”的使用方法。敬请期待。
Agora 教程丨一个典型案例,教你如何使用水晶球“数据洞察”的更多相关文章
- java线程基础巩固---分析Thread的join方法详细介绍,结合一个典型案例
关于Thread中的join方法貌似在实际多线程编程当中没怎么用过,在当初学j2se的时候倒时去学习过它的用法,不过现在早已经忘得差不多啦,所以对它再复习复习下. 首先先观察下JDK对它的介绍: 其实 ...
- 一个典型案例为你解读TDSQL 全时态数据库系统
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯技术工程官方号发表在腾讯云+社区 经典案例 增量抽取.增量计算等都是T-TDSQL的经典案例.如下以增量计算为例,来分析T-TDS ...
- SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例
今天这篇迟到的文章,来自我的同事Aviva. 去年SAP C/4HANA发布之后,SAP的从业者们可能或多或少都读过一些来自SAP官方渠道,比如微信公众号"SAP天天事"发布的一些 ...
- Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》
一.前言 Wish3D出品的Smart3D系列教程中,前面一讲说明了小物件的照片三维重建,相信大家对建模的流程有了一定的了解.这次讲解中,我们将演示说明以一组无人机倾斜摄影照片为原始数据,通过Smar ...
- Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》
一.前言 Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用.照片采集技巧.Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解.那么 ...
- NB-IoT的相关资料整理(基本概念,技术优势,典型案例和当前的进展)
人与人之间的通讯规模已近天花板,物与物的则刚刚进入增长快车道.随着可穿戴.车联网.智能抄表等新兴市场的开启,工业4.0.智慧城市.智慧农业等理念照进现实,万物互联的时代正加速到来. 一 ...
- Batch入门教程丨第二章:认识变量相关概念
在前两期的学习内容中,我们已经了解了Batch入门教程有关的知识和编程方法,如何编写和运行Windows Batch程序,脚本语言的入门方式等,今天我们将继续深入学习Batch入门教程之认识变量相关概 ...
- Batch入门教程丨第一章:部署与Hello World!(下)
在上期分享的内容中,我们已经掌握了基础理论知识,今天我们将继续了解和学习与Windows Batch有关的知识和编程方法,如何编写和运行Windows Batch程序,脚本语言的入门方式等,从而能够更 ...
- HBase基本知识介绍及典型案例分析
本次分享的内容主要分为以下五点: HBase基本知识: HBase读写流程: RowKey设计要点: HBase生态介绍: HBase典型案例分析. 首先我们简单介绍一下 HBase 是什么. HBa ...
- [译]NeHe教程 - 创建一个OpenGL窗体
原文: Setting Up An OpenGL Window 欢迎阅读我的OpenGL教程.我是一个热爱OpenGL的普通码农!我第一次听到OpenGL是在3Dfx刚发布他们给Voodoo I显卡的 ...
随机推荐
- java循环中的break和continue的小笔记
代码1: for(int i=0;i<10;i++){ System.out.println(i); continue; System.out.println("flag") ...
- vue实现按钮多选
需求是这样: 首先考虑使用elementui中的组建实现,但是有时候会忽略组建.实现方式两种: 1.直接使用element实现 let weekTimeData: [ '星期一', '星期二', '星 ...
- 关于vue模版动态加载按照指定条件
一.在data中定义要作为模版的变量,当前定义了两个 menuNavigation 和menuDetails 二.模版使用方式使用component中的 用v-bind:is 来使用其参数
- 在mysql中正常查询的句子,在C#中出错,原因是定义了变量。
在C#中 查询一样. 运行报错 Fatal error encountered during command execution." 命令执行过程中碰到的致命错误." MySqlE ...
- 枚举类list序列化与反序列化
//序列化 public class AuthTypeEnumListJsonSerializer extends JsonSerializer<List> { @Override pub ...
- 【相邻父元素选择器】为啥p元素里面的h3也被选择了呢?求赐教
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...
- wait_event_interruptible() 等待队列
在Linux驱动程序中,可以使用等待队列(Wait Queue)来实现阻塞进程的唤醒. 1.定义"等待队列头部" wait_queue_head_t my_queue; wait_ ...
- python发布定时任务(schedule模块)
最近公司开始让在自己开发的软件上写日志,有几次下班了都忘了写,好几次都是给领导发邮件,说明一下自己没有写日志这件事,很麻烦.但是我一想我每天都要写,岂不是很麻烦,想想自己之前有爬虫经验,为什么自己不写 ...
- 关于 'vue-cli-service' 不是内部或外部命令,也不是可运行的程序 或批处理文件 的处理
关于 npm run serve 之后 'vue-cli-service' 不是内部或外部命令,也不是可运行的程序 或批处理文件 一.安装node.js 去官网安装Node.js(地址:https:/ ...
- requests使用socks代理
requests在2.10.0版本开始支持socks代理 自己搭了个服务器所以就想顺便用一下. import requests url = 'xxx' my_proxies={"http&q ...