开发者通过华为分析服务下载所需的事件数据,这些数据可以导入到开发者自有的分析系统中,用于构建自定义报告或生成受众群体的个性化分析等,从而帮助制定切实有效的营销活动。数据导出支持按照用户属性和导出事件作为过滤条件,同时展示“预计可导出事件数”。开发者选择不同的时间段和过滤条件,预估事件数就会随之改变。

问题描述

一位开发者向我们提出自己在创建数据任务后,发现错误获取了所选日期前一天的数据。例如下图所示,导出的2021年12月18日的数据报表中eventtime包含了12月17日发生的事件:

问题定位

1. 确定数据导出的时间基线规则。

接到问题后,我们首先确定了开发者在创建数据导出任务时,时间基线规则是基于哪个时间判断的。然后通过云测数据导出规则发现,开发者所选的筛选日期是根据分析服务云测服务器的时间判断的,即server time。

2. 分析跨天上报的数据量占比及特点。

以某应用12月9日的数据为例,当天servertime统计总量数据15xxxxx,eventtime数据量占比97.3%;包含前一天数据量占比2.65%。这些数据无明显特点,云测数据传递过程中的eventtime均为透传不会做另外的计算。

3. 排查端测上报并复现。

Event time记录的是事件触发的时间,因此我们怀疑事件在触发后没有及时上报到云测,而是延迟到第二天才上报到server服务器。也就是说,这些事件均缓存到了本地。

经过与开发者的沟通,我们了解到其采用的是默认上报策略,即应用切后台上报策略和阈值上报策略。当开发者没有设置上报策略时,这两种策略就会自动生效。由此,通过复现发现如果应用被杀掉,用户切后台触发事件上报,上报进程还没有走完,进程被杀掉,导致事件上报失败,缓存在本地,等待下次上报。另外还有两点原因,具体见下节根因描述。

原因

  • 用户切后台触发事件上报,上报进程还没有走完,进程被杀掉,导致事件上报失败,缓存在本地,等待下次上报;

  • 用户切后台上报时,网络状况等原因,没有上报成功;

  • 凌晨正在跨天使用App的用户,数据上报缓存到第二天上报。

解决方案

建议开发者通过setReportPolicies接口设置4种上报策略搭配使用,并将定时上报策略设置为60s-1800s(60s最为敏感)。如果设置为60s,这种场景即便进程被杀掉,也能确保进程杀死前60s之外的数据能够上报,避免数据上报时延。

欲了解更多HMS Core分析服务详情,请参阅:

https://developer.huawei.com/consumer/cn/hms/huawei-analyticskit/?ha_source=hms1

了解更多详情>>

访问华为开发者联盟官网

获取开发指导文档

华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

