|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [OSSTEST PATCH 23/60] history reporting (nfc): Documentation for the new module
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
Osstest/HistoryReport.pm | 27 +++++++++++++++++++++++++++
sg-report-host-history | 6 +-----
2 files changed, 28 insertions(+), 5 deletions(-)
diff --git a/Osstest/HistoryReport.pm b/Osstest/HistoryReport.pm
index cb8c6ca1..6e5ed6ec 100644
--- a/Osstest/HistoryReport.pm
+++ b/Osstest/HistoryReport.pm
@@ -51,6 +51,33 @@ our $rows_previous = 0;
our $rows_today = 0;
our $rows_hit = 0;
+
+# History report query and processing cache
+#
+# Basic principle:
+#
+# Each HTML output file corresponds to the rows of one
+# primary query. That primary query yields rows containing
+# (at least) the columns passed to cache_set_key_cols.
+#
+# The HTML files contain caches of per-primary-row queries and
+# computations. Each such subcomputation is identified by a
+# $cachekey, which is assigned by the calling code (but should be
+# alphanumeric). The memoisation is keyed off the key columns and
+# $cachekey, so the subcomputation should not depend on anything else.
+#
+# The API is based on a %$jr.
+#
+# %$jr contains one entry for each for each key columns.
+#
+# It also contains one entry for each cached subcomputation.
+# The keys for these entries are "\%$cachekey".
+
+# These routines all expect the file handle ::DEBUG
+# They are not reentrant and can only be used for one HTML
+# output file in one program run.
+
+
sub cache_set_key_cols { @key_cols = @_; }
sub key ($) {
diff --git a/sg-report-host-history b/sg-report-host-history
index a195bb21..e281986d 100755
--- a/sg-report-host-history
+++ b/sg-report-host-history
@@ -204,11 +204,7 @@ END
my $inrows = $hosts{$hostname};
print DEBUG "FOUND ", (scalar @$inrows), " ROWS for $hostname\n";
- # Each entry in @$inrows is a $jr, which is a hash
- # It has keys for the result columns in mainquery
- # It also has keys '%<letter>' (yes, with a literal '%')
- # which are the results of per-job queries.
- # The contents of $jr for each job is cached across runs.
+ # Each entry in @$inrows is a HistoryReport $jr
my @rows;
foreach my $jr (@$inrows) {
--
2.11.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |