elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.72k stars 8.14k forks source link

[APM] Make `timestamp.us` optional and fall back to `@timestamp` #191046

Open felixbarny opened 4 weeks ago

felixbarny commented 4 weeks ago

Today, the APM UI mostly relies on the timestamp.us field to place spans more accurately on the waterfall, and to support traces that take less than a millisecond.

We want to move the @timestamp field to use date_nanos instead of date, so that the additional timestamp.us field becomes redundant.

In the context of supporting OTel-native mappings, we'd like to transition to relying just on @timestamp but use the date_nanos field type for it. As a short-term workaround, we're adding attributes.timestamp.us but would like to remove this APM-specific field. During the transitioning period, we'll have a mix of date_nanos and @timestamp fields as we're waiting for ES|QL to support the date_nanos field type. While we'll likely also want to use date_nanos for data that goes in via APM Server, there's also expected to be a difference where OTel data will use date_nanos for the @timestamp field first.

I'm proposing the following fallback logic:

elasticmachine commented 2 weeks ago

Pinging @elastic/apm-ui (Team:APM)

elasticmachine commented 2 weeks ago

Pinging @elastic/obs-ux-infra_services-team (Team:obs-ux-infra_services)