(original) (raw)
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@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@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"</span><brstyle="font−family:couriernew,monospace"><spanstyle="font−family:couriernew,monospace">echo"BootCP:CLASSPATH"</span><br style="font-family:courier new,monospace"><span style="font-family:courier new,monospace">echo "Boot CP: CLASSPATH"</span><brstyle="font−family:couriernew,monospace"><spanstyle="font−family:couriernew,monospace">echo"BootCP: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 BOOTCLASSPATHBOOTCLASSPATH BOOTCLASSPATHAGENT JAVAOPTSJAVA_OPTS JAVAOPTSJAVA_TUNING -cp CLASSPATHit.geosolutions.java2d.MapBenchCLASSPATH it.geosolutions.java2d.MapBench CLASSPATHit.geosolutions.java2d.MapBenchDURATION
opcontrol --shutdown
Thanks for your support,
Laurent
On 05/06/2013 04:12 PM, Laurent Bourg�s wrote:IME it Just Works. �The oprofile shipped with Linux distros has
\> Could you give advices on how to use it with custom OpenJDK builds, andrew
everything you need, and you just need to use -agentpath: when you
start the VM.
Andrew.