Comments (9)
It doesn't profile warmups, you only get telemetry for warmups. That's normal, both Yourkit and JProfiler collect telemetry as soon as they are loaded. The actual CPU and memory hotspots are only from the profiled run.
@ingokegel is there some way to get a snapshot that starts at the moment the recording was started instead of when the agent was loaded?
from gradle-profiler.
Adding
invoke("startVMTelemetryRecording");
to JProfilerController.startNow()
would clear the previous telemetry data. I'm not sure if that improves anything, though. The bookmarks in the telemetry views already show where the recording has started. Also, clearing the telemetry would not reset the time origin of the snapshot (this is currently not possible).
from gradle-profiler.
Thanks Ingo. The same is true for YourKit, so nothing we can change from the Gradle Profiler side.
from gradle-profiler.
Ah, I was meaning to ask about bookmarks - that certainly does the trick. By bookmarks do you mean the message events? I see the CPU sampling started/stopped event. Would it make sense to add other useful events from the chrome trace, like tasks starting?
from gradle-profiler.
That would only work when using method instrumentation, which adds a lot of overhead and skews the results. That being said, there is an open issue to support YourKit probes (#23), which would probably allow you to get this kind of more detailed info.
from gradle-profiler.
Why would you need method instrumentation though? Can't you use the same signals the chrome trace output is using? I generated both outputs in a single run of gradle-profiler, so I expected the traces in the chrome trace could just be added to the YourKit snapshot.
from gradle-profiler.
Oh I get it now, you'd inject logic that talks to the yourkit agent. Makes sense. Would you be interested to to look into this?
from gradle-profiler.
from gradle-profiler.
Closing since there was no more development here.
from gradle-profiler.
Related Issues (20)
- Sync profiling with Android Studio fails in the headless mode with Hedgehog and Iguana HOT 1
- When _can_ `ClearBuildCacheMutator(BUILD)` be used? HOT 1
- Add Android Studio sync integration test with a basic Android project
- Automate testing Android Studio previews
- ApplyAbiChangeToKotlinSourceFileMutator doesn't put separator HOT 1
- Android Studio sync benchmark times out on larger projects HOT 1
- Android Studio Jellyfish Canary 2 can't load GradleProfilerStartupActivity HOT 4
- Evaluate and possibly use `intellij-ide-starter` for AS sync logic
- How to create the profiling scenarios for different JDK versions HOT 1
- Issue with configuration cache and gradle 8.3
- Strings written into Chrome trace JSON output are not escaped properly
- Difficulty Running Android Studio Sync Benchmark in Headless Docker Environment HOT 2
- Make profile output directory customizable HOT 2
- Add support for profiling Gradle syncs with IntelliJ 2023.3+
- Crash with android-studio-sync in 0.21.17-alpha* HOT 3
- Profiling a Gradle sync mixes up output traces
- Fix doc info HOT 1
- Update ClearArtifactTransformCacheMutator cache locations
- Missing buildscan URL if configuration-cache is enabled
- Could not execute build using connection to Gradle distribution
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 gradle-profiler.