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

Unified Diff: components/browser_watcher/stability_report.proto

Issue 2128683002: Collect unclean shutdown debug information (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@tracker
Patch Set: Merge Created 4 years, 3 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
Index: components/browser_watcher/stability_report.proto
diff --git a/components/browser_watcher/stability_report.proto b/components/browser_watcher/stability_report.proto
new file mode 100644
index 0000000000000000000000000000000000000000..74f886f39d8481c31ebba73d5057491ebe94ecb0
--- /dev/null
+++ b/components/browser_watcher/stability_report.proto
@@ -0,0 +1,76 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+syntax = "proto2";
+
+option optimize_for = LITE_RUNTIME;
+
+package browser_watcher;
+
+// The state of the system on which Chrome is running (shutting down, battery
+// level, load, etc.).
+message SystemState {
+ // TODO(manzagop): flesh out.
+}
+
+message CodeModule {
+ // The base address of this code module as it was loaded by the process.
+ optional int64 base_address = 1;
+
+ // The size of the code module.
+ optional int64 size = 2;
+
+ // The path or file name that the code module was loaded from.
+ optional string code_file = 3;
+
+ // An identifying string used to discriminate between multiple versions and
+ // builds of the same code module. This may contain a uuid, timestamp,
+ // version number, or any combination of this or other information, in an
+ // implementation-defined format.
+ optional string code_identifier = 4;
+
+ // The filename containing debugging information associated with the code
+ // module. If debugging information is stored in a file separate from the
+ // code module itself (as is the case when .pdb or .dSYM files are used),
+ // this will be different from code_file. If debugging information is
+ // stored in the code module itself (possibly prior to stripping), this
+ // will be the same as code_file.
+ optional string debug_file = 5;
+
+ // An identifying string similar to code_identifier, but identifies a
+ // specific version and build of the associated debug file. This may be
+ // the same as code_identifier when the debug_file and code_file are
+ // identical or when the same identifier is used to identify distinct
+ // debug and code files.
+ optional string debug_identifier = 6;
+
+ // A human-readable representation of the code module's version.
+ optional string version = 7;
+}
+
+// The state of a thread.
+message ThreadState {
+ optional string thread_name = 1;
+ // TODO(manzagop): flesh out.
+}
+
+// The state of a process.
+message ProcessState {
+ repeated CodeModule modules = 1;
+ repeated ThreadState threads = 2;
+ // TODO(manzagop): add experiment state.
+}
+
+// A stability report contains information pertaining to the execution of a
+// single logical instance of a "chrome browser". It it comprised of information
+// about the system state and about the chrome browser's processes.
+message StabilityReport {
+ optional SystemState system_state = 1;
+ // TODO(manzagop): revisit whether a single repeated field should contain all
+ // processes, or whether it's preferable to have separate fields per type.
+ // TODO(manzagop): add information about the type of process, pid, process
+ // times (e.g. start time), hierarchical relationships (e.g. parent pid),
+ // command line, etc.
+ repeated ProcessState process_states = 2;
+}

Powered by Google App Engine
This is Rietveld 408576698