Vercel Attributes

39 attributes in this category.39 stable

39 attributes

Stable Attributes

vercel.ai.settings.context.<key>

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

A runtime context property of a Vercel AI SDK call that the app included in telemetry through telemetry.includeRuntimeContext, with <key> being the top-level context property name.

Scrubbing ReasonRuntime context is user-defined and can contain user data
Examplesvercel.ai.settings.context.tenantId='acme'
Dynamic SuffixYes - the key contains dynamic parts
Additional Context
  • Set on gen_ai spans for invoke_agent, generate_content, execute_tool, embeddings, rerank and decide operations. Spans for model calls and tool calls inside an operation copy the attributes of that operation.
  • SDKs MUST only record the properties that the app included through telemetry.includeRuntimeContext. Some Vercel AI SDK versions expose the full runtime context to instrumentation. If an SDK cannot confirm that the Vercel AI SDK filtered the runtime context, it MUST NOT record it.
  • The Vercel AI SDK's own OpenTelemetry integration (@ai-sdk/otel) emits the same data as ai.settings.context.<key>.
  • Runtime context values can have any type. SDKs MUST convert them to strings, and SHOULD serialize objects and arrays as JSON.
  • This attribute is open-ended on purpose. The Vercel AI SDK does not define the runtime context keys.
Changelog
v0.31.0#756Added vercel.ai.settings.context.<key> attribute
Raw JSON
{
  "key": "vercel.ai.settings.context.<key>",
  "brief": "A runtime context property of a Vercel AI SDK call that the app included in telemetry through `telemetry.includeRuntimeContext`, with <key> being the top-level context property name.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "Runtime context is user-defined and can contain user data"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "vercel.ai.settings.context.tenantId='acme'"
  ],
  "additional_context": [
    "Set on `gen_ai` spans for `invoke_agent`, `generate_content`, `execute_tool`, `embeddings`, `rerank` and `decide` operations. Spans for model calls and tool calls inside an operation copy the attributes of that operation.",
    "SDKs MUST only record the properties that the app included through `telemetry.includeRuntimeContext`. Some Vercel AI SDK versions expose the full runtime context to instrumentation. If an SDK cannot confirm that the Vercel AI SDK filtered the runtime context, it MUST NOT record it.",
    "The Vercel AI SDK's own OpenTelemetry integration (`@ai-sdk/otel`) emits the same data as `ai.settings.context.<key>`.",
    "Runtime context values can have any type. SDKs MUST convert them to strings, and SHOULD serialize objects and arrays as JSON.",
    "This attribute is open-ended on purpose. The Vercel AI SDK does not define the runtime context keys."
  ],
  "changelog": [
    {
      "version": "0.31.0",
      "prs": [
        756
      ],
      "description": "Added vercel.ai.settings.context.<key> attribute"
    }
  ]
}

vercel.ai.telemetry.metadata.<key>

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

Metadata passed to a Vercel AI SDK call through experimental_telemetry.metadata, with <key> being the metadata key name.

Scrubbing ReasonMetadata is user-defined and can contain user data
Examplesvercel.ai.telemetry.metadata.tenantId='acme'
Dynamic SuffixYes - the key contains dynamic parts
Additional Context
  • Set on gen_ai spans for invoke_agent, generate_content and embeddings operations. Not set on execute_tool spans.
  • The Vercel AI SDK's own OpenTelemetry spans emit the same data as ai.telemetry.metadata.<key>.
  • The Vercel AI SDK also allows numbers, booleans and arrays as metadata values. SDKs MUST convert these values to strings.
  • This attribute is open-ended on purpose. The Vercel AI SDK does not define the metadata keys. If Vercel defines a stricter spec for this metadata, consider moving it into gen_ai.* attributes.
