If you use the Splunk HEC exporter in OpenTelemetry in TAS; you drop to only 3 digits of timestamp precision because the Splunk exporter casts the time_unix_nano to float64.
Splunk HEC supports up to nanosecond precision in the time field of event payloads. However, the nanoTimestampToEpochMilliseconds function is rounding timestamps to milliseconds using .Round(time.Millisecond), and timestampToSecondsWithMillisecondPrecision is using math.Round(float64(ts)/1e6) / 1e3 for metrics — both silently discarding sub-millisecond precision from the original signal.
An example of this can be seen in the image below:
You can find more detailed information about this issue here:
Improve timestamp precision in HEC events: https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47175
Fix timestamp precision in Splunk HEC exporter: https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/47195
This is a known issue and fix will be included in future releases. Please review release notes periodically for updates.