Hide Memory Profiler results based on class in allocation stacktrace?
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 3.3k
- Forks
- 334
- PR merge metrics
- No merged PRs in 30d
Description
I'm profiling memory and I'm not restricting classes in the Memory settings tab so that I can find allocations of all possible classes (Profile classes contains "*").
This works pretty good and I find f.i. "java.lang.Float" instances that I do actually create in my program (my classes are showing up in the allocation stack trace).
However, there are entries showing up that don't belong to any of my classes and which I suspect are maybe a side effect of the profiling itself, f.i javax.managment.openmbean.CompositeDataSupport or some java.io.ObjectOutputStream:
Is there a way to somehow hide results like that?
What is the origin of these allocations?
Thanks!
EDIT: If I don't limit the allocation stacktrace I can trace these back to some RMI/TCP connection that I suspect is maybe part of how jVisualVM gets its data from the process it profiles?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Memory settings tab, the Profile classes filter, and the allocation stack trace view described in the report. Investigate the RMI/TCP path shown in the unlimited stack trace to determine whether these allocations originate from VisualVM's profiling connection. Done means the allocation origin is explained and the supported way to hide or filter such results is clearly established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100