elastic / elastic/apm-server

model: align HTTP with ECS

Open
#3,876 2 comments 0 reactions 0 assignees View on GitHub
ecs
Dominant language
Go
Stars
1.3k
Forks
543
Avg merge
1d 18h
Merged PRs (30d)
109

Description

ECS defines the [HTTP](https://www.elastic.co/guide/en/ecs/current/ecs-http.html) fieldset.

APM stores transaction HTTP fields in compliance with ECS, but span HTTP fields are nested inside the span namespace. We should move these fields to the top level http namespace. Some of the fields are currently indexed; these fields would need to be duplicated to avoid breaking changes.

APM stores additional HTTP fields for transactions and spans that are not yet defined in ECS:
- `http.response.decoded_body_size`
- `http.response.encoded_body_size`
- `http.response.headers`
- `http.response.transfer_size`
- `http.request.cookies`

We should compare these to the ECS-defined fields (`http.request.bytes`, etc.) and propose changes to ECS or the APM Server code as necessary.

APM stores the HTTP request body as `http.request.body.original`, whereas ECS defines it as `http.request.body.content`. When upgrading to 7.0 we agreed on keeping original; not sure if we need to revisit.

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.