[llvm-commits] [LNT] r163770 - in /lnt/trunk/lnt/server: reporting/analysis.py reporting/dailyreport.py ui/templates/v4_daily_report.html

Daniel Dunbar daniel at zuster.org
Wed Sep 12 18:39:41 PDT 2012


Author: ddunbar
Date: Wed Sep 12 20:39:41 2012
New Revision: 163770

URL: http://llvm.org/viewvc/llvm-project?rev=163770&view=rev
Log:
[dailyreport] Limit view to only "interesting" results.

Modified:
    lnt/trunk/lnt/server/reporting/analysis.py
    lnt/trunk/lnt/server/reporting/dailyreport.py
    lnt/trunk/lnt/server/ui/templates/v4_daily_report.html

Modified: lnt/trunk/lnt/server/reporting/analysis.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/reporting/analysis.py?rev=163770&r1=163769&r2=163770&view=diff
==============================================================================
--- lnt/trunk/lnt/server/reporting/analysis.py (original)
+++ lnt/trunk/lnt/server/reporting/analysis.py Wed Sep 12 20:39:41 2012
@@ -30,6 +30,17 @@
     def get_samples(self):
         return self.samples
 
+    def is_result_interesting(self):
+        """is_result_interesting() -> bool
+
+        Check whether the result is worth displaying, either because of a
+        failure, a test status change or a performance change."""
+        if self.get_test_status() != UNCHANGED_PASS:
+            return True
+        if self.get_value_status() in (REGRESSED, IMPROVED):
+            return True
+        return False
+
     def get_test_status(self):
         # Compute the comparison status for the test success.
         if self.failed:

Modified: lnt/trunk/lnt/server/reporting/dailyreport.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/reporting/dailyreport.py?rev=163770&r1=163769&r2=163770&view=diff
==============================================================================
--- lnt/trunk/lnt/server/reporting/dailyreport.py (original)
+++ lnt/trunk/lnt/server/reporting/dailyreport.py Wed Sep 12 20:39:41 2012
@@ -126,25 +126,39 @@
             for run in day_runs:
                 machine_runs[(run.machine_id, day_index)] = run
                 
-        # Build the result table::
-        #   result_table[field_index][test_index][day_index][machine_index] = \
-        #     {samples}
+        # Build the result table of tests with interesting results.
         self.result_table = []
         for field in self.fields:
             field_results = []
             for test in self.reporting_tests:
-                key = test
-                test_results = []
-                for day_index,day_runs in enumerate(prior_runs):
-                    day_results = []
-                    for machine in self.reporting_machines:
-                        prev_runs = machine_runs.get(
-                            (machine.id, day_index+1), ())
-                        day_runs = machine_runs.get(
-                            (machine.id, day_index), ())
-                        cr = sri.get_comparison_result(
-                            day_runs, prev_runs, test.id, field)
+                # For each machine, compute if there is anything to display for
+                # the most recent day, and if so add it to the view.
+                visible_results = []
+                for machine in self.reporting_machines:
+                    # Get the most recent comparison result.
+                    day_runs = machine_runs.get((machine.id, 0), ())
+                    prev_runs = machine_runs.get((machine.id, 1), ())
+                    cr = sri.get_comparison_result(day_runs, prev_runs,
+                                                   test.id, field)
+
+                    # If the result is not "interesting", ignore this machine.
+                    if not cr.is_result_interesting():
+                        continue
+                    
+                    # Otherwise, compute the results for all the days.
+                    day_results = [cr]
+                    for i in range(1, self.num_prior_days_to_include):
+                        day_runs = prev_runs
+                        prev_runs = machine_runs.get((machine.id, i+1), ())
+                        cr = sri.get_comparison_result(day_runs, prev_runs,
+                                                       test.id, field)
                         day_results.append(cr)
-                    test_results.append(day_results)
-                field_results.append(test_results)
-            self.result_table.append(field_results)
+
+                    # Append the result for the machine.
+                    visible_results.append((machine, day_results))
+
+                # If there are visible results for this test, append it to the
+                # view.
+                if visible_results:
+                    field_results.append((test, visible_results))
+            self.result_table.append((field, field_results))

Modified: lnt/trunk/lnt/server/ui/templates/v4_daily_report.html
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/templates/v4_daily_report.html?rev=163770&r1=163769&r2=163770&view=diff
==============================================================================
--- lnt/trunk/lnt/server/ui/templates/v4_daily_report.html (original)
+++ lnt/trunk/lnt/server/ui/templates/v4_daily_report.html Wed Sep 12 20:39:41 2012
@@ -71,7 +71,7 @@
 {% endmacro %}
 
 {# Generate the table showing the raw sample data. #}
-{% for field in report.fields %}
+{% for field,field_results in report.result_table %}
 <h3>Result Table ({{ field.name }})</h3>
 <table border="1">
   <thead>
@@ -82,20 +82,19 @@
       <th>Day - {{i}}</th>
 {% endfor %}
   </thead>
-{% for test,test_results in zip(report.reporting_tests,
-                                report.result_table[loop.index0]) %}
+{% for test,visible_results in field_results %}
   <tr>
     <td colspan="2"><b>{{test.name}}</b></td>
     <td colspan="{{report.num_prior_days_to_include}}"> </td>
   </tr>
-{%   for machine in report.reporting_machines %}
+{%   for machine,day_results in visible_results %}
 {%   set machine_loop = loop %}
   <tr>
     <td> </td>
     <td>{{machine.name}}</td>
-    <td>{{ test_results[-1][machine_loop.index0].current }}</td>
-{%     for day_result in test_results[:-1]|reverse %}
-    {{ get_cell_value(day_result[machine_loop.index0]) }}
+    <td>{{ day_results[-1].current }}</td>
+{%     for day_result in day_results[:-1]|reverse %}
+    {{ get_cell_value(day_result) }}
 {%     endfor %}
   </tr>
 {%   endfor %}





More information about the llvm-commits mailing list