elastic / elastic/apm-server

Use @timestamp instead of timestamp.us and switch to type date_nanos

Open
#1,678 8 comments 0 reactions 0 assignees View on GitHub
breaking change research
Dominant language
Go
Stars
1.3k
Forks
543
Avg merge
1d 18h
Merged PRs (30d)
109

Description

Switch to `@timestamp` from `timestamp.us`:
* drop writing to `timestamp.us` in favor of `@timestamp`
* change @timestamp type to `date_nanos` with a default format of `epoch_millis`
* add a runtime field for `timestamp.us` until we can move fully onto `@timestamp`.

The UI uses the fields API to query `@timestamp` with format `strict_date_optional_time_nanos`, and also queries `timestamp.us` and uses that if it exists (https://github.com/elastic/kibana/issues/108908). We would stop mapping and indexing the latter, this would just be for backwards compatibility.

There are known issues in Kibana with supporting `date_nanos` types, which needs further attention before we can move forward with this change.

---

Known issues that require further discussions:
* Kibana (javascript) issues supporting `date_nanos` https://github.com/elastic/kibana/issues/40183
* Impact on logs UI https://github.com/elastic/kibana/issues/88290

Related issues:
* Kibana APM UI changes https://github.com/elastic/kibana/issues/108908
* beats changes for `@timestamp` precision https://github.com/elastic/beats/issues/15871

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.