Skip to content

[PROF-8328] Import java-profiler PID controller and port it to C#3190

Merged
ivoanjo merged 5 commits into
masterfrom
ivoanjo/prof-8328-profiler-pid-controller
Oct 6, 2023
Merged

[PROF-8328] Import java-profiler PID controller and port it to C#3190
ivoanjo merged 5 commits into
masterfrom
ivoanjo/prof-8328-profiler-pid-controller

Conversation

@ivoanjo

@ivoanjo ivoanjo commented Oct 6, 2023

Copy link
Copy Markdown
Member

What does this PR do?

This PR:

  • Imports the pidController.h and pidController.cpp from the java-profiler library
  • Ports the PidController class to C, to match the rest of the Ruby profiler

I've recorded the porting steps in multiple commits, and as much as possible tried to keep the conventions and structure of the original code.

In practice, this does not yet change anything in the Ruby profiler, since these files are not yet used.

Motivation:

I plan to use the PID controller to control how often we take samples in the allocation profiler, like the Java profiler does.

Additional Notes:

I plan to ask the folks from the Java profiler to review this one :)

How to test the change?

This code is not yet used; it'll get tested when it gets integrated into the allocation profiler.

For Datadog employees:

  • If this PR touches code that signs or publishes builds or packages, or handles
    credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.
  • This PR doesn't touch any of that.

@ivoanjo
ivoanjo requested a review from a team as a code owner October 6, 2023 09:58
@github-actions github-actions Bot added the profiling Involves Datadog profiling label Oct 6, 2023

@jbachorik jbachorik left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looking good!

@codecov-commenter

codecov-commenter commented Oct 6, 2023

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.19%. Comparing base (c8de363) to head (88df016).
⚠️ Report is 5541 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3190      +/-   ##
==========================================
- Coverage   98.21%   98.19%   -0.02%     
==========================================
  Files        1247     1250       +3     
  Lines       71664    71910     +246     
  Branches     3329     3355      +26     
==========================================
+ Hits        70382    70610     +228     
- Misses       1282     1300      +18     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ivoanjo
ivoanjo merged commit f065ac2 into master Oct 6, 2023
@ivoanjo
ivoanjo deleted the ivoanjo/prof-8328-profiler-pid-controller branch October 6, 2023 11:05
@github-actions github-actions Bot added this to the 1.15.0 milestone Oct 6, 2023
ivoanjo added a commit that referenced this pull request Feb 9, 2024
**What does this PR do?**

This PR removes the unused profiler PID controller implementation.

**Motivation:**

In #3190 we imported the PID controller, and planned to use it to
control the allocation profiler. In the end, we ended up going with
a different solution for that (#3395) so let's remove the PID controller
for now.

We can always revert this commit if we need it again.

**Additional Notes:**

N/A

**How to test the change?**

Validate that CI is still green :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

profiling Involves Datadog profiling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants