diff options
author | Tim Laszlo <tim.laszlo@gmail.com> | 2010-06-03 14:59:34 +0000 |
---|---|---|
committer | Sol Jerome <solj@ices.utexas.edu> | 2010-06-03 10:07:57 -0500 |
commit | 8170fac20bedde567bf9cf482bca894ef97f8a07 (patch) | |
tree | 5531ab1004150c9052bf5125a2b05ab63964a664 /src/lib/Server/Reports/reports/templates/clients | |
parent | 5d73365218e0cbca0befc9b030c31d0d4cea8f9c (diff) | |
download | bcfg2-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.html | 12 | ||||
-rw-r--r-- | src/lib/Server/Reports/reports/templates/clients/index.html | 24 |
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 %} |