[gnome-shell] [perf] Include monitor layout in performance reports



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]