
pmp工作绩效报告
Performance Reporting aims to be a suite of tools. At the moment, only exception reporting is available as a feature of our Performance Reporting service. This has lead to some confusion as developers often are looking for profiling data. In the future, we see Performance Reporting becoming a suite of tools for things like benchmarking and getting some lightweight profiling data.
效果报告旨在成为一套工具。 目前,我们的效果报告服务仅提供例外报告功能。 由于开发人员经常在寻找分析数据,这导致了一些混乱。 将来,我们将看到Performance Reporting成为一套工具,用于进行基准测试和获取一些轻量级分析数据。
效果报告如何与Analytics(分析),Cloud Build和Collaborate配合 (How Performance Reporting fits in with Analytics, Cloud Build, and Collaborate)
We often get questions about how Performance Reporting works with our other Unity Services. Our vision is clear, and we would like to share it with you now.
我们经常会遇到有关性能报告如何与我们其他Unity Services一起工作的问题。 我们的愿景很明确,我们现在想与您分享。
分析工具 (Analytics)
Analytics is about helping developers understand their players. Performance Reporting is about improving the health of your game. By bringing these two together, we can see how bugs impact your players.
分析旨在帮助开发人员了解其玩家。 效果报告是关于改善游戏的运行状况。 通过将两者结合在一起,我们可以看到错误如何影响您的播放器。
In the future, you’ll be able to cross reference game session data with exceptions. With this, we can correlate an increase in exceptions with the end of a session.
将来,您将可以交叉引用游戏会话数据,但有例外。 这样,我们可以将异常的增加与会话结束相关联。
云构建 (Cloud Build)
Cloud Build is all about automating your build process so you can focus on your game. Performance Reporting’s most requested feature is Native crashes. One struggle for native crash support is getting the build symbols, so that the native crash reports are readable by humans.
Cloud Build就是关于自动化构建过程的全部内容,因此您可以专注于游戏。 效果报告最需要的功能是本机崩溃。 寻求本机崩溃支持的一项努力是获得构建符号 ,以便人类可以读取本机崩溃报告。
Again, by bringing these two together, we can give you native crashes just by turning both the services on. The future we see here is native crashes with two clicks. Just enable Cloud Build and Performance Reporting.
同样,通过将这两个服务放在一起,我们只需打开两个服务就可以为您提供本机崩溃。 我们在这里看到的未来是两次单击即可发生的本机崩溃。 只需启用云构建和性能报告。
合作 (Collaborate)
Collaborate is all about seamlessly working on your project with a team. Part of good collaboration is having a clear overview of bugs that currently exist in your project. Performance Reporting will be able to use Collaborate’s project history to help narrow down where and when a bug was introduced.
协作就是与团队无缝地完成您的项目。 良好协作的一部分是对项目中当前存在的错误有清晰的概述。 Performance Reporting将能够使用Collaborate的项目历史记录来帮助缩小错误引入的时间和地点。
现在,效果报告已集成到编辑器中 (Performance Reporting is now integrated into the editor)
Previously, it took some effort to get started with Performance Reporting. These were the steps our beta users went through:
以前,需要花费一些精力才能开始使用效果报告。 这些是我们的Beta版用户经历的步骤:
Learn the feature existed
了解功能存在
Go to the website
进入网站
Download the package
下载包
Install the package
安装套件
Get your project ID
获取您的项目ID
Add a few lines of code to your project
在项目中添加几行代码
While we did our best to simplify this, it was still too hard.
尽管我们尽力简化了这一过程,但这仍然太难了。
We’re pleased to announce that in Unity Pro 5.4, new projects can enable Performance Reporting with one click.
我们很高兴地宣布,在Unity Pro 5.4中,新项目可以一键启用Performance Reporting。

The work here mostly involved translating C# into C++ , refining our algorithm for sending data and moving from the Unity WWW class to the UnityWebRequest class.
此处的工作主要涉及将C#转换为C ++,完善我们的数据发送算法以及从Unity WWW类转移到UnityWebRequest类。
效果报告客户端如何工作 (How the Performance Reporting client works)
Performance Reporting sends reports with a behavior that works like this:
效果报告会发送具有以下行为的报告:
A map between fingerprint and exception is stored.
存储指纹和异常之间的映射。
An exception comes in and gets fingerprinted.
异常进入并被指纹识别。
If the fingerprint isn’t in the map, it is added, then an asynchronous HTTPS request is scheduled for that report ensuring PerfRep gets at least one report.
如果指纹不在地图中,则会添加指纹,然后为该报告安排一个异步HTTPS请求,以确保PerfRep至少获取一个报告。
If the fingerprint already exists in the map, a counter is incremented.
如果指纹已经存在于地图中,则计数器增加。
If too many of the same exception have been observed (10,000), the data is flushed asynchronously via HTTPS, and the feature breaker trips for the session.
如果观察到太多相同的异常(10,000),则将通过HTTPS异步刷新数据,并且会话的功能破坏者将触发。
If too many different exceptions have been observed (100), the data is flushed asynchronously via HTTPS, and the feature breaker trips for the session.
如果观察到太多不同的异常(100),那么将通过HTTPS异步刷新数据,并且会话的功能中断器将跳闸。
When the client exits the game, the data is flushed asynchronously via HTTPS to the server.
当客户端退出游戏时,数据将通过HTTPS异步刷新到服务器。
When the feature breaker trips, we unregister the log callback so we don’t get any more reports this play through. Relaunching the game will start sending new reports. Usually when you reach one of these limits, you hit one of these cases:
功能破坏者跳闸时,我们将取消注册日志回调,因此不会再播放此报告。 重新启动游戏将开始发送新报告。 通常,当您达到以下限制之一时,就会遇到以下情况之一:
There is an exception in the update loop.
更新循环中有一个例外。
A message that is variable with something like a time stamp, url with a query string, or temporary file name.
带有时戳,带有查询字符串的url或临时文件名之类的可变消息。
One challenge was the exit hook. Some platforms don’t give you any time; others do. The Desktop platforms will successfully send their final counts, but that might not always be the case with iOS.
挑战之一是出口挂钩。 有些平台不会给您任何时间。 别人做。 桌面平台将成功发送其最终计数,但iOS并非总是如此。
从性能报告插件升级 (Upgrading from the Performance Reporting Plugin)
If you’re using Performance Reporting for a 5.3 or earlier project, upgrading from the plugin to native editor is pretty straight forward. Just remove the package and any code you have referencing it, such as the initializing code. Then go to the Unity Services window shown above and click enable.
如果您将Performance Reporting用于5.3或更早版本的项目,那么从插件升级到本机编辑器将非常简单。 只需删除该软件包以及引用它的任何代码,例如初始化代码。 然后转到上面显示的Unity Services窗口,然后单击启用。
If you don’t remove the plugin, the new method will still work. However, both the plugin and editor integration will send a report, causing double counting and extra network traffic.
如果不删除插件,新方法仍然可以使用。 但是,插件和编辑器的集成都会发送报告,从而导致重复计算和额外的网络流量。
绩效报告路线图 (Performance Reporting Roadmap)
The feedback we’ve gotten has been remarkably consistent. Developers want native crashes, and some more filtering and tagging options for the dashboard.
我们得到的反馈非常一致。 开发人员希望本机崩溃,并希望为 仪表板提供 更多过滤和标记选项 。
The good news is that we should have some better filtering options for the dashboard SoonTM. The also good, but never soon enough news, is that native crashes will probably be in 5.5 for iOS with other platforms to follow. Native crashes are a platform by platform battle, and we will do our best to get the ones we can into 5.5.
好消息是我们应该为仪表板Soon TM提供 更好的过滤选项 。 另一个好消息是,本机崩溃可能在5.5版本中出现,而其他平台也将随之而来,但永远不会很快。 本机崩溃是逐个平台的战斗,我们将竭尽所能,使之能够进入5.5。
Another shift for Performance Reporting will be the what we’re calling the “Common Data Pipeline”. This is a platform that the editor will use to minimize network connections and link information between services.
效果报告的另一个转变将是我们所谓的“通用数据管道”。 编辑者将使用此平台来最小化网络连接并链接服务之间的信息。
pmp工作绩效报告