| Index: tools/archive_crash.py
|
| ===================================================================
|
| --- tools/archive_crash.py (revision 0)
|
| +++ tools/archive_crash.py (revision 0)
|
| @@ -0,0 +1,51 @@
|
| +#!/usr/bin/env python
|
| +#
|
| +# Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
| +# for details. All rights reserved. Use of this source code is governed by a
|
| +# BSD-style license that can be found in the LICENSE file.
|
| +#
|
| +
|
| +# A script that copies a core file and binary to GCS
|
| +# We expect the dumps to be located in /tmp/coredump_PID directory
|
| +# After we copy out the core files we delete the dumps localy
|
| +
|
| +import os
|
| +import shutil
|
| +import sys
|
| +import subprocess
|
| +import tarfile
|
| +import uuid
|
| +
|
| +GCS_FOLDER = 'dart-crashes'
|
| +
|
| +def CreateTarball(dir, tarname):
|
| + print 'Creating tar file: %s' % (tarname)
|
| + tar = tarfile.open(tarname, mode='w:gz')
|
| + tar.add(dir)
|
| + tar.close()
|
| +
|
| +def CopyToGCS(filename):
|
| + gs_location = 'gs://%s/%s/' % (GCS_FOLDER, uuid.uuid4())
|
| + cmd = ['gsutil', 'cp', filename, gs_location]
|
| + print 'Running command: %s' % (cmd)
|
| + subprocess.check_call(cmd)
|
| + archived_filename = '%s%s' % (gs_location, filename.split('/').pop())
|
| + print 'Dump now available in %s' % (archived_filename)
|
| +
|
| +def Main():
|
| + print 'Looking for crash dumps'
|
| + num_dumps = 0
|
| + for v in os.listdir('/tmp'):
|
| + if v.startswith('coredump'):
|
| + fullpath = '/tmp/%s' % (v)
|
| + if os.path.isdir(fullpath):
|
| + num_dumps += 1
|
| + tarname = '%s.tar.gz' % fullpath
|
| + CreateTarball(fullpath, tarname)
|
| + CopyToGCS(tarname)
|
| + os.unlink(tarname)
|
| + shutil.rmtree(fullpath)
|
| + print 'Found %s core dumps' % (num_dumps)
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(Main())
|
|
|
| Property changes on: tools/archive_crash.py
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
| Added: svn:executable
|
| + *
|
|
|
|
|