【FAQ】关于分析服务错误获取所选日期前一天事件数据的解决方法的更多相关文章

  1. asp.net webapi [FromBody]string 获取不到ajax post的数据的解决方法

    webapi中如下([FromBody]string jsonData: public async Task<ResItem> Post([FromBody]string jsonData ...

  2. 使用MSSQL同步&发布数据库快照遇到错误:对路径“xxxxx”访问被拒绝的解决方法

    使用MSSQL同步 数据库同步做后后测试:先在同步那台服务器(服务器A)数据库里修改里面数据库,然后再去被同步那台服务器(服务器B)看下数据有没被同步过去 发布数据库快照遇到错误:对路径“xxxxx” ...

  3. 【FAQ】分析服务导出的事件数据和概览页面展示的数据不一致该如何解决?

    华为分析服务面向开发者提供两种数据展现方式:(1)事件数据下载,开发者可以将事件数据下载后导入到自有的分析系统中:(2)直接在AGC概览页面查看用户数和事件数. 问题描述 某开发者想将事件数据导入到自 ...

  4. SVN 错误 Access to SVN Repository Forbidden的原因及解决方法

    原创文章,转载请注明出处:http://www.cnblogs.com/baipengzhan/p/SVN_Access_to_SVN_Repository_Forbidden.html   当我们新 ...

  5. sql2000新建登陆用户错误“21002:[SQL-DMO] 用户***已经存在”的原因和解决方法【孤立用户解决方法】

    错误症状: 在SQL Server200中用附加数据库导入数据后,在新建登录时出现会出现错误21002:[SQL-DMO] 用户***已经存在.然后发现没建成的用户已经在登录列表里了.删除重建,问题依 ...

  6. VC连接mysql数据库错误:libmysql.lib : fatal error LNK1113: invalid machine 解决方法

    VC连接MySQL的配置过程在上一篇博文中,不过当你设置好,以为万事大吉的时候,运行却出现这个错误:libmysql.lib : fatal error LNK1113: invalid machin ...

  7. Mysql错误:Duplicate entry '127' for key 'PRIMARY'的解决方法

    有时候真是挺幸运,正当我自以为是地认为掌握了某个知识点的时候,现实就会马上出现另外一个问题,让我知道之前的认知是不全面的. 正如我上篇博文中所述,如果一个自增字段达到了上限,而且继续向里面插入数据的话 ...

  8. iPhone Anywehre虚拟定位提示“后台服务未启动,请重新安装应用后使用”的解决方法

    问题描述: iPhone越狱了,之后在Cydia中安装Anywhere虚拟定位,但是打开app提示:后台服务未启动,请重新安装应用后使用. 程序无法正常使用... 解决方法: 打开Cydia-已安装, ...

  9. IIS7授权错误:“无法验证对路径的访问”的解决方法

    解决方法: iis7 无法验证对路径的访问 1.打开IIS 7管理器,鼠标单击定位到出现了这个错误的网站. 2.在IIS 7管理器的右边,选择“基本设置”. 3.在弹出的“编辑网站”对话框中,单击“连 ...

  10. mysql错误:Can’t create TCP/IP socket (10106) 解决方法

    错误描述 “mysql错误:Can’t create TCP/IP socket (10106)”,目测是socket端口被占用的原因,然后在打开tomcat,报的错误中也包含了“socket”,再一 ...

随机推荐

  1. 【Azure 应用服务】Python3.7项目在引用pandas 模块后,部署报错 

    问题描述 参考"快速入门:在 Linux 上的 Azure 应用服务中创建 Python 应用" 文档,在App Service For Linux环境中部署Python应用,在添 ...

  2. 【Azure 环境】Update-MgEntitlementManagementAccessPackageAssignmentPolicy 命令执行时候遇见的 No HTTP Resource was found 问题分析

    Microsoft Graph PowerShell SDK: acts as an API wrapper for the Microsoft Graph APIs, exposing the en ...

  3. 基于 Nebula Graph 构建图学习能力

    本文首发于 Nebula Graph Community 公众号 经常看技术文章的小伙伴可能会留意到除了正在阅读的那篇文章,在文章页面的正文下方或者右侧区域会有若干同主题.同作者的文章等你阅读:经常逛 ...

  4. Geospatial Data 在 Nebula Graph 中的实践

    本文首发于 Nebula Graph Community 公众号 本文主要介绍了地理空间数据(Geospatial Data)以及它在 Nebula Graph 中的具体实践. Geospatial ...

  5. SpringCloud Nacos

    1.Nacos简介 SpringCloud Alibaba 由来: 因为原先Spring Cloud 的许多组件都是对Netflix 公司的各种框架进行封装, 然后因为Netflix公司对后续更新的各 ...

  6. 【Flink入门修炼】2-2 Flink State 状态

    什么是状态?状态有什么作用? 如果你来设计,对于一个流式服务,如何根据不断输入的数据计算呢? 又如何做故障恢复呢? 一.为什么要管理状态 流计算不像批计算,数据是持续流入的,而不是一个确定的数据集.在 ...

  7. 摆脱鼠标系列 Trigger Suggest 快捷键 改成 Shift + Space

    摆脱鼠标系列 Trigger Suggest 快捷键 改成 Shift + Space 看marp插件的时候,发现用ctrl + space 自动提示,但是我这里是输入法

  8. Kotlin/Java 读取Jar文件里的指定文件

    原文地址:Kotlin/Java 读取Jar文件里的指定文件 | Stars-One的杂货小窝 jar包本质上也是压缩文件,下面给出如何读取jar包里某个文件的源码: val jarFile = Ja ...

  9. github无法访问?vscode 无法使用github登录同步? 改 hosts 吧

    一.无法访问 github.com ? 想要去 github.com 上拿来主义,结果访问不了,或者 npm 时一直失败? 是什么原因不用问,直接使用 https://tool.lu/ip/  查询到 ...

  10. RunOnWeb - 创建新协议,支持html调用本地可执行文件,支持浏览器互相调用

    浏览器调用 exe ?    Yes!  谷歌 Chrome 启动微软 Edge ?     Yes! RunOnWeb 协议 创建新协议,支持html调用本地可执行文件,支持浏览器互相调用 [最新版 ...