Http Attributes

37 attributes in this category. 25 stable · 12 deprecated

Stable Attributes

http.decoded_response_content_length

integer PII: Maybe OTel: False

The decoded body size of the response (in bytes).

Example 456
SDKs javascript-browser
Raw JSON
{
  "key": "http.decoded_response_content_length",
  "brief": "The decoded body size of the response (in bytes).",
  "type": "integer",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 456,
  "sdks": [
    "javascript-browser"
  ]
}

http.fragment

string PII: Maybe OTel: False

The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.

Example #details
Raw JSON
{
  "key": "http.fragment",
  "brief": "The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": "#details"
}

http.query

string PII: Maybe OTel: False

The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.

PII Reason Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.
Example ?foo=bar&bar=baz
Raw JSON
{
  "key": "http.query",
  "brief": "The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.",
  "type": "string",
  "pii": {
    "key": "maybe",
    "reason": "Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information."
  },
  "is_in_otel": false,
  "example": "?foo=bar&bar=baz"
}

http.request.connect_start

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.

Example 1732829555.111
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.connect_start",
  "brief": "The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.111,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.connection_end

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication.

Example 1732829555.15
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.connection_end",
  "brief": "The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.15,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.domain_lookup_end

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource.

Example 1732829555.201
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.domain_lookup_end",
  "brief": "The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.201,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.domain_lookup_start

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource.

Example 1732829555.322
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.domain_lookup_start",
  "brief": "The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.322,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.fetch_start

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately before the browser starts to fetch the resource.

Example 1732829555.389
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.fetch_start",
  "brief": "The UNIX timestamp representing the time immediately before the browser starts to fetch the resource.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.389,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.header.<key>

string[] PII: Maybe OTel: True Dynamic

HTTP request headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values.

Example http.request.header.custom-header=['foo', 'bar']
Dynamic Suffix Yes - the key contains dynamic parts
Raw JSON
{
  "key": "http.request.header.<key>",
  "brief": "HTTP request headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values.",
  "has_dynamic_suffix": true,
  "type": "string[]",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "http.request.header.custom-header=['foo', 'bar']"
}

http.request.method

string PII: Maybe OTel: True

The HTTP method used.

Example GET
Aliases methodhttp.method
Raw JSON
{
  "key": "http.request.method",
  "brief": "The HTTP method used.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "GET",
  "alias": [
    "method",
    "http.method"
  ]
}

http.request.redirect_end

double PII: Maybe OTel: False

The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect

Example 1732829558.502
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.redirect_end",
  "brief": "The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829558.502,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.redirect_start

double PII: Maybe OTel: False

The UNIX timestamp representing the start time of the fetch which that initiates the redirect.

Example 1732829555.495
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.redirect_start",
  "brief": "The UNIX timestamp representing the start time of the fetch which that initiates the redirect.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.495,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.request_start

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.

Example 1732829555.51
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.request_start",
  "brief": "The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.51,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.resend_count

integer PII: Maybe OTel: False

The ordinal number of request resending attempt (for any reason, including redirects).

Example 2
Raw JSON
{
  "key": "http.request.resend_count",
  "brief": "The ordinal number of request resending attempt (for any reason, including redirects).",
  "type": "integer",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 2
}

http.request.response_end

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.

Example 1732829555.89
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.response_end",
  "brief": "The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.89,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.response_start

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.

Example 1732829555.7
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.response_start",
  "brief": "The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.7,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.secure_connection_start

double PII: Maybe OTel: False

The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero.

Example 1732829555.73
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.secure_connection_start",
  "brief": "The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829555.73,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.time_to_first_byte

double PII: Maybe OTel: False

The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests

Example 1.032
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.time_to_first_byte",
  "brief": "The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1.032,
  "sdks": [
    "javascript-browser"
  ]
}

http.request.worker_start

double PII: Maybe OTel: False

The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running.

Example 1732829553.68
SDKs javascript-browser
Raw JSON
{
  "key": "http.request.worker_start",
  "brief": "The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running.",
  "type": "double",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 1732829553.68,
  "sdks": [
    "javascript-browser"
  ]
}

http.response.body.size

integer PII: Maybe OTel: True

The encoded body size of the response (in bytes).