Changelog
v0.26.0#662Added vercel.ai.telemetry.metadata.<key> attribute
Raw JSON
{
  "key": "vercel.ai.telemetry.metadata.<key>",
  "brief": "Metadata passed to a Vercel AI SDK call through `experimental_telemetry.metadata`, with <key> being the metadata key name.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "Metadata is user-defined and can contain user data"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "vercel.ai.telemetry.metadata.tenantId='acme'"
  ],
  "additional_context": [
    "Set on `gen_ai` spans for `invoke_agent`, `generate_content` and `embeddings` operations. Not set on `execute_tool` spans.",
    "The Vercel AI SDK's own OpenTelemetry spans emit the same data as `ai.telemetry.metadata.<key>`.",
    "The Vercel AI SDK also allows numbers, booleans and arrays as metadata values. SDKs MUST convert these values to strings.",
    "This attribute is open-ended on purpose. The Vercel AI SDK does not define the metadata keys. If Vercel defines a stricter spec for this metadata, consider moving it into `gen_ai.*` attributes."
  ],
  "changelog": [
    {
      "version": "0.26.0",
      "prs": [
        662
      ],
      "description": "Added vercel.ai.telemetry.metadata.<key> attribute"
    }
  ]
}

vercel.ai.tool_call.context.<key>

stringScrub: AutoVisibility: PublicOTel: FalseDynamic

A tool context property of a Vercel AI SDK tool call that the app included in telemetry through telemetry.includeToolsContext, with <key> being the top-level context property name.

Scrubbing ReasonTool context is user-defined and can contain user data
Examplesvercel.ai.tool_call.context.units='metric'
Dynamic SuffixYes - the key contains dynamic parts
Additional Context
  • Set on gen_ai spans for execute_tool operations.
  • SDKs MUST only record the properties that the app included for the tool through telemetry.includeToolsContext. Some Vercel AI SDK versions expose the full tool context to instrumentation. If an SDK cannot confirm that the Vercel AI SDK filtered the tool context, it MUST NOT record it.
  • The Vercel AI SDK's own OpenTelemetry integration (@ai-sdk/otel) does not record tool context.
  • Tool context values can have any type. SDKs MUST convert them to strings, and SHOULD serialize objects and arrays as JSON.
  • This attribute is open-ended on purpose. The Vercel AI SDK does not define the tool context keys.
Changelog
v0.31.0#756Added vercel.ai.tool_call.context.<key> attribute
Raw JSON
{
  "key": "vercel.ai.tool_call.context.<key>",
  "brief": "A tool context property of a Vercel AI SDK tool call that the app included in telemetry through `telemetry.includeToolsContext`, with <key> being the top-level context property name.",
  "has_dynamic_suffix": true,
  "type": "string",
  "apply_scrubbing": {
    "key": "auto",
    "reason": "Tool context is user-defined and can contain user data"
  },
  "is_in_otel": false,
  "visibility": "public",
  "examples": [
    "vercel.ai.tool_call.context.units='metric'"
  ],
  "additional_context": [
    "Set on `gen_ai` spans for `execute_tool` operations.",
    "SDKs MUST only record the properties that the app included for the tool through `telemetry.includeToolsContext`. Some Vercel AI SDK versions expose the full tool context to instrumentation. If an SDK cannot confirm that the Vercel AI SDK filtered the tool context, it MUST NOT record it.",
    "The Vercel AI SDK's own OpenTelemetry integration (`@ai-sdk/otel`) does not record tool context.",
    "Tool context values can have any type. SDKs MUST convert them to strings, and SHOULD serialize objects and arrays as JSON.",
    "This attribute is open-ended on purpose. The Vercel AI SDK does not define the tool context keys."
  ],
  "changelog": [
    {
      "version": "0.31.0",
      "prs": [
        756
      ],
      "description": "Added vercel.ai.tool_call.context.<key> attribute"
    }
  ]
}

vercel.branch

stringScrub: ManualVisibility: PublicOTel: False

Git branch name for Vercel project

Examplemain
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.branch",
  "brief": "Git branch name for Vercel project",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "main",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.build_id

stringScrub: ManualVisibility: PublicOTel: False

Identifier for the Vercel build (only present on build logs)

Examplebld_cotnkcr76
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.build_id",
  "brief": "Identifier for the Vercel build (only present on build logs)",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "bld_cotnkcr76",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.deployment_id

stringScrub: ManualVisibility: PublicOTel: False

Identifier for the Vercel deployment

Exampledpl_233NRGRjVZX1caZrXWtz5g1TAksD
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.deployment_id",
  "brief": "Identifier for the Vercel deployment",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "dpl_233NRGRjVZX1caZrXWtz5g1TAksD",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.destination

stringScrub: ManualVisibility: PublicOTel: False

Origin of the external content in Vercel (only on external logs)

Examplehttps://vitals.vercel-insights.com/v1
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.destination",
  "brief": "Origin of the external content in Vercel (only on external logs)",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "https://vitals.vercel-insights.com/v1",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.edge_type

stringScrub: ManualVisibility: PublicOTel: False

Type of edge runtime in Vercel

Exampleedge-function
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.edge_type",
  "brief": "Type of edge runtime in Vercel",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "edge-function",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.entrypoint

stringScrub: ManualVisibility: PublicOTel: False

Entrypoint for the request in Vercel

Exampleapi/index.js
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.entrypoint",
  "brief": "Entrypoint for the request in Vercel",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "api/index.js",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.execution_region

stringScrub: ManualVisibility: PublicOTel: False

Region where the request is executed

Examplesfo1
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.execution_region",
  "brief": "Region where the request is executed",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "sfo1",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.id

stringScrub: ManualVisibility: PublicOTel: False

Unique identifier for the log entry in Vercel

Example1573817187330377061717300000
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.id",
  "brief": "Unique identifier for the log entry in Vercel",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "1573817187330377061717300000",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.ja3_digest

stringScrub: AutoVisibility: PublicOTel: False

JA3 fingerprint digest of Vercel request

Example769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.ja3_digest",
  "brief": "JA3 fingerprint digest of Vercel request",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.ja4_digest

stringScrub: AutoVisibility: PublicOTel: False

JA4 fingerprint digest

Examplet13d1516h2_8daaf6152771_02713d6af862
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.ja4_digest",
  "brief": "JA4 fingerprint digest",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "t13d1516h2_8daaf6152771_02713d6af862",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.log_type

stringScrub: ManualVisibility: PublicOTel: False

Vercel log output type

Examplestdout
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.log_type",
  "brief": "Vercel log output type",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "stdout",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.path

stringScrub: ManualVisibility: PublicOTel: False

Function or dynamic path of the request in Vercel.

Example/dynamic/[route].json
Changelog
v0.6.0#349Added vercel.path attribute
Raw JSON
{
  "key": "vercel.path",
  "brief": "Function or dynamic path of the request in Vercel.",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "/dynamic/[route].json",
  "changelog": [
    {
      "version": "0.6.0",
      "prs": [
        349
      ],
      "description": "Added vercel.path attribute"
    }
  ]
}

vercel.project_id

stringScrub: ManualVisibility: PublicOTel: False

Identifier for the Vercel project

ExamplegdufoJxB6b9b1fEqr1jUtFkyavUU
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.project_id",
  "brief": "Identifier for the Vercel project",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "gdufoJxB6b9b1fEqr1jUtFkyavUU",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.project_name

stringScrub: ManualVisibility: PublicOTel: False

Name of the Vercel project

Examplemy-app
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.project_name",
  "brief": "Name of the Vercel project",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "my-app",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.cache_id

stringScrub: ManualVisibility: PublicOTel: False

Original request ID when request is served from cache

Examplepdx1::v8g4b-1744143786684-93dafbc0f70d
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.cache_id",
  "brief": "Original request ID when request is served from cache",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "pdx1::v8g4b-1744143786684-93dafbc0f70d",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.client_ip

stringScrub: AutoVisibility: PublicOTel: False

Client IP address

Example120.75.16.101
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.client_ip",
  "brief": "Client IP address",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "120.75.16.101",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.host

stringScrub: ManualVisibility: PublicOTel: False

Hostname of the request

Exampletest.vercel.app
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.host",
  "brief": "Hostname of the request",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "test.vercel.app",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.lambda_region

stringScrub: ManualVisibility: PublicOTel: False

Region where lambda function executed

Examplesfo1
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.lambda_region",
  "brief": "Region where lambda function executed",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "sfo1",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.method

stringScrub: ManualVisibility: PublicOTel: False

HTTP method of the request

ExampleGET
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.method",
  "brief": "HTTP method of the request",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "GET",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.path

stringScrub: AutoVisibility: PublicOTel: False

Request path with query parameters

Example/dynamic/some-value.json?route=some-value
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.path",
  "brief": "Request path with query parameters",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "/dynamic/some-value.json?route=some-value",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.path_type

stringScrub: ManualVisibility: PublicOTel: False

How the request was served based on its path and project configuration

Examplefunc
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.path_type",
  "brief": "How the request was served based on its path and project configuration",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "func",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.path_type_variant

stringScrub: ManualVisibility: PublicOTel: False

Variant of the path type

Exampleapi
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.path_type_variant",
  "brief": "Variant of the path type",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "api",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.referer

stringScrub: AutoVisibility: PublicOTel: False

Referer of the request

Example*.vercel.app
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.referer",
  "brief": "Referer of the request",
  "type": "string",
  "apply_scrubbing": {
    "key": "auto"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "*.vercel.app",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.region

stringScrub: ManualVisibility: PublicOTel: False

Region where the request is processed

Examplesfo1
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.region",
  "brief": "Region where the request is processed",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "sfo1",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.response_byte_size

integerScrub: ManualVisibility: PublicOTel: False

Size of the response in bytes

Example1024
Changelog
v0.4.0#228
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.response_byte_size",
  "brief": "Size of the response in bytes",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1024,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.scheme

stringScrub: ManualVisibility: PublicOTel: False

Protocol of the request

Examplehttps
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.scheme",
  "brief": "Protocol of the request",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "https",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.status_code

integerScrub: ManualVisibility: PublicOTel: False

HTTP status code of the proxy request

Example200
Changelog
v0.4.0#228
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.status_code",
  "brief": "HTTP status code of the proxy request",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 200,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.timestamp

integerScrub: ManualVisibility: PublicOTel: False

Unix timestamp when the proxy request was made

Example1573817250172
Changelog
v0.4.0#228
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.timestamp",
  "brief": "Unix timestamp when the proxy request was made",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 1573817250172,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.user_agent

string[]Scrub: ManualVisibility: PublicOTel: False

User agent strings of the request

Example["Mozilla/5.0..."]
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.user_agent",
  "brief": "User agent strings of the request",
  "type": "string[]",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": [
    "Mozilla/5.0..."
  ],
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.vercel_cache

stringScrub: ManualVisibility: PublicOTel: False

Cache status sent to the browser

ExampleREVALIDATED
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.vercel_cache",
  "brief": "Cache status sent to the browser",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "REVALIDATED",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.vercel_id

stringScrub: ManualVisibility: PublicOTel: False

Vercel-specific identifier

Examplesfo1::abc123
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.vercel_id",
  "brief": "Vercel-specific identifier",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "sfo1::abc123",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.waf_action

stringScrub: ManualVisibility: PublicOTel: False

Action taken by firewall rules

Exampledeny
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.waf_action",
  "brief": "Action taken by firewall rules",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "deny",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.proxy.waf_rule_id

stringScrub: ManualVisibility: PublicOTel: False

ID of the firewall rule that matched

Examplerule_gAHz8jtSB1Gy
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.proxy.waf_rule_id",
  "brief": "ID of the firewall rule that matched",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "rule_gAHz8jtSB1Gy",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.request_id

stringScrub: ManualVisibility: PublicOTel: False

Identifier of the Vercel request

Example643af4e3-975a-4cc7-9e7a-1eda11539d90
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.request_id",
  "brief": "Identifier of the Vercel request",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "643af4e3-975a-4cc7-9e7a-1eda11539d90",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.source

stringScrub: ManualVisibility: PublicOTel: False

Origin of the Vercel log (build, edge, lambda, static, external, or firewall)

Examplebuild
Changelog
v0.2.0#163
Raw JSON
{
  "key": "vercel.source",
  "brief": "Origin of the Vercel log (build, edge, lambda, static, external, or firewall)",
  "type": "string",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": "build",
  "changelog": [
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}

vercel.status_code

integerScrub: ManualVisibility: PublicOTel: False

HTTP status code of the request (-1 means no response returned and the lambda crashed)

Example200
Changelog
v0.4.0#228
v0.2.0#163
Raw JSON
{
  "key": "vercel.status_code",
  "brief": "HTTP status code of the request (-1 means no response returned and the lambda crashed)",
  "type": "integer",
  "apply_scrubbing": {
    "key": "manual"
  },
  "is_in_otel": false,
  "visibility": "public",
  "example": 200,
  "changelog": [
    {
      "version": "0.4.0",
      "prs": [
        228
      ]
    },
    {
      "version": "0.2.0",
      "prs": [
        163
      ]
    }
  ]
}