[OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request (original) (raw)
Laurent Bourgès bourges.laurent at gmail.com
Tue May 7 08:44:20 UTC 2013
- Previous message: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request
- Next message: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Andrew,
I confirm oprofile (0.96 on my fedora 14) works just fine (see below).
Do you recommend me to use the latest (git) version ? 0.96 is quite old (2011)
Could you explain me a bit how to get sample counts corresponding to the complete benchmark (few minutes long) ? should I use the event argument to set the highest count (reset) value ?
By default, oprofile uses: CPU_CLK_UNHALTED:100000:0:1:1
opcontrol --event=CPU_CLK_UNHALTED:400000
What is the maximum value I can set ?
[bourgesl at jmmc-laurent test]$ opreport -l -t 0.1 | grep pisces CPU: Intel Westmere microarchitecture, speed 2800 MHz (estimated) *Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 100000 *1513281 37.5074 9729.jo java int sun.java2d.pisces.Renderer$ScanlineIterator.next() 648128 16.0642 9729.jo java void sun.java2d.pisces.Renderer._endRendering(int, int, int, int)~1 394000 9.7655 9729.jo java void sun.java2d.pisces.Renderer.addLine(float, float, float, float) 101770 2.5224 9729.jo java void sun.java2d.pisces.PiscesTileGenerator.getAlpha(byte[], int, int) 98196 2.4338 9729.jo java void sun.java2d.pisces.Stroker.quadTo(float, float, float, float) 92658 2.2966 9729.jo java void sun.java2d.pisces.PiscesCache.copyAARow(int[], int, int, int) 74131 1.8374 9729.jo java void sun.java2d.pisces.PiscesRenderingEngine.pathTo(float[], java.awt.geom.PathIterator, sun.awt.geom.PathConsumer2D) 53440 1.3245 9729.jo java void sun.java2d.pisces.Renderer.quadTo(float, float, float, float) 44042 1.0916 9729.jo java void sun.java2d.pisces.Stroker.lineTo(float, float) 35301 0.8750 9729.jo java int sun.java2d.pisces.Stroker.computeOffsetQuad(float[], int, float[], float[]) 34214 0.8480 9729.jo java void sun.java2d.pisces.Stroker.drawRoundJoin(float, float, float, float, float, float, boolean, float) 33533 0.8311 9729.jo java void sun.java2d.pisces.Renderer.curveBreakIntoLinesAndAdd(float, float, sun.java2d.pisces.Curve, float, float) 33051 0.8192 9729.jo java void sun.java2d.pisces.PiscesRenderingEngine.strokeTo(sun.java2d.pisces.RendererContext, java.awt.Shape, java.awt.geom.AffineTransform, float, sun.java2d.pisces.PiscesRenderingEngine$NormMode, int, int, float, float[], float, sun.awt.geom.PathConsumer2D) 32941 0.8165 9729.jo java float sun.java2d.pisces.Curve.falsePositionROCsqMinusX(float, float, float, float) 32398 0.8030 9729.jo java int sun.java2d.pisces.PiscesRenderingEngine$NormalizingPathIterator.currentSegment(float[]) 30308 0.7512 9729.jo java void sun.java2d.pisces.Stroker.emitReverse() 23163 0.5741 9729.jo java int sun.java2d.pisces.Stroker.findSubdivPoints(sun.java2d.pisces.Curve, float[], float[], int, float) 20532 0.5089 9729.jo java int sun.java2d.pisces.Curve.rootsOfROCMinusW(float[], int, float, float) 14668 0.3636 9729.jo java void sun.java2d.pisces.Stroker.finish() 10103 0.2504 9729.jo java void sun.java2d.pisces.Stroker.emitCurveTo(float, float, float, float, float, float, float, float, boolean) 7497 0.1858 9729.jo java void sun.java2d.pisces.Stroker.drawJoin(float, float, float, float, float, float, float, float, float, float) 7115 0.1763 9729.jo java int sun.java2d.pisces.Helpers.cubicRootsInAB(float, float, float, float, float[], int, float, float) 6183 0.1532 9729.jo java void sun.java2d.pisces.Dasher.lineTo(float, float) 4962 0.1230 9729.jo java void sun.java2d.pisces.Renderer.curveTo(float, float, float, float, float, float) 4681 0.1160 9729.jo java boolean sun.java2d.pisces.Renderer.endRendering()
FYI, here is the shell script I run: [bourgesl at jmmc-laurent test]$ cat profile.sh JAVA_OPTS="-server -XX:+PrintCommandLineFlags -XX:-PrintFlagsFinal -XX:-TieredCompilation " JAVA_TUNING="-Xms128m -Xmx128m" #JAVA_TUNING="-Xms2048m -Xmx2048m"
CLASSPATH=/home/bourgesl/NetBeansProjects/PiscesTests/dist/Java2DPiscesTests.jar
BOOTCLASSPATH=""
DURATION="2000"
echo "CP: $CLASSPATH" echo "Boot CP: $BOOTCLASSPATH"
echo "JVM path" which java
echo "Java version" java -version
- JAVA_CMD="/home/bourgesl/libs/openjdk/jdk8/build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/java"
AGENT="-agentpath:/usr/lib64/oprofile/libjvmti_oprofile.so"
opcontrol --event=default
opcontrol --no-vmlinux
opcontrol --init opcontrol --start JAVACMDJAVA_CMD JAVACMDBOOTCLASSPATH AGENTAGENT AGENTJAVA_OPTS JAVATUNING−cpJAVA_TUNING -cp JAVATUNING−cpCLASSPATH it.geosolutions.java2d.MapBench $DURATION
opcontrol --shutdown
- Thanks for your support, Laurent
2013/5/6 Andrew Haley <aph at redhat.com>
On 05/06/2013 04:12 PM, Laurent Bourgès wrote: > Could you give advices on how to use it with custom OpenJDK builds, andrew
IME it Just Works. The oprofile shipped with Linux distros has everything you need, and you just need to use -agentpath: when you start the VM. Andrew. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20130507/392a01ca/attachment.html>
- Previous message: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request
- Next message: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]