Turns out we were truncating event timestamps (whether automatically assigned or user-specified) to the second. This trivial code change gives us millisecond precision instead.
We could get more precision than this if we wanted it - e.g. up to nanoseconds - but doing so would increase network traffic for every event, and we have other SDKs (e.g. JS) which can only provide milliseconds, so this seems good for now.
Turns out we were truncating event timestamps (whether automatically assigned or user-specified) to the second. This trivial code change gives us millisecond precision instead.
We could get more precision than this if we wanted it - e.g. up to nanoseconds - but doing so would increase network traffic for every event, and we have other SDKs (e.g. JS) which can only provide milliseconds, so this seems good for now.