-
Notifications
You must be signed in to change notification settings - Fork 8.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[APM] remove processor.event
field requirement for data streams
#161718
Comments
Pinging @elastic/apm-ui (Team:APM) |
@axw I'm not sure how easy this all is with e.g. custom dashboards? |
@dgieselaar which part is hard? Could you do a filter on I suppose it would be a mildly breaking change though. |
@axw:
Yes, but this happens in so many places that it's probably not worth it to spend the time making this change, or the complexity from maintaining backwards compatibility. But we do have a carrot that we can offer: we don't use |
So will we never remove One of the main motivations behind this is to enable sending system, runtime, and application metrics to |
@axw I don't think the answer is never, it's just a pretty huge effort on our side for something of which the value is unclear to us. Maybe a pitch is a better venue? |
Fair enough! I did hesitate, but didn't realise it would be such a big effort. I'll reopen as a pitch. |
This field is not used by the UI, and is redundant; its value can be inferred from data_stream.dataset`. See elastic/kibana#161718 (comment)
This field is not used by the UI, and is redundant; its value can be inferred from data_stream.dataset`. See elastic/kibana#161718 (comment)
This field is not used by the UI, and is redundant; its value can be inferred from data_stream.dataset`. See elastic/kibana#161718 (comment)
This field is not used by the UI, and is redundant; its value can be inferred from data_stream.dataset`. See elastic/kibana#161718 (comment)
This field is not used by the UI, and is redundant; its value can be inferred from data_stream.dataset`. See elastic/kibana#161718 (comment)
This field is not used by the UI, and is redundant; its value can be inferred from data_stream.dataset`. See elastic/kibana#161718 (comment)
Stop sorting on the `processor.event` field, so we can stop emitting it for logs. This is similar to the inference done at https://github.com/elastic/apm-data/blob/455fb9f1280fa9dcb0ff4fa9ee08adb9a7970511/model/modelpb/apmevent.pb.type.go See also elastic/kibana#161718
* approvaltest: infer processor.event Stop sorting on the `processor.event` field, so we can stop emitting it for logs. This is similar to the inference done at https://github.com/elastic/apm-data/blob/455fb9f1280fa9dcb0ff4fa9ee08adb9a7970511/model/modelpb/apmevent.pb.type.go See also elastic/kibana#161718
This field is not used by the UI, and is redundant; its value can be inferred from data_stream.dataset`. See elastic/kibana#161718 (comment)
(Not going to open as a pitch, there should be a new project process soon.) |
This field is not used by the UI, and is redundant; its value can be inferred from data_stream.dataset`. See elastic/kibana#161718 (comment)
Describe the feature:
I would like to remove
processor.event
as a requirement for logs, metrics, and errors; ideally also for transactions and spans, if possible.Instead of requiring
processor.event
, the UI can use a booleanshould
filter withminimum_should_match
to query for documents that either haveprocessor.event
(for old pre-8.0 documents/indices) or that have relevantdata_stream.*
fields.Describe a specific use case for the feature:
(3) essentially means querying metrics like system/container/process CPU usage either from
metrics-*
without a filter onprocessor.event: metric
, or fromapm-*
with a filter.More details:
In 6.x and 7.x, APM documents were written to indices whose names users could control. We set
processor.event
fields in the documents to distinguish the event type --transaction
,span
,error
,metric
, andlog
.Since 8.0, APM documents have been written to data streams:
traces-apm*
,logs-apm*
, andmetrics-apm*
. Users cannot change the prefix, they can only change the namespace. Specifically, events are routed as follows:traces-apm-<namespace>
ortraces-apm.rum-<namespace>
traces-apm.error-<namespace>
metrics-apm*-<namespace>
(there are numerous metric data streams)logs-apm.app.<service>-<namespace>
The
processor.event
fields is thus mostly redundant. It is possible to infer the event type from thedata_stream.*
fields:data_stream.type: traces
implies it's either a transaction or a spandata_stream.type: metrics
implies it's a metric(data_stream.type: logs) and (data_stream.dataset: apm.error)
implies it's an errordata_stream.type: logs
it's a logThe text was updated successfully, but these errors were encountered: