Use https for stack trace upload.

Add an explicit Register() function to be called outside of this file.
Send the host fqdn to help know from where the exception comes. It is useful when a build slave throws an exception.

Review URL: http://codereview.chromium.org/2327003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@48455 0039d316-1c4b-4281-b951-d872f2087c98
experimental/szager/collated-output
maruel@chromium.org 15 years ago
parent a8e36cbb3a
commit ce921b2023

@ -13,10 +13,15 @@ import traceback
import socket
import sys
# Configure these values.
DEFAULT_URL = 'http://chromium-status.appspot.com/breakpad'
DEFAULT_URL = 'https://chromium-status.appspot.com/breakpad'
_REGISTERED = False
def SendStack(last_tb, stack, url=None):
"""Sends the stack trace to the breakpad server."""
if not url:
url = DEFAULT_URL
print 'Sending crash report ...'
@ -26,6 +31,7 @@ def SendStack(last_tb, stack, url=None):
'stack': stack,
'user': getpass.getuser(),
'exception': last_tb,
'host': socket.getfqdn(),
}
request = urllib.urlopen(url, urllib.urlencode(params))
print request.read()
@ -35,6 +41,7 @@ def SendStack(last_tb, stack, url=None):
def CheckForException():
"""Runs at exit. Look if there was an exception active."""
last_value = getattr(sys, 'last_value', None)
if last_value and not isinstance(last_value, KeyboardInterrupt):
last_tb = getattr(sys, 'last_traceback', None)
@ -42,7 +49,19 @@ def CheckForException():
SendStack(repr(last_value), ''.join(traceback.format_tb(last_tb)))
def Register():
"""Registers the callback at exit. Calling it multiple times is no-op."""
global _REGISTERED
if _REGISTERED:
return
_REGISTERED = True
atexit.register(CheckForException)
# Skip unit tests and we don't want anything from non-googler.
if (not 'test' in sys.modules['__main__'].__file__ and
socket.getfqdn().endswith('.google.com')):
# Skip unit tests and we don't want anything from non-googler.
atexit.register(CheckForException)
Register()
# Uncomment this line if you want to test it out.
#Register()

Loading…
Cancel
Save