Excellent initiative, thank you! A couple of drive-by remarks:

1. Seems to naturally belong in the Serviceability group (hereby cc’d), who 
appear to me to be natural sponsors of such an effort

2. I notice in the census (openjdk.org/census#serviceability) that some portion 
of the Serviceability group’s membership has likely retired or moved to working 
on other things. Does it perhaps makes sense to grow the group membership with 
those actively involved in Serviceability-related efforts these days?

/ Ramki (OpenJDK: ysr)
Sent from my iPhone

> On Feb 2, 2024, at 9:15 AM, Jaroslav Bachorík 
> <jaroslav.bacho...@datadoghq.com> wrote:
> 
> 
> I hereby invite discussion of a new Project, "Skogsluft," whose primary goal 
> will be to improve Java's profiling capabilities within Java Flight Recorder 
> (JFR). This project aims to introduce advanced profiling features that bridge 
> the gap between Java and native code execution, and offer more precise and 
> flexible profiling options.
> 
> The focus will be on three key enhancements:
> 
> 1. An improved stackwalker, capable of seamlessly walking mixed Java/native 
> stacks. This will provide developers with a more coherent view of the stack 
> traces, especially in applications where Java and native codes are interwoven.
> 
> 2. A flexible CPU sampler scheduler. On Linux, this will be based on 
> perf_event_open or timer_create systems, and on MacOS, we will utilize 
> itimer. For other operating systems, the system will fall back to standard 
> execution samples. This enhancement aims to offer more accurate and adaptable 
> CPU sampling, taking into account the diverse environments in which Java 
> applications run.
> 
> 3. Labelling support for JFR. This will allow developers to set per-thread 
> key-value labels that are automatically incorporated into any JFR event. Such 
> labelling will provide richer context in profiling data, enabling more 
> targeted analysis and debugging.
> 
> To implement these enhancements, the "Skogsluft" will extend Java's profiling 
> capabilities in JFR with the following approaches:
> 
> Development of a cross-platform stackwalker that integrates native and Java 
> stack frames, ensuring compatibility and efficiency across different 
> operating systems.
> 
> Design and integration of a scheduler for CPU sampling that adapts to the 
> underlying operating system's capabilities, offering both precision and 
> performance.
> 
> Extension of the JFR API to support easy and flexible labelling of threads, 
> ensuring that these labels are consistently captured in profiling data.
> 
> I am looking for an OpenJDK group willing to sponsor this project and provide 
> a person to lead this project.
> 
> For the "Skogsluft" this Project will start with a clone of the current JDK 
> main-line release, JDK 23, and track main-line releases going forward. The 
> project will involve creating a separate repository for the development of 
> these new profiling features, ensuring they are compatible and 
> well-integrated with existing JFR functionalities.
> 
> The "Skogsluft" is expected to deliver the features over time, in a series of 
> JEPs (JDK Enhancement Proposals) that will likely span multiple feature 
> releases. The aim is to eventually integrate these profiling improvements 
> into the standard JDK distributions, enhancing the capabilities of JFR and 
> providing developers with more powerful tools for performance analysis and 
> debugging.
> 
> With regards,
> 
> Jaroslav Bachorik

Reply via email to