trace/http: Add http.{request,response}.size attributes (#84)
Co-authored-by: Liudmila Molkova <limolkova@microsoft.com> Co-authored-by: Alexandra Konrad <10500694+trisch-me@users.noreply.github.com> Co-authored-by: Joao Grassi <5938087+joaopgrassi@users.noreply.github.com>
This commit is contained in:
parent
f9dfdd50ce
commit
0220d78f63
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Use this changelog template to create an entry for release notes.
|
||||||
|
#
|
||||||
|
# If your change doesn't affect end users you should instead start
|
||||||
|
# your pull request title with [chore] or use the "Skip Changelog" label.
|
||||||
|
|
||||||
|
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
|
||||||
|
change_type: enhancement
|
||||||
|
|
||||||
|
# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
|
||||||
|
component: http
|
||||||
|
|
||||||
|
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
|
||||||
|
note: Add `http.request.size` and `http.response.size` attributes for the total number of bytes in http messages
|
||||||
|
|
||||||
|
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
|
||||||
|
# The values here must be integers.
|
||||||
|
issues: [38, 84]
|
||||||
|
|
||||||
|
# (Optional) One or more lines of additional information to render under the primary note.
|
||||||
|
# These lines will be padded with 2 spaces and then inserted directly into the document.
|
||||||
|
# Use pipe (|) for multiline entries.
|
||||||
|
subtext:
|
||||||
|
|
@ -14,8 +14,10 @@
|
||||||
| `http.request.method` | string | <br>HTTP request method. [2] | `GET`; `POST`; `HEAD` |
|
| `http.request.method` | string | <br>HTTP request method. [2] | `GET`; `POST`; `HEAD` |
|
||||||
| `http.request.method_original` | string | <br>Original HTTP method sent by the client in the request line. | `GeT`; `ACL`; `foo` |
|
| `http.request.method_original` | string | <br>Original HTTP method sent by the client in the request line. | `GeT`; `ACL`; `foo` |
|
||||||
| `http.request.resend_count` | int | <br>The ordinal number of request resending attempt (for any reason, including redirects). [3] | `3` |
|
| `http.request.resend_count` | int | <br>The ordinal number of request resending attempt (for any reason, including redirects). [3] | `3` |
|
||||||
|
| `http.request.size` | int | The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request body if any. | `1437` |
|
||||||
| `http.response.body.size` | int | The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size. | `3495` |
|
| `http.response.body.size` | int | The size of the response payload body in bytes. This is the number of bytes transferred excluding headers and is often, but not always, present as the [Content-Length](https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length) header. For requests using transport encoding, this should be the compressed size. | `3495` |
|
||||||
| `http.response.header.<key>` | string[] | <br>HTTP response headers, `<key>` being the normalized HTTP Header name (lowercase), the value being the header values. [4] | `http.response.header.content-type=["application/json"]`; `http.response.header.my-custom-header=["abc", "def"]` |
|
| `http.response.header.<key>` | string[] | <br>HTTP response headers, `<key>` being the normalized HTTP Header name (lowercase), the value being the header values. [4] | `http.response.header.content-type=["application/json"]`; `http.response.header.my-custom-header=["abc", "def"]` |
|
||||||
|
| `http.response.size` | int | The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any. | `1437` |
|
||||||
| `http.response.status_code` | int | <br>[HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). | `200` |
|
| `http.response.status_code` | int | <br>[HTTP response status code](https://tools.ietf.org/html/rfc7231#section-6). | `200` |
|
||||||
| `http.route` | string | <br>The matched route, that is, the path template in the format used by the respective server framework. [5] | `/users/:userID?`; `{controller}/{action}/{id?}` |
|
| `http.route` | string | <br>The matched route, that is, the path template in the format used by the respective server framework. [5] | `/users/:userID?`; `{controller}/{action}/{id?}` |
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,13 @@ groups:
|
||||||
was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues,
|
was the cause of the resending (e.g. redirection, authorization failure, 503 Server Unavailable, network issues,
|
||||||
or any other).
|
or any other).
|
||||||
examples: 3
|
examples: 3
|
||||||
|
- id: request.size
|
||||||
|
type: int
|
||||||
|
brief: >
|
||||||
|
The total size of the request in bytes. This should be the total number of bytes sent over the wire, including the request line (HTTP/1.1),
|
||||||
|
framing (HTTP/2 and HTTP/3), headers, and request body if any.
|
||||||
|
examples: 1437
|
||||||
|
stability: experimental
|
||||||
- id: response.body.size
|
- id: response.body.size
|
||||||
type: int
|
type: int
|
||||||
brief: >
|
brief: >
|
||||||
|
|
@ -118,6 +125,13 @@ groups:
|
||||||
or a single-item array containing a possibly comma-concatenated string, depending on the way
|
or a single-item array containing a possibly comma-concatenated string, depending on the way
|
||||||
the HTTP library provides access to headers.
|
the HTTP library provides access to headers.
|
||||||
examples: ['http.response.header.content-type=["application/json"]', 'http.response.header.my-custom-header=["abc", "def"]']
|
examples: ['http.response.header.content-type=["application/json"]', 'http.response.header.my-custom-header=["abc", "def"]']
|
||||||
|
- id: response.size
|
||||||
|
type: int
|
||||||
|
brief: >
|
||||||
|
The total size of the response in bytes. This should be the total number of bytes sent over the wire, including the status line (HTTP/1.1),
|
||||||
|
framing (HTTP/2 and HTTP/3), headers, and response body and trailers if any.
|
||||||
|
examples: 1437
|
||||||
|
stability: experimental
|
||||||
- id: response.status_code
|
- id: response.status_code
|
||||||
stability: stable
|
stability: stable
|
||||||
type: int
|
type: int
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue