Skip to content

Span Naming - New HTTP Semantic Behavior http.url v/s url.full #4226

Open
@zoomingrocket

Description

@zoomingrocket

Expected behavior

We are upgrading from Java Agent v3.4.19 to v3.7.2, and one of the critical changes was adopting new HTTP Semantics from Otel
Our request Span naming was leveraging http.url to extract path, and then set the span name as
"HTTPMethod HTTPPath"

Actual behavior

With v3.7.2 we shifted to url.full attribute to extract the path, but noticed that in certain spans, the path is either missing entirely or is partial
We explored leveraging directly url.path attribute for span name instead of extraction but similar partial behavior.
If we revert back to http.url with v3.7.2 our original behavior for Span naming starts working properly, so wanted to understand if url.full , url.path are stable to adopt or we are missing a trick in the book or stick to http.url for consistency?

Config JSON Snippet
"processors": [ { "type": "attribute", "actions": [ { "key": "url.full", "pattern": "^(?<httpProtocol>.*):\\/\\/(?<httpDomain>[^\\/]+)\\/(?<httpPath>[^\\?]+)?(?<httpQueryParams>.*)", "action": "extract" } ] }, { "type": "span", "name": { "fromAttributes": [ "http.request.method", "httpPath" ], "separator": " " } }

To Reproduce

Using a commercial COTS system, I am unable to submit a reproducible use case.

System information

Please provide the following information:

  • SDK Version: 3.7.2
  • OS type and version: RHEL 8.10
  • Application Server type and version (if applicable): COTs
  • Using spring-boot? NA
  • Additional relevant libraries (with version, if applicable): NA

Logs

I can capture logs if required.

Screenshots

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions