From 521c2d7a66ce5e05d2094001cf69621251581377 Mon Sep 17 00:00:00 2001 From: amorris Date: Wed, 6 May 2009 22:11:02 +0000 Subject: [PATCH] Fixes for gprof multiple file reading. git-svn-id: file:///mnt/fast/tau2git/svnroot/trunk/tau2@7181 a8e31b63-e6ca-409b-a01b-2eec1b506579 --- tools/src/perfdmf/bin/perfdmf.jar | Bin 293487 -> 293562 bytes tools/src/perfdmf/src/GprofDataSource.java | 38 +++++++++++++++------ 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/tools/src/perfdmf/bin/perfdmf.jar b/tools/src/perfdmf/bin/perfdmf.jar index fec964dd69fec4acb67b964f3ff67087021ffe97..38624474ea29b5806a9c396517a9515b19251acd 100644 GIT binary patch delta 9209 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 delta 9161 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 Wr#2$+AXP%o??aZbMq46aHva?Erh~Zv diff --git a/tools/src/perfdmf/src/GprofDataSource.java b/tools/src/perfdmf/src/GprofDataSource.java index 9906bdf2c..7ca0dc975 100644 --- a/tools/src/perfdmf/src/GprofDataSource.java +++ b/tools/src/perfdmf/src/GprofDataSource.java @@ -16,6 +16,8 @@ public class GprofDataSource extends DataSource { private int linenumber = 0; private boolean fixLengths = true; + private String currentFile; + public GprofDataSource(File[] files, boolean fixNames) { super(); this.fixNames = fixNames; @@ -57,6 +59,7 @@ public void load() throws FileNotFoundException, IOException { for (int fIndex = 0; fIndex < files.length; fIndex++) { File file = files[fIndex]; + currentFile = files[fIndex].toString(); //System.out.println("Processing " + file + ", please wait ......"); FileInputStream fileIn = new FileInputStream(file); @@ -77,6 +80,7 @@ public void load() throws FileNotFoundException, IOException { LineData self = null; Vector children = new Vector(); + fixLengths = true; linenumber = 1; while ((inputString = br.readLine()) != null) { if (inputString.startsWith("gmon") && linenumber == 1) { @@ -204,13 +208,14 @@ public void load() throws FileNotFoundException, IOException { private void getFieldLengths(String string) { + System.out.println("FIELD LENGTHS@!!!!"); + /* * parse a line that looks like: index %time self childen * called+self name index ...or... index % time self children called * name index [xxxx] 100.0 xxxx.xx xxxxxxxx.xx xxxxxxx+xxxxxxx ssssss... */ StringTokenizer st = new StringTokenizer(string, " \t\n\r"); - System.out.println(string); String index = st.nextToken(); String percent = st.nextToken(); if (percent.compareTo("%") == 0) @@ -333,8 +338,10 @@ private LineData getSelfLineData(String string) { } private LineData getParentChildLineData(String string) { + //System.out.println("string = " + string); + LineData lineData = new LineData(); - StringTokenizer st1 = new StringTokenizer(string, " \t\n\r"); + StringTokenizer st = new StringTokenizer(string, " \t\n\r"); // unlike the other line parsers, this function assumed a fixed // location for values. That may be erroneous, but I think that @@ -373,34 +380,43 @@ private LineData getParentChildLineData(String string) { */ String tmpStr = string.substring(selfStart, descendantsStart).trim(); - if (tmpStr.length() > 0) + //String tmpStr = st.nextToken(); + if (tmpStr.length() > 0) { lineData.d0 = 1000000.0 * Double.parseDouble(tmpStr); - else + } else { lineData.d0 = 0.0; + } + + System.err.println("Error parsing file: " + currentFile + ", line: " + linenumber); + System.err.println("selfStart: " + selfStart); + System.err.println("descendantsStart: " + descendantsStart); + System.err.println("calledStart: " + calledStart); try { tmpStr = string.substring(descendantsStart, calledStart).trim(); - if (tmpStr.length() > 0) + //tmpStr = st.nextToken(); + if (tmpStr.length() > 0) { lineData.d1 = 1000000.0 * Double.parseDouble(tmpStr); - else + } else { lineData.d1 = 0.0; + } } catch (Exception e) { - System.err.println("Error parsing file, line: " + linenumber); + System.err.println("Error parsing file: " + currentFile + ", line: " + linenumber); System.err.println("selfStart: " + selfStart); System.err.println("descendantsStart: " + descendantsStart); System.err.println("calledStart: " + calledStart); System.err.println(e.getMessage()); - e.printStackTrace(); - System.exit(0); + throw new DataSourceException(e, currentFile); } // check if the counts 'spill' into the name field. String spillTest = string.substring(calledStart, string.length()).trim(); int space = spillTest.indexOf(" "); - if (space > (nameStart - calledStart)) + if (space > (nameStart - calledStart)) { tmpStr = spillTest.substring(0, space).trim(); - else + } else { tmpStr = string.substring(calledStart, nameStart).trim(); + } // check for a ratio if (tmpStr.indexOf("/") >= 0) { StringTokenizer st2 = new StringTokenizer(tmpStr, "/");