我一直在使用Chrome debugger protocol部分构建Chrome扩展程序。 Network domain中的某些事件(如requestWillBeSent)包含“时间戳”以及“wallTime”。
自1970年格式以来,壁挂时间是常规秒数,但时间戳以秒为单位,但不清楚0的位置,而且许多事件没有wallTime,所以我真的试图找出如何从timeStamp派生wallTime。 基于this,我认为它基于navigationStart值但是没有根据扩展程序的navigationStart的背景页面或事件发起navigationStart的页面产生正确的日期。
是否有可能使用时间戳来获取wallTime或者我运气不好?
答案 0 :(得分:3)
根据InspectorNetworkAgent.cpp中的源代码:
wallTime
是currentTime()
(正常系统时间) timestamp
是monotonicallyIncreasingTime()
在Windows上,它基于自系统启动以来经过的毫秒数,并且您无法从扩展程序中获取该信息。
在POSIX系统(例如Linux)上,使用CLOCK_MONOTONIC模式中的clock_gettime
,表示从某个未指定的起点开始的单调时间。
根据time.h中的源代码:
TimeTicks和ThreadTicks表示大部分时间的抽象时间 递增,用于测量持续时间。在内部,他们是 用微秒表示。 它们无法转换为人类可读的 时间,但保证不会减少(与Time类不同)。注意 TimeTicks可能会停滞不前" (例如,如果计算机被暂停),和 ThreadTicks将会停滞不前"每当线程被解除调度时 操作系统。