Comments (11)
JMH 1.24 includes -prof async
.
from async-profiler.
from async-profiler.
@leventov OK, reading the conversation more closely I think I understand your requirement, still not sure async-profiler is the place for it, but lets see.
I believe what you are looking for is a jmh-profiler integration for async-profiler:
- profile only includes the measurement period
- profiler is started with some command line param, e.g: `-prof async-profiler:e=cpu,...
I think I misunderstood what you meant by including only the benchmark methods, I believe what you meant is include only the measurement period, which is the standard way JMH profilers work. That makes sense?
From my recollections of looking at profiler integration for JMH this is very doable, but it's not clear to me that such a project needs to be part of the async-profiler repo. It would make sense IMO to have it in it's own repo, and require users to include it in their "project to be profiled" and expect them to install async-profiler separately. This is consistent with the perf profiler experience(except that it is internal and therefore requires no extra dep).
Makes sense?
from async-profiler.
async-profiler produces output in a simple text format that you can easily filter with grep etc.
from async-profiler.
from async-profiler.
from async-profiler.
@nitsanw in my case @Setup
contains some very heavy stuff, in fact heavier than the execution itself, and it contaminates the profile. It doesn't make the analysis impossible, but harder.
You can say the same thing about JMH's -gc
option - why would you not include GC in benchmarking, it's a part of a real application. But sometimes this option is useful.
from async-profiler.
@apangin yes, it could probably be something as simple as after-the-fact filtering (although I think not as primitive as grep). I just think it's worth to maintain such utility in the async-profiler repository.
from async-profiler.
Why grep is not enough? What else do you expect from the feature?
from async-profiler.
- Async-profiler has both external API and now internal Java API that is enough for integration with other tools.
- There is already AsyncProfiler plugin for JMH available here.
- JMH profilers may depend on external tools (for example, perf or dtrace), but async-profiler hardly depends on JMH.
So, I believe async-profiler requires no further actions regarding this issue.
from async-profiler.
I'm going to contribute an async-profiler integration to JMH. Here's my work so far: retronym/jmh#2
from async-profiler.
Related Issues (20)
- [WARN] Unknown argument: cpu HOT 3
- Introduce filtering by CPU HOT 1
- Compiling for arm32 fails HOT 3
- Profiling crashes in NMethod::isNMethod with JDK 23-ea HOT 3
- How can openjdk1.8 use async-profile -e alloc without installing debug symbols HOT 19
- What's the exact overhead of using cpu profiling? HOT 1
- Fails to build with Java >20 HOT 1
- Why Cannot StackTrace Be Found Using stackTraceId After LiveObject Is Enabled? HOT 11
- Support debuginfod HOT 1
- Why Are the Number of Threads and Thread IDs in the Profiler::instance()->threadFilter() Inaccurate? HOT 1
- build error when running make HOT 1
- Native errors when running async-profiler with JNI library HOT 2
- Segmentation fault on Azul Zing HOT 8
- `Unexpected EOF reading response` when running `asprof stop` after multiple collections HOT 2
- How to Enable Profiling in Kubernetes Pods? HOT 2
- Attach process is crash when asprof HOT 3
- Could not find agent library /mnt/libasyncProfiler.so in absolute path libstdc++.so.6: cannot open shared object file: No such file or directory HOT 7
- Cannot use BPF with asprof HOT 11
- Why'live' option is only supported on OpenJDK 11+, why JDK8 is not supported, is it a JDK limitation or async-profiler implementation limitation? HOT 1
- Converter with jfr2heat in main branch? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from async-profiler.