aboutsummaryrefslogtreecommitdiff
path: root/src/client/windows/crash_generation/client_info.h
diff options
context:
space:
mode:
authordoshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e>2008-06-06 21:41:32 +0000
committerdoshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e>2008-06-06 21:41:32 +0000
commit3a516e41775099eb27533e7d2b3178c5f353a3a8 (patch)
tree0d1b5d6d316742bdd17a87f2d45998637c23759f /src/client/windows/crash_generation/client_info.h
parentModified symupload to correctly handle spaces in module names when processing... (diff)
downloadbreakpad-3a516e41775099eb27533e7d2b3178c5f353a3a8.tar.xz
Client process uptime is a very useful metric for crashes. Instead of each client process having to keep track of uptime and report it whenever a crash happens, integrate this feature into breakpad OOP code so that all clients get it for free.
I tested this using the test app I have to test OOP stuff. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@280 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/windows/crash_generation/client_info.h')
-rw-r--r--src/client/windows/crash_generation/client_info.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/client/windows/crash_generation/client_info.h b/src/client/windows/crash_generation/client_info.h
index a134d1bb..774816fb 100644
--- a/src/client/windows/crash_generation/client_info.h
+++ b/src/client/windows/crash_generation/client_info.h
@@ -96,6 +96,10 @@ class ClientInfo {
CustomClientInfo GetCustomInfo() const;
private:
+ // Calcualtes the uptime for the client process, converts it to a string and
+ // stores it in the last entry of client custom info.
+ void SetProcessUptime();
+
// Crash generation server.
CrashGenerationServer* crash_server_;
@@ -152,6 +156,10 @@ class ClientInfo {
// Wait handle for process exit event.
HANDLE process_exit_wait_handle_;
+ // Time when the client process started. It is used to determine the uptime
+ // for the client process when it signals a crash.
+ FILETIME start_time_;
+
// Disallow copy ctor and operator=.
ClientInfo(const ClientInfo& client_info);
ClientInfo& operator=(const ClientInfo& client_info);