YourKit Java Profiler Open Source License Request
Laurent Bourgès
bourges.laurent at gmail.com
Tue May 7 08:44:20 UTC 2013
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
$JAVA_CMD $BOOTCLASSPATH $AGENT $JAVA_OPTS $JAVA_TUNING -cp $CLASSPATH
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.
>
>
More information about the discuss
mailing list