summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Reports/reports/templates/clients
diff options
context:
space:
mode:
authorTim Laszlo <tim.laszlo@gmail.com>2010-06-03 14:59:34 +0000
committerSol Jerome <solj@ices.utexas.edu>2010-06-03 10:07:57 -0500
commit8170fac20bedde567bf9cf482bca894ef97f8a07 (patch)
tree5531ab1004150c9052bf5125a2b05ab63964a664 /src/lib/Server/Reports/reports/templates/clients
parent5d73365218e0cbca0befc9b030c31d0d4cea8f9c (diff)
downloadbcfg2-8170fac20bedde567bf9cf482bca894ef97f8a07.tar.gz
bcfg2-8170fac20bedde567bf9cf482bca894ef97f8a07.tar.bz2
bcfg2-8170fac20bedde567bf9cf482bca894ef97f8a07.zip
Performance updates to dynamic reports
Added bad_entries, modified_entries, extra_entries database fields to reduce the number of calls. Created (bad|modified|extra)_entry_count methods to return the sbove fields and populate any missing values. Consolidate interaction_per_client query. Added unique constraint on client_id and timestamp in Interaction. Greatly improved the performance of interaction_per_client. Modified detailed-list.html to add modified field and reduce the database calls to two... unless the bad_entries, modified_entries, extra_entries fields need updating. Modified client index to use only two database queries. Adding automatic update Updating load_stats to update counters in reports_interaction git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5885 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Reports/reports/templates/clients')
-rw-r--r--src/lib/Server/Reports/reports/templates/clients/detailed-list.html12
-rw-r--r--src/lib/Server/Reports/reports/templates/clients/index.html24
2 files changed, 19 insertions, 17 deletions
diff --git a/src/lib/Server/Reports/reports/templates/clients/detailed-list.html b/src/lib/Server/Reports/reports/templates/clients/detailed-list.html
index 37bfb006b..5a1352cff 100644
--- a/src/lib/Server/Reports/reports/templates/clients/detailed-list.html
+++ b/src/lib/Server/Reports/reports/templates/clients/detailed-list.html
@@ -56,13 +56,14 @@
<td class='right_column' style='width:75px'>State</td>
<td class='right_column_narrow'>Good</td>
<td class='right_column_narrow'>Bad</td>
+ <td class='right_column_narrow'>Modified</td>
<td class='right_column_narrow'>Extra</td>
<td class='right_column'>Last Run</td>
<td class='right_column_wide'>Server</td>
</tr>
- {% for entry in entry_list %}
+ {% for client,entry,stale in entry_list %}
<tr class='{% cycle listview,listview_alt %}'>
- <td class='left_column'><a href='{% url Bcfg2.Server.Reports.reports.views.client_detail hostname=entry.client.name, pk=entry.id %}'>{{ entry.client.name }}</a></td>
+ <td class='left_column'><a href='{% url Bcfg2.Server.Reports.reports.views.client_detail hostname=client, pk=entry.id %}'>{{ client }}</a></td>
<td class='right_column' style='width:75px'><a href=
{% if server %}
'{% url Bcfg2.Server.Reports.reports.views.client_detailed_list server=server,state=entry.state %}{{ qsa }}'
@@ -71,9 +72,10 @@
{% endif %}
{% ifequal entry.state 'dirty' %}style='background:#FF6A6A'{% endifequal %}>{{ entry.state }}</a></td>
<td class='right_column_narrow'>{{ entry.goodcount }}</td>
- <td class='right_column_narrow'>{{ entry.badcount }}</td>
- <td class='right_column_narrow'>{{ entry.extra|length }}</td>
- <td class='right_column'><span {% if entry.isstale %}style='background:#FF6A6A'{% endif %}>{{ entry.timestamp|date:"Y-m-d H:i" }}</span></td>
+ <td class='right_column_narrow'>{{ entry.bad_entry_count }}</td>
+ <td class='right_column_narrow'>{{ entry.modified_entry_count }}</td>
+ <td class='right_column_narrow'>{{ entry.extra_entry_count }}</td>
+ <td class='right_column'><span {% if stale %}style='background:#FF6A6A'{% endif %}>{{ entry.timestamp|date:"Y-m-d H:i" }}</span></td>
<td class='right_column_wide'>
{% if entry.server %}
<a href=
diff --git a/src/lib/Server/Reports/reports/templates/clients/index.html b/src/lib/Server/Reports/reports/templates/clients/index.html
index 708d52ad1..cfb8a6c83 100644
--- a/src/lib/Server/Reports/reports/templates/clients/index.html
+++ b/src/lib/Server/Reports/reports/templates/clients/index.html
@@ -31,24 +31,24 @@
</span></form>
<br/><br/><br/></div>
-{% if client_list_b %}
+{% if inter_list %}
<table><tr><td valign="top">
<ul style="list-style-type:none;">
- {% for client in client_list_b %}
- <li><div class="{{client.current_interaction.state}}-lineitem">
- <a href="{% url Bcfg2.Server.Reports.reports.views.client_detail client.name %}">{{ client.name }}</a>
+ {% for client,inter in inter_list %}
+ <li><div class="{{inter.state}}-lineitem">
+ <a href="{% spaceless %}{% ifequal timestamp 'now' %}
+ {% url Bcfg2.Server.Reports.reports.views.client_detail client %}
+ {% else %}
+ {% url Bcfg2.Server.Reports.reports.views.client_detail client,inter.id %}
+ {% endifequal %}
+ {% endspaceless %}">{{ client }}</a>
</div></li>
- {% endfor %}
+ {% ifequal half_list forloop.counter0 %}
</ul>
</td><td valign="top">
<ul style="list-style-type:none;">
- {% if client_list_a %}
- {% for client in client_list_a %}
- <li><div class="{{client.current_interaction.state}}-lineitem">
- <a href="{% url Bcfg2.Server.Reports.reports.views.client_detail client.name %}">{{ client.name }}</a>
- </div></li>
- {% endfor %}
- {% endif %}
+ {% endifequal %}
+ {% endfor %}
</ul>
</tr></table>
{% else %}