应用质量数据监测调研并输出初步思路方案
<h2><center>应用质量数据监测解决方案</center></h2>
<p>整个解决方案分成两个层面</p>
<ol>
<li>
<p>应用崩溃信息收集,应用崩溃会影响到用户体验,需要马上解决
1)崩溃事件收集,便于产品方知晓应用发生了崩溃,及时介入
2)奔溃信息收集,便于定位崩溃发生的原因,有助于解决崩溃问题。</p>
</li>
<li>应用运行过程中的错误信息收集,它会导致应用的某些功能不正常,有组于及时发现,及时通过版本更新解决。</li>
</ol>
<h3>应用崩溃信息收集方案</h3>
<p>经过与云图李永均沟通后得出的方案如下:</p>
<ol>
<li>
<p><strong>主程序</strong>监控各个播放器是否发生崩溃,如果有,就通过云图上传崩溃事件</p>
</li>
<li>
<p>发生崩溃时,<strong>主程序</strong>弹出窗口,提示用户是否上传崩溃信息,这里可以结合用户反馈系统,由策划设计<strong>【策划注意】</strong></p>
</li>
<li>Unity程序在崩溃的时候,会产生堆栈信息在Unity程序的日志里,它对于定位问题非常重要,但是一旦重启,日志就会被冲掉,<strong>主程序</strong>检测到播放器发生崩溃,一旦崩溃可打包崩溃文件和日志,上传cs后,再通过用户反馈系统回传。</li>
</ol>
<h3>应用运行过程中的错误信息收集方案</h3>
<p>工程院已有分布式日志cloud_log组件,它采用市面上主流的ELK技术,支持日志的收集、检索、分析。虽然缺乏windows平台的使用的SDK,但是有提供http接口可以用来上传日志信息,虚拟实验室的应用可以考虑独立开发日志收集组件,让应用端接入。</p>
<pre><code class="language-plantuml">@startuml
rectangle 应用端{
node 3D播放器
node 编辑器
node VR播放器
node 主程序
node 日志收集组件
3D播放器 --> 日志收集组件
编辑器 --> 日志收集组件
VR播放器 --> 日志收集组件
主程序 --> 日志收集组件
}
rectangle 服务端{
component cloud_log
}
日志收集组件 --> cloud_log
@enduml</code></pre>
<p>参考资料:
<a href="https://ts.101.com/tech-shelves/index.html#/component?classify=box&keyword=%E6%97%A5%E5%BF%97" title="cloud_log组件">cloud_log组件</a></p>