Example 123
Aliases http.response_content_lengthhttp.response.header.content-length
Raw JSON
{
  "key": "http.response.body.size",
  "brief": "The encoded body size of the response (in bytes).",
  "type": "integer",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": 123,
  "alias": [
    "http.response_content_length",
    "http.response.header.content-length"
  ]
}

http.response.header.<key>

string[] PII: Maybe OTel: True Dynamic

HTTP response headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values.

Example http.response.header.custom-header=['foo', 'bar']
Dynamic Suffix Yes - the key contains dynamic parts
Raw JSON
{
  "key": "http.response.header.<key>",
  "brief": "HTTP response headers, <key> being the normalized HTTP Header name (lowercase), the value being the header values.",
  "has_dynamic_suffix": true,
  "type": "string[]",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "http.response.header.custom-header=['foo', 'bar']"
}

http.response.header.content-length

string PII: Maybe OTel: True

The size of the message body sent to the recipient (in bytes)

Example http.response.header.custom-header=['foo', 'bar']
Aliases http.response_content_lengthhttp.response.body.size
Raw JSON
{
  "key": "http.response.header.content-length",
  "brief": "The size of the message body sent to the recipient (in bytes)",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "http.response.header.custom-header=['foo', 'bar']",
  "alias": [
    "http.response_content_length",
    "http.response.body.size"
  ]
}

http.response.size

integer PII: Maybe OTel: True

The transfer size of the response (in bytes).

Example 456
Aliases http.response_transfer_size
Raw JSON
{
  "key": "http.response.size",
  "brief": "The transfer size of the response (in bytes).",
  "type": "integer",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": 456,
  "alias": [
    "http.response_transfer_size"
  ]
}

http.response.status_code

integer PII: Maybe OTel: True

The status code of the HTTP response.

Example 404
Aliases http.status_code
Raw JSON
{
  "key": "http.response.status_code",
  "brief": "The status code of the HTTP response.",
  "type": "integer",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": 404,
  "alias": [
    "http.status_code"
  ]
}

http.route

string PII: Maybe OTel: True

The matched route, that is, the path template in the format used by the respective server framework.

Example /users/:id
Aliases url.template
Raw JSON
{
  "key": "http.route",
  "brief": "The matched route, that is, the path template in the format used by the respective server framework.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "/users/:id",
  "alias": [
    "url.template"
  ]
}

Deprecated Attributes

These attributes are deprecated and should not be used in new code. See each attribute for migration guidance.

http.client_ip Deprecated

string PII: True OTel: True

Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.

Example example.com
Aliases client.address

Use client.address instead.

Raw JSON
{
  "key": "http.client_ip",
  "brief": "Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.",
  "type": "string",
  "pii": {
    "key": "true"
  },
  "is_in_otel": true,
  "example": "example.com",
  "deprecation": {
    "replacement": "client.address",
    "_status": null
  },
  "alias": [
    "client.address"
  ]
}

http.flavor Deprecated

string PII: Maybe OTel: True

The actual version of the protocol used for network communication.

Example 1.1
Aliases network.protocol.versionnet.protocol.version

Use network.protocol.version instead.

Raw JSON
{
  "key": "http.flavor",
  "brief": "The actual version of the protocol used for network communication.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "1.1",
  "deprecation": {
    "replacement": "network.protocol.version",
    "_status": null
  },
  "alias": [
    "network.protocol.version",
    "net.protocol.version"
  ]
}

http.host Deprecated

string PII: Maybe OTel: True

The domain name.

Example example.com
Aliases server.addressclient.addresshttp.server_namenet.host.name

Use server.address instead.

Deprecated, use one of `server.address` or `client.address`, depending on the usage

Raw JSON
{
  "key": "http.host",
  "brief": "The domain name.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "example.com",
  "deprecation": {
    "replacement": "server.address",
    "reason": "Deprecated, use one of `server.address` or `client.address`, depending on the usage",
    "_status": null
  },
  "alias": [
    "server.address",
    "client.address",
    "http.server_name",
    "net.host.name"
  ]
}

http.method Deprecated

string PII: Maybe OTel: True

The HTTP method used.

Example GET
Aliases http.request.method

Use http.request.method instead.

