Skip to content

8342818: Implement JEP 509: JFR CPU-Time Profiling#25302

Closed
parttimenerd wants to merge 146 commits into
openjdk:masterfrom
parttimenerd:parttimenerd_cooperative_cpu_time_sampler
Closed

8342818: Implement JEP 509: JFR CPU-Time Profiling#25302
parttimenerd wants to merge 146 commits into
openjdk:masterfrom
parttimenerd:parttimenerd_cooperative_cpu_time_sampler

Conversation

@parttimenerd

@parttimenerd parttimenerd commented May 19, 2025

Copy link
Copy Markdown
Contributor

This is the code for the JEP 509: CPU Time based profiling for JFR.

Currently tested using this test suite. This runs profiles the Renaissance benchmark with

  • ... different heap sizes
  • ... different GCs
  • ... different samplers (the standard JFR and the new CPU Time Sampler and both)
  • ... different JFR recording durations
  • ... different chunk-sizes

Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue

Issue

  • JDK-8342818: Implement JEP 509: JFR CPU-Time Profiling (Enhancement - P4)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25302/head:pull/25302
$ git checkout pull/25302

Update a local copy of the PR:
$ git checkout pull/25302
$ git pull https://git.openjdk.org/jdk.git pull/25302/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 25302

View PR using the GUI difftool:
$ git pr show -t 25302

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25302.diff

Using Webrev

Link to Webrev Comment

@parttimenerd parttimenerd changed the title Parttimenerd cooperative cpu time sampler 8337789: JEP 509: JFR CPU-Time Profiling (Experimental) May 19, 2025
Comment thread src/hotspot/share/jfr/periodic/sampling/jfrThreadSampling.cpp Outdated
Comment thread src/hotspot/os/posix/signals_posix.cpp Outdated
Comment thread src/hotspot/share/jfr/periodic/sampling/jfrSampleRequest.cpp Outdated
Comment thread src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.cpp Outdated
Comment thread src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.cpp
Comment thread src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.cpp Outdated
@openjdk openjdk Bot added the ready Pull request is ready to be integrated label Jun 4, 2025
@mgronlun

mgronlun commented Jun 4, 2025

Copy link
Copy Markdown

I am waiting for the basic CI pre-tests to come back green before I approve for integration.

No sweat, the cutoff is in CST :) and branching usually happens later in the day.

@parttimenerd

Copy link
Copy Markdown
Contributor Author

I know, but I want to get over it today(ish).

@mgronlun mgronlun 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.

Ship it!

@mgronlun

mgronlun commented Jun 4, 2025

Copy link
Copy Markdown

I know, but I want to get over it today(ish).

Go for it.

@parttimenerd

Copy link
Copy Markdown
Contributor Author

So I'm just waiting for Skara?

@mgronlun

mgronlun commented Jun 4, 2025

Copy link
Copy Markdown

So I'm just waiting for Skara?

You can issue the integrate command.

@parttimenerd

Copy link
Copy Markdown
Contributor Author

/integrate

@openjdk

openjdk Bot commented Jun 4, 2025

Copy link
Copy Markdown

Going to push as commit 5b27e9c.
Since your change was applied there have been 18 commits pushed to the master branch:

Your commit was automatically rebased without conflicts.

@openjdk openjdk Bot added the integrated Pull request has been integrated label Jun 4, 2025
@openjdk openjdk Bot closed this Jun 4, 2025
@openjdk openjdk Bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Jun 4, 2025
@openjdk

openjdk Bot commented Jun 4, 2025

Copy link
Copy Markdown

@parttimenerd Pushed as commit 5b27e9c.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@mgronlun

mgronlun commented Jun 4, 2025

Copy link
Copy Markdown

Well done - now take some well-deserved rest. I'll monitor the first stages of integration.

@parttimenerd

Copy link
Copy Markdown
Contributor Author

Thanks, good night.

@mgronlun

mgronlun commented Jun 4, 2025

Copy link
Copy Markdown

Hope you have not got to sleep yet:

jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails on Linux.

Comment thread src/hotspot/share/jfr/periodic/sampling/jfrCPUTimeThreadSampler.cpp
@parttimenerd

Copy link
Copy Markdown
Contributor Author

I'm on it, darn.

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

Development

Successfully merging this pull request may close these issues.