Commit Graph

5 Commits

Author SHA1 Message Date
cdae9e4a30 events/jsonmessage: add and prefer TimeNano for events
This way provide both Time and TimeNano in the event. For the display of
the JSONMessage, use either, but prefer TimeNano Proving only TimeNano
would break Subscribers that are using the `Time` field, so both are set
for backwards compatibility.

The events logging uses nano formatting, but only provides a Unix()
time, therefor ordering may get lost in the output. Example:
```
2015-09-15T14:18:51.000000000-04:00 ee46febd64ac629f7de9cd8bf58582e6f263d97ff46896adc5b508db804682da: (from busybox) resize
2015-09-15T14:18:51.000000000-04:00 a78c9149b1c0474502a117efaa814541926c2ae6ec3c76607e1c931b84c3a44b: (from busybox) resize
```

By having a field just for Nano time, when set, the marshalling back to
`time.Unix(sec int64, nsec int64)` has zeros exactly where it needs to.
This does not break any existing use of jsonmessage.JSONMessage, but now
allows for use of `UnixNano()` and get event formatting that has
distinguishable order. Example:
```
2015-09-15T15:37:23.810295632-04:00 6adcf8ed9f5f5ec059a915466cd1cde86a18b4a085fc3af405e9cc9fecbbbbaf: (from busybox) resize
2015-09-15T15:37:23.810412202-04:00 6b7c5bfdc3f902096f5a91e628f21bd4b56e32590c5b4b97044aafc005ddcb0d: (from busybox) resize
```

Including tests for TimeNano and updated event API reference doc.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: 4026512a2c535fe377a4cf834b7a78fccfd82dab
Component: engine
2015-09-18 13:15:26 -04:00
5aa203fb95 Revert "Make events test more deterministic in go1.5"
This reverts commit 386aefb9fcf65f1a5f68fd61e5108ea0858d2d3f.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: fc77ea787e33864284c14ca743bf3ebc0f50c249
Component: engine
2015-09-15 15:55:18 -04:00
6bc65656e8 daemon/events: let Log be [slightly] blocking
With go1.5's concurrency, the use of a goroutine in Log'ing events was
causing the resulting events to not be in order.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
Upstream-commit: 09e7dd03f8740d7865ea91c56a231ce9ae9bec82
Component: engine
2015-09-15 14:28:22 -04:00
c6a7b3f411 Make events test more deterministic in go1.5
Now scheduler makes order of events pretty random, so I added little
sleeps to make order intact. Also I renamed to test so name better
describes its nature.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 386aefb9fcf65f1a5f68fd61e5108ea0858d2d3f
Component: engine
2015-08-24 09:35:11 -07:00
f940ea3485 New package daemon/events
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 868f56e0839cb47223a7d988f21ae623d4ea9c6e
Component: engine
2015-04-07 08:43:14 -07:00