Raw JSON
{
  "key": "http.method",
  "brief": "The HTTP method used.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "GET",
  "deprecation": {
    "replacement": "http.request.method",
    "_status": null
  },
  "alias": [
    "http.request.method"
  ]
}

http.response_content_length Deprecated

integer PII: Maybe OTel: True

The encoded body size of the response (in bytes).

Example 123
Aliases http.response.body.sizehttp.response.header.content-length

Use http.response.body.size instead.

Status: backfill

Raw JSON
{
  "key": "http.response_content_length",
  "brief": "The encoded body size of the response (in bytes).",
  "type": "integer",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": 123,
  "deprecation": {
    "replacement": "http.response.body.size",
    "_status": "backfill"
  },
  "alias": [
    "http.response.body.size",
    "http.response.header.content-length"
  ]
}

http.response_transfer_size Deprecated

integer PII: Maybe OTel: False

The transfer size of the response (in bytes).

Example 456
Aliases http.response.size

Use http.response.size instead.

Status: backfill

Raw JSON
{
  "key": "http.response_transfer_size",
  "brief": "The transfer size of the response (in bytes).",
  "type": "integer",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": false,
  "example": 456,
  "deprecation": {
    "replacement": "http.response.size",
    "_status": "backfill"
  },
  "alias": [
    "http.response.size"
  ]
}

http.scheme Deprecated

string PII: Maybe OTel: True

The URI scheme component identifying the used protocol.

Example https
Aliases url.scheme

Use url.scheme instead.

Raw JSON
{
  "key": "http.scheme",
  "brief": "The URI scheme component identifying the used protocol.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "https",
  "deprecation": {
    "replacement": "url.scheme",
    "_status": null
  },
  "alias": [
    "url.scheme"
  ]
}

http.server_name Deprecated

string PII: Maybe OTel: True

The server domain name

Example example.com
Aliases server.addressnet.host.namehttp.host

Use server.address instead.

Raw JSON
{
  "key": "http.server_name",
  "brief": "The server domain name",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "example.com",
  "deprecation": {
    "replacement": "server.address",
    "_status": null
  },
  "alias": [
    "server.address",
    "net.host.name",
    "http.host"
  ]
}

http.status_code Deprecated

integer PII: Maybe OTel: True

The status code of the HTTP response.

Example 404
Aliases http.response.status_code

Use http.response.status_code instead.

Raw JSON
{
  "key": "http.status_code",
  "brief": "The status code of the HTTP response.",
  "type": "integer",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": 404,
  "deprecation": {
    "replacement": "http.response.status_code",
    "_status": null
  },
  "alias": [
    "http.response.status_code"
  ]
}

http.target Deprecated

string PII: Maybe OTel: True

The pathname and query string of the URL.

Example /test?foo=bar#buzz

Use url.path instead.

This attribute is being deprecated in favor of url.path and url.query

Raw JSON
{
  "key": "http.target",
  "brief": "The pathname and query string of the URL.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "/test?foo=bar#buzz",
  "deprecation": {
    "replacement": "url.path",
    "reason": "This attribute is being deprecated in favor of url.path and url.query",
    "_status": null
  }
}

http.url Deprecated

string PII: Maybe OTel: True

The URL of the resource that was fetched.

Example https://example.com/test?foo=bar#buzz
Aliases url.fullurl

Use url.full instead.

Raw JSON
{
  "key": "http.url",
  "brief": "The URL of the resource that was fetched.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "https://example.com/test?foo=bar#buzz",
  "deprecation": {
    "replacement": "url.full",
    "_status": null
  },
  "alias": [
    "url.full",
    "url"
  ]
}

http.user_agent Deprecated

string PII: Maybe OTel: True

Value of the HTTP User-Agent header sent by the client.

Example Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1
Aliases user_agent.original

Use user_agent.original instead.

Raw JSON
{
  "key": "http.user_agent",
  "brief": "Value of the HTTP User-Agent header sent by the client.",
  "type": "string",
  "pii": {
    "key": "maybe"
  },
  "is_in_otel": true,
  "example": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1",
  "deprecation": {
    "replacement": "user_agent.original",
    "_status": null
  },
  "alias": [
    "user_agent.original"
  ]
}