aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTimotej Kapus <tk1713@ic.ac.uk>2018-06-07 17:15:28 +0100
committerMartinNowack <martin.nowack@gmail.com>2019-04-04 20:37:41 +0100
commit3b8274f9e5bb667d77ee33ad094e257d0c4c03b8 (patch)
tree51a1e26974c77589a6e165560cf049487baaa45e
parentfcaf7fdf5ce2aea2799598ee7de5c8f22ef95f5d (diff)
downloadklee-3b8274f9e5bb667d77ee33ad094e257d0c4c03b8.tar.gz
Remove linechart for klee-stats
-rwxr-xr-xtools/klee-stats/klee-stats89
1 files changed, 1 insertions, 88 deletions
diff --git a/tools/klee-stats/klee-stats b/tools/klee-stats/klee-stats
index 32d57219..83537ef1 100755
--- a/tools/klee-stats/klee-stats
+++ b/tools/klee-stats/klee-stats
@@ -202,56 +202,6 @@ def getRow(record, stats, pr):
return row
-def drawLineChart(vectors, titles):
- """Draw a line chart based on data from vectors.
-
- Args:
- vectors: A list of vectors. Each vector is drawn in a separate
- subchart.
- titles: A list of strings. Each string is an explanation of the
- corresponding vector.
- """
- try:
- import matplotlib
- matplotlib.use('Agg') # plot without X-server connection
- import matplotlib.pyplot as plt
- except:
- print('Error: Package "matplotlib" required for figure plotting. '
- 'Please install it using "pip" or your package manager.',
- file=sys.stderr)
- exit(1)
- from math import sqrt, ceil
-
- nFigs = len(vectors) # number of subfigures
- nRow = int(sqrt(nFigs)) # number of rows in the figure
- nCol = ceil(nFigs / nRow) # number of columns in the figure
-
- fig = plt.figure()
- for i in range(nFigs):
- ax = fig.add_subplot(nRow, nCol, i+1)
- ax.plot(vectors[i])
- ax.set_title(titles[i])
- #ax.set_xlabel()
- #ax.set_ylabel()
-
- #fig.show()
- #raw_input('Press any key to continue..')
-
- def getFileName():
- """Get a unused file name in current directory."""
- i = 0
- fileName = 'fig-klee-stats-{0}.png'.format(i)
- while os.path.exists(fileName):
- i = i + 1
- fileName = 'fig-klee-stats-{0}.png'.format(i)
- return fileName
-
- plt.savefig(getFileName(),
- dpi=150, # dots-per-inch, default: 100
- bbox_inches='tight', # tighter bbox
- transparent=False)
-
-
def grafana(dirs):
dr = getLogFile(dirs[0])
from flask import Flask, jsonify, request
@@ -347,13 +297,6 @@ def main():
'rst', 'mediawiki', 'latex', 'klee'],
dest='tableFormat', default='klee',
help='Table format for the summary.')
- parser.add_argument('--draw-line-chart',
- dest='drawLineChart', metavar='header-list',
- help='Draw line chart for a list of columns. '
- 'Columns must be chosen from the headers of the '
- 'table outputted and separated by comma (e.g., '
- '--draw-line-chart=Instrs,Time). Data points '
- 'on x-axis correspond to lines in run.stats.')
parser.add_argument('--sample-interval', dest='sampleInterv',
type=isPositiveInt, default='10', metavar='n',
help='Sample a data point every n lines for a '
@@ -520,36 +463,6 @@ def main():
stream = '\n'.join(stream)
print(stream)
- if args.drawLineChart:
- if len(dirs) != 1:
- print('--draw-line-chart only supports using a single file',
- file=sys.stderr)
- exit(1)
-
- # sample according to the given interval
- samples = [r for i, r in enumerate(data[0][1])
- if i % args.sampleInterv == 0]
- vectors = []
- for i in range(len(samples)):
- # aggregate all the samples upto the i-th one
- stats = aggregateRecords(samples[:i + 1])
- vectors.append(getRow(samples[i], stats, pr))
-
- titles = args.drawLineChart.split(',')
- # Index returned by getKeyIndex() against labels is starting from
- # 'Path' column. vectors here doesn't have the 'Path' column.
- indices = [getKeyIndex(e, labels) - 1 for e in titles]
- # get one more column to make sure itemgetter always return tuples
- indices.append(0)
- # strip columns not specified by the user
- vectors = map(itemgetter(*indices), vectors)
- # combine elements in the same column into the same tuple
- vectors = list(zip(*vectors))
- # remove the column we get but not needed
- vectors = vectors[:-1]
-
- drawLineChart(vectors, titles)
-
-
+
if __name__ == '__main__':
main()