Skip to content

Conversation

@wantsui
Copy link
Collaborator

@wantsui wantsui commented Nov 19, 2025

What does this PR do?

Implements AIDM-254, which is to add process tags to the profiling payloads.

Requires https://github.com/DataDog/libdatadog/pull/1359/files to be implemented first.

Motivation:

AIDM-254

Change log entry

Add process tags to the profiling payloads.

Additional Notes:

When reviewing this, keep in mind that we need the implementations across tracers to be consistent:
Java PR: DataDog/dd-trace-java#8780
Python PR: DataDog/dd-trace-py#15226
.NET PR: DataDog/dd-trace-dotnet#7715

Open Questions:

  1. Is there a concept of a "root" payload in dd-trace-rb for profiling?
  2. Do I need to worry about the libdatadog process file currently in this code base? 🤔

Also do not merge this PR until #5033 is merged.

Also requires libdatadog: DataDog/libdatadog#1359

How to test the change?

bundle exec rspec spec/datadog/profiling/tag_builder_spec.rb

@github-actions
Copy link

github-actions bot commented Nov 19, 2025

👋 Hey @DataDog/ruby-guild, please fill "Change log entry" section in the pull request description.

If changes need to be present in CHANGELOG.md you can state it this way

**Change log entry**

Yes. A brief summary to be placed into the CHANGELOG.md

(possible answers Yes/Yep/Yeah)

Or you can opt out like that

**Change log entry**

None.

(possible answers No/Nope/None)

Visited at: 2025-11-20 21:05:02 UTC

@github-actions github-actions bot added core Involves Datadog core libraries profiling Involves Datadog profiling tracing labels Nov 19, 2025
@wantsui wantsui changed the base branch from master to add-process-tags-to-tracing November 19, 2025 21:42
@github-actions
Copy link

Typing analysis

Note: Ignored files are excluded from the next sections.

Untyped methods

This PR introduces 1 partially typed method. It increases the percentage of typed methods from 54.67% to 54.77% (+0.1%).

Partially typed methods (+1-0)Introduced:
sig/datadog/core/normalizer.rbs:12
└── def self.normalize: (untyped original_value, ?remove_digit_start_char: bool) -> ::String

If you believe a method or an attribute is rightfully untyped or partially typed, you can add # untyped:accept to the end of the line to remove it from the stats.

@pr-commenter
Copy link

pr-commenter bot commented Nov 19, 2025

Benchmarks

Benchmark execution time: 2025-11-20 21:28:02

Comparing candidate commit 4696c9c in PR branch add-process-tags-to-profiling with baseline commit 9e45ade in branch add-process-tags-to-tracing.

Found 0 performance improvements and 2 performance regressions! Performance is the same for 42 metrics, 2 unstable metrics.

scenario:profiling - stack collector (native frames - native filenames disabled)

  • 🟥 throughput [-163.615op/s; -162.813op/s] or [-5.284%; -5.258%]

scenario:profiling - stack collector (native frames - native filenames enabled)

  • 🟥 throughput [-163.290op/s; -161.248op/s] or [-5.275%; -5.209%]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Involves Datadog core libraries profiling Involves Datadog profiling tracing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants