summaryrefslogtreecommitdiff
path: root/dump-build-times
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2013-02-20 15:55:19 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2013-03-13 15:20:02 +0000
commit79a6f05bbf70a4fa10b1b426ef9f223d5cbaf3ee (patch)
tree042b615d802a7916ad43c0529fba13e3ffd42068 /dump-build-times
parent31b23c4460545bb41d5907524ff56fd272d44ffe (diff)
downloadmorph-79a6f05bbf70a4fa10b1b426ef9f223d5cbaf3ee.tar.gz
Remove old bootstrap mechanisms
That means that bootstrapping Baserock is currently not possible with this branch of Morph, but there's no reason it cannot be bootstrapped using an older version of Morph instead.
Diffstat (limited to 'dump-build-times')
-rwxr-xr-xdump-build-times75
1 files changed, 0 insertions, 75 deletions
diff --git a/dump-build-times b/dump-build-times
deleted file mode 100755
index 48fdca65..00000000
--- a/dump-build-times
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (C) 2012 Codethink Limited
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-
-import cliapp
-import glob
-import json
-import os
-import re
-import StringIO
-
-
-class ExtractBuildTimes(cliapp.Application):
-
- '''Extracts build times of chunks in a morph cache directory.
-
- Given a morph cache directory as the first argument, this app finds all
- cached chunks, loads their meta data and prints their build times.
-
- '''
-
- def process_args(self, args):
- cachedir = args[0]
-
- def chunk_hash(chunk):
- short = re.split('\.', chunk)
- return os.path.basename(short[-3])
-
- def chunk_name(chunk):
- short = re.split('\.', chunk)
- return short[-1]
-
- chunks = glob.glob(os.path.join(cachedir, '*.chunk.*'))
- items = []
-
- for chunk in chunks:
- hash = chunk_hash(chunk)
- metafile = os.path.join(cachedir, '%s.meta' % hash)
- with open(metafile) as f:
- data = f.read()
- io = StringIO.StringIO(data)
- metainfo = json.load(io)
- time = metainfo['build-times']['overall-build']['delta']
- minutes = float(time) / 60.0
- items.append((chunk_name(chunk), minutes))
-
- items = sorted(items, key=lambda x: x[1], reverse=True)
- print '%s' % (43 * '-')
- print 'Build times of cached chunks in'
- print '%s' % cachedir
- print '%s' % (43 * '-')
- sum = 0.0
- for name, time in items:
- print '%30s: %6.1f mins' % (name, time)
- sum += time
- print '%s' % (43 * '-')
- print '%30s: %6.1f mins' % ('total', sum)
-
-
-if __name__ == '__main__':
- ExtractBuildTimes().run()