You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The consideration is that GCToolKit should publish events in time order. This makes it easy for the aggregators to process the data. There are a couple of reasons for time traveling backward. It could be that NTP has rolled the clocks back but this is surprisingly a very rare event. The most common reason is that there is some "after-market" corruption. For example, we have logs being stored in a DB and the query doesn't properly reconstruct things. For logs that have been partitioned, sometimes the reconstruction isn't right. I've even seen cases where two processes were writing to the same log file (also rare but...). In all cases, knowing that the clock has traveled backward is useful. Sending a synthetic event maybe a better way of transmitting this information.
These logs come from a production system in GKE (so kubernetes), I don't remember if the containers ran on the actual machine or on a virtual host. But this backward time travel happen quite a lot.
Unfortunately, I don't have anymore access to the platform since I changed employer since these logs were captured, so I cannot dig for more detail there.
My apologies, I've seemingly missed the log snippet and this is odd so nothing I've said makes sense in this case. Unlike in pre-UL where corruption is the norm, UL has mostly been very clean. In this particular case, the rollback is inconsequential as the timestamp will not be recorded. However, the clock tracks every single timestamp (as you've discovered) and in some cases, I can imagine that the timestamp would be used. 1ms isn't going to make any difference in 99.9% of the calculations. I perform a back-to-back event calculation where it might but...
I'll take input on this but my first inclination is to loosen the constraint to a more meaningful time gap. I'd have to see more instances of this to guess at what a more meaningful time gap might be but 100ms might be on the lower end of that bound? Certainly, 10ms would have eliminated this confusion.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I have some logs that came from a Kubernetes JVM app and I noticed these warnings happen a lot.
That somehow seems expected when different GC threads work in parallel. But the log is odd. And there's not even an API to aggregate on this.
Reference method
GCLogParser.advanceClockto look at.Warning log snippet
Indeed the logs timestamp are not ordered.
GC logs snippet
Note: edited for hopefully more clarity
All reactions