Comments (5)
I checked and the .jfc
file format seems to have been version-revved for JDK9, there are at least minor schema changes and they are neither forward nor backward compatible. I predict that a different or filtered version of the modified profile config gradle.jfc
is going to be needed for JDK8 and 9.
JDK8:
<configuration version="1.0" name="Profiling" description="Low overhead configuration for profiling, typically around 2 % overhead." provider="Oracle">
JDK9:
<configuration version="2.0" label="Profiling" description="Low overhead configuration for profiling, typically around 2 % overhead." provider="Oracle">
Note version
and addition of label
at least. I don't know yet what other schema changes might be in-effect. Testing log below, on macos but same on Linux with Oracle JDK.
$ ./gradlew -Dorg.gradle.jvmargs="-XX:+UnlockCommercialFeatures -XX:+FlightRecorder" help
$ jcmd
1795 org.gradle.launcher.daemon.bootstrap.GradleDaemon 4.8
$ jcmd 1795 JFR.start settings=src/main/resources/org/gradle/profiler/jfr/gradle.jfc
1795:
Could not parse setting src/main/resources/org/gradle/profiler/jfr/gradle.jfc
$ jcmd 1795 JFR.start settings=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/lib/jfr/profile.jfc
1795:
Started recording 1. No limit specified, using maxsize=250MB as default.
Use JFR.dump name=1 filename=FILEPATH to copy recording data to file.
from gradle-profiler.
At first I thought you weren't using an Oracle JDK, but it actually is trying to parse the settings file. Odd, I haven't seen that before. Maybe the configuration format changed between JVM releases? Or did the temp file creation not work on your machine?
from gradle-profiler.
I think I'll try this again on Linux in case there is macos jvm or tooling foo. Does the profiler project have public builds, where? I guess they run jdk8.
from gradle-profiler.
Thanks for checking, that's super helpful! I'll add a config file for Java 9.
from gradle-profiler.
I made it run on Java 9, though it won't produce flame graphs yet (see #77). That API has changed too :/
from gradle-profiler.
Related Issues (20)
- 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 2
- 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 HOT 1
- Using Gradle 8.8 fails `android-studio-sync` with `invalid type code: 0C`
- Output a standalone JSON artifact
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.