Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NB 21 (and 20 too) focused profiler does not work with project source level > 11 #7323

Open
agharta opened this issue Apr 23, 2024 · 7 comments
Labels
Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) kind:bug Bug report or fix profiler

Comments

@agharta
Copy link

agharta commented Apr 23, 2024

Apache NetBeans version

Apache NetBeans 21

What happened

The focused (instrumented) profiler over selected classes & selected methods does not works with source level > 11 (tested with 17 & 21).
No profiler data is collected, no threads are catched by profiler tool.
General (sampled) profiler works fine.

Language / Project Type / NetBeans Component

Java (ant or maven tested) based application

How to reproduce

Create a sample application (eg: anagram game in NB Ant samples) with NB 21 (or 20) and installed JDK >= 17 (I've tested the problem with both 17 and 21).

Keep (in case of anagram game) source level to 8, run profiler in "methods" mode, go to "focused (instrumented) mode" and select "selected classes" or "selected methods" to profile.
Profile (run) project.
Invoke the profiled selected class or method: you can see collected data in profiler. The running thread is catched and profiled.

Switch source level to 11 and run the same steps with the profiler: all fine.

Finally, repeat the same steps with source level to 11 or 21: failed!
No classes/methods will be profiled and profiler cannot find any thread in thread selection.

Some screenshots about settings:
image

image

image

Did this work correctly in an earlier version?

Apache NetBeans 16 or earlier

Operating System

FEDORA 39

JDK

OpenJDK 64-Bit Server VM (Red_Hat-17.0.9.0.9-4) (build 17.0.9+9, mixed mode, sharing)

Apache NetBeans packaging

Apache NetBeans binary zip

Anything else

Tested with vanilla NB 20 & 21: no customization & no external plugins.
Tested with vanilla Fedora 39 builtin rpm java (17 & 21) packages too.
Tested with external (Oracle, Adoptium) JDKs.

The problem seems related to the inability of profiler to catch the running thread (IMHO).

Are you willing to submit a pull request?

No

@agharta agharta added kind:bug Bug report or fix needs:triage Requires attention from one of the committers labels Apr 23, 2024
@agharta agharta changed the title NB 21 (and 20 too) focused profiler does not works with project source level > 11 NB 21 (and 20 too) focused profiler does not work with project source level > 11 Apr 23, 2024
@mbien mbien added Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) profiler labels Apr 24, 2024
@agharta
Copy link
Author

agharta commented Apr 24, 2024

Hi all,
FYI, verified: any source level > 11 causes the profiler not to function as expected.
What could be the problem?
Many thanks.

@mbien mbien removed the needs:triage Requires attention from one of the committers label May 23, 2024
@mbien
Copy link
Member

mbien commented May 23, 2024

can confirm that bumping the source level above 11 will break the method profiler

@neilcsmith-net
Copy link
Member

@mbien check out #2949 One possibility might be to look at consuming the VisualVM code as a library? It's published to Maven - https://central.sonatype.com/artifact/org.graalvm.visualvm.modules/org-graalvm-visualvm-lib-profiler

@mbien
Copy link
Member

mbien commented May 23, 2024

@neilcsmith-net well, tbh I don't use the NB profiler at all personally - https://github.com/async-profiler/async-profiler took over all my profiling needs, it truly is an awesome tool and completely IDE independent.

Thats why I didn't plan to put time into this, I would have quickly checked if it is fixable thats all ;)

@neilcsmith-net
Copy link
Member

@mbien me neither most of the time. Having the profiler slowly decaying and no-one working on it is not a solution - either we need someone to work on it, we integrate with a third-party library, or we drop it and look at third-party tool integration instead?

@mbien
Copy link
Member

mbien commented May 23, 2024

@neilcsmith-net i mean async-profiler generates HTML flame graphs (e.g #4095) and directly connects via PID, so the integration would be a few buttons which map to CLI lines most likely.

no windows support though.

edit: but yes I agree that we should retire unmaintained functionality

@ralfuslongus
Copy link

I just stumbled upon this bug today with the same conditions: NB21, JDK21, sourcelevel21, Focused(instrumented) profiling. I use netbeans and all the build-in-tools like the profiler, git-support, maven ... a LOT the last 15 years in a offline environment without access to the internet, so i was very happy that netbeans comes "with batteries includes": Download, unzip and ready to rumble.
It would be a shame for such a beautiful, solid IDE to starve slowly.
So: please, please, fix this if you can :-)
Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Java [ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form) kind:bug Bug report or fix profiler
Projects
None yet
Development

No branches or pull requests

4 participants