Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(261)

Unified Diff: tools/archive_crash.py

Issue 145273024: Add support for copying coredumps to /tmp (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
+ *
« no previous file with comments | « no previous file | tools/test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698