[gnome-shell] [perf] Include monitor layout in performance reports
- From: Owen Taylor <otaylor src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] [perf] Include monitor layout in performance reports
- Date: Fri, 21 May 2010 16:35:17 +0000 (UTC)
commit e7220591ba093950f63297ef26a01310186fbd07
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Tue May 18 19:13:56 2010 -0400
[perf] Include monitor layout in performance reports
Add extra key, 'monitors' to performance reports which is an
array of strings:
*<width>x<height>+<x>+<y>
Where * marks the primary monitor.
https://bugzilla.gnome.org/show_bug.cgi?id=618189
js/ui/scripting.js | 17 +++++++++++++++++
src/gnome-shell.in | 4 +++-
2 files changed, 20 insertions(+), 1 deletions(-)
---
diff --git a/js/ui/scripting.js b/js/ui/scripting.js
index 07da764..0addd54 100644
--- a/js/ui/scripting.js
+++ b/js/ui/scripting.js
@@ -148,6 +148,23 @@ function _collect(scriptModule, outputFile) {
Shell.write_string_to_stream(out, '"events":\n');
Shell.PerfLog.get_default().dump_events(out);
+ let monitors = global.get_monitors()
+ let primary = global.get_primary_monitor()
+ Shell.write_string_to_stream(out, ',\n"monitors":\n[');
+ for (let i = 0; i < monitors.length; i++) {
+ let monitor = monitors[i];
+ let is_primary = (monitor.x == primary.x &&
+ monitor.y == primary.y &&
+ monitor.width == primary.width &&
+ monitor.height == primary.height);
+ if (i != 0)
+ Shell.write_string_to_stream(out, ', ');
+ Shell.write_string_to_stream(out, '"%s%dx%d+%d+%d"'.format(is_primary ? "*" : "",
+ monitor.width, monitor.height,
+ monitor.x, monitor.y));
+ }
+ Shell.write_string_to_stream(out, ' ]');
+
Shell.write_string_to_stream(out, ',\n"metrics":\n[ ');
let first = true;
for (let name in scriptModule.METRICS) {
diff --git a/src/gnome-shell.in b/src/gnome-shell.in
index a0d23c9..a1998c0 100644
--- a/src/gnome-shell.in
+++ b/src/gnome-shell.in
@@ -313,9 +313,10 @@ def run_performance_test():
finally:
os.remove(output_file)
- # Grab the event definitions the first time around
+ # Grab the event definitions and monitor layout the first time around
if i == 0:
events = output['events']
+ monitors = output['monitors']
if options.perf_warmup and i == 0:
continue
@@ -344,6 +345,7 @@ def run_performance_test():
report = {
'date': datetime.datetime.now().isoformat(),
'events': events,
+ 'monitors': monitors,
'metrics': metric_summaries,
'logs': logs
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]