Skip to content

feat(attributes): Add cloudflare.agent attributes to identify agents - #541

Closed
JPeer264 wants to merge 1 commit into
mainfrom
jp/add-agent-name
Closed

feat(attributes): Add cloudflare.agent attributes to identify agents#541
JPeer264 wants to merge 1 commit into
mainfrom
jp/add-agent-name

Conversation

@JPeer264

Copy link
Copy Markdown
Member

Description

This adds cloudflare.agent.name (name of the instance name) and cloudflare.agent.class (name of the class name - could be Agent, AIChatAgent or similar).

PR Checklist

  • I have run yarn test and verified that the tests pass.
  • I have run yarn generate to generate and format code and docs.

If an attribute was added:

  • The attribute is in a namespace (e.g. nextjs.function_id, not function_id)
  • I have used the correct value for apply_scrubbing (i.e. manual or auto. Use never only for values that should never be scrubbed such as IDs)

If an attribute was deprecated:

@github-actions

Copy link
Copy Markdown

Semver Impact of This PR

🟡 Minor (new features)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Attributes

  • Add cloudflare.agent attributes to identify agents by JPeer264 in #541
  • Add django.middleware_name (deprecated) in favor of middleware.name by alexander-alderman-webb in #520
  • Add starlite.middleware_name (deprecated) in favor of middleware.name by alexander-alderman-webb in #519
  • Add aws.request.url (deprecated) in favor of url.full by sentrivana in #488
  • Add subprocess.pid (deprecated) in favor of process.pid by sentrivana in #487
  • Add litestar.middleware_name (deprecated) in favor of middleware.name by sentrivana in #486
  • Add starlette.middleware_name (deprecated) in favor of middleware.name by sentrivana in #485
  • Add redis.key (deprecated) in favor of db.redis.key by sentrivana in #484
  • Add db.mongodb.collection (deprecated) in favor of db.collection.name by sentrivana in #483
  • Add Kafka messaging attributes by chargome in #474
  • Deprecate rpc.grpc.status_code in favor of rpc.response.status_code by lucas-zimerman in #494
  • Add deprecated messaging.destination_kind by andreiborza in #509
  • Add sentry.segment.name.source attribute by Lms24 in #466
  • Add attribute transformations by constantinius in #465
  • Add stable app vitals attributes by buenaflor in #493
  • Deprecate sentry.frames.* attributes by buenaflor in #500
  • Add missing AI legacy aliases from Relay SpanData by vgrozdanic in #498

Other

  • (conventions) Support multiple examples by Lms24 in #505
  • (descriptions) Add http.route description template for http.server span description inference by Lms24 in #518

Internal Changes 🔧

Attribute

  • Add more examples for valid sentry.kind values by Lms24 in #517
  • Improve db.statement example and add deprecation reason by Lms24 in #501

Attributes

  • Improve description of sentry.segment.name.source by Lms24 in #511
  • Deprecate sentry.span.source and change backfill status of sentry.source by Lms24 in #510

Deps

  • Bump dompurify from 3.4.11 to 3.4.12 by dependabot in #525
  • Bump fast-uri from 3.1.2 to 3.1.4 by dependabot in #526
  • Bump svgo from 4.0.1 to 4.0.2 by dependabot in #524
  • Bump js-yaml from 4.2.0 to 4.3.0 by dependabot in #516
  • Bump astro from 6.4.7 to 7.1.0 in /docs by dependabot in #514

Other

  • (attrs) Backport attributes and normalizations from Relay by Dav1dde in #497
  • (codeowners) Assign telemetry-experience to gen_ai/ai attributes by vgrozdanic in #506
  • (deps-dev) Bump tar from 7.5.16 to 7.5.19 by dependabot in #515
  • (release) Show version in workflow run title by constantinius in #504

🤖 This preview updates automatically when you update the PR.

@Lms24 Lms24 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm I'm wondering if we can use more generic non-cloudflare-scoped attributes here?

  • cloudflare.agent.name -> gen_ai.agent.name
  • cloudflare.agent.class -> code.function.name (assuming this is about the actual code class name). While a class is not a function, I think this could be close enough here. OTel is quite liberal in the example values for this attribute.

@alexander-alderman-webb

Copy link
Copy Markdown
Contributor

Is cloudflare.agent.class needed to support any product feature?

@JPeer264

Copy link
Copy Markdown
Member Author

Is cloudflare.agent.class needed to support any product feature?

No it is mainly to create more value on the span itself. Especially if there are more agents running at the same time.

Hmm I'm wondering if we can use more generic non-cloudflare-scoped attributes here?

I like your ideas actually

assuming this is about the actual code class name

It is about the class it extends from, so its parent class

@Lms24

Lms24 commented Jul 30, 2026

Copy link
Copy Markdown
Member

Thanks! Ideally we don't add too many cloudflare(-or-any-other-lib/framework/plaform)-specific attributes when there are reasonable, more general replacements. Lmk if you wanna continue with any of these attributes :)

@JPeer264

Copy link
Copy Markdown
Member Author

Ideally we don't add too many cloudflare(-or-any-other-lib/framework/plaform)-specific attributes

Totally agree. In this case I missed the alternatives.

I'll close this as both of the alternatives are already in

@JPeer264 JPeer264 closed this Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants