Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 为什么谷歌应用程序引擎日志中的请求时间与Appstats中的不同?_Google App Engine_Appstats - Fatal编程技术网

Google app engine 为什么谷歌应用程序引擎日志中的请求时间与Appstats中的不同?

Google app engine 为什么谷歌应用程序引擎日志中的请求时间与Appstats中的不同?,google-app-engine,appstats,Google App Engine,Appstats,我正在谷歌应用程序引擎上运行基于Java的HDR应用程序。现在,我对实际的应用程序引擎请求日志和Appstats日志之间的计时值差异感到有些困惑。在这两个时期之间似乎有很大的差距。为了解释我的意思,我带来了一些截图。他们都是来自同一个请求 此项来自应用程序引擎请求日志: 这一个用于来自Appstats的相同请求: 以下是我能够提取的测量值列表: Log Timestamp 10:10:33.156 Log "Total" 147ms Lo

我正在谷歌应用程序引擎上运行基于Java的HDR应用程序。现在,我对实际的应用程序引擎请求日志和Appstats日志之间的计时值差异感到有些困惑。在这两个时期之间似乎有很大的差距。为了解释我的意思,我带来了一些截图。他们都是来自同一个请求

此项来自应用程序引擎请求日志:

这一个用于来自Appstats的相同请求:

以下是我能够提取的测量值列表:

Log Timestamp           10:10:33.156
Log "Total"                    147ms
Log "ms"                       147ms
Log "cpu_ms"                    86ms

Appstats Timestamp      10:10:33.072
Appstats "Grand Total"          39ms
Appstats "real"                 39ms
Appstats "RPC Total"            20ms
Appstats "api"                   0ms
Appstats "overhead"              0ms
如您所见,请求时间戳和运行时都有很大的不同:

Difference Log/AS Timestamps    84ms
Difference Log/AS Total        108ms (377%)
顺便说一句:虽然请求时间戳不一样,但仍然是相同的请求:我遵循了发布到请求日志的链接Appstats,并在其他未使用的测试应用程序上进行了此测试,以便确保链接正确

为什么Appstats告诉我我的请求耗时39毫秒,而GAE请求日志告诉我该请求耗时3.8x 147毫秒?为什么同一个请求有两个不同的时间戳


谢谢你

appstats已连接到您的代码中,在调用代码appstats之前以及appstats退出之后都会有一段时间。请记住,appengine不会流式传输到客户端,但所有输出都会传输到某种类型的缓冲区,然后传递到appengine基础设施进行交付

请求的时间线类似于

您在日志中看到的请求开始时间 appstats覆盖代码的开始 appstats覆盖代码的结尾 发送的最终响应总持续时间 看看1和4的平均值是多少会很有趣,这可能取决于运行时


Oh和appstats本身会有一些appstats无法衡量的开销,包括启动和最后的清理,这会增加1和2的时间。

你好,Tim!谢谢你这么快回复。我知道在Appstats启动之前,每个请求都会有一些附加开销。有趣的是Appstats时间戳在请求日志时间戳之前,这表明日志时间戳不是请求的开始?或者,日志系统请求的开始时间不是从同一个时钟开始的,而是从前端基础设施提供的-只是一个猜测。实际上,如果你考虑一下,日志条目来自日志服务,时间戳将来自日志服务。日志服务时钟可能与您的实例时钟不同,实例之间的时钟可能略有偏差。要测试此理论,请记录您创建的时间戳,并查看它是否与日志条目的时间戳匹配。