]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
- added missing case counters to refreshCheck()
authorrousskov <>
Sun, 18 Oct 1998 07:30:09 +0000 (07:30 +0000)
committerrousskov <>
Sun, 18 Oct 1998 07:30:09 +0000 (07:30 +0000)
request_reload2ims_stale, request_reload_stale,
min_age_override_exp_fresh, min_age_override_lmt_fresh
- display only non-zero stats
- hack to double check that all cases are counted
  ("total" line will not display 100% if not)

src/refresh.cc

index 565e57002e52545b08d47a7c36e14d1224e36f66..a69b78a14b2cec694d309ee63b52af673a6c1e8c 100644 (file)
@@ -1,7 +1,7 @@
 
 
 /*
- * $Id: refresh.cc,v 1.39 1998/10/17 17:03:42 wessels Exp $
+ * $Id: refresh.cc,v 1.40 1998/10/18 01:30:09 rousskov Exp $
  *
  * DEBUG: section 22    Refresh Calculation
  * AUTHOR: Harvest Derived
@@ -47,6 +47,10 @@ static struct RefreshCounts {
     int total;
     int revalidate_stale;
     int request_max_age_stale;
+    int request_reload2ims_stale;
+    int request_reload_stale;
+    int min_age_override_exp_fresh;
+    int min_age_override_lmt_fresh;
     int response_expires_stale;
     int response_expires_fresh;
     int conf_max_age_stale;
@@ -160,11 +164,13 @@ refreshCheck(const StoreEntry * entry, request_t * request, time_t delta, struct
            } else if (reload_into_ims) {
                /* The clients no-cache header is changed into a IMS query */
                debug(22, 3) ("refreshCheck: YES: reload-into-ims\n");
+               rc->request_reload2ims_stale++;
                return 1;
            } else {
                /* The clients no-cache header is not overridden on this request */
                debug(22, 3) ("refreshCheck: YES: client reload\n");
                request->flags.nocache = 1;
+               rc->request_reload_stale++;
                return 1;
            }
        }
@@ -180,6 +186,7 @@ refreshCheck(const StoreEntry * entry, request_t * request, time_t delta, struct
 #if HTTP_VIOLATIONS
     if (override_expire && age <= min) {
        debug(22, 3) ("refreshCheck: NO: age < min && override_expire\n");
+       rc->min_age_override_exp_fresh++;
        return 0;
     }
 #endif
@@ -202,6 +209,7 @@ refreshCheck(const StoreEntry * entry, request_t * request, time_t delta, struct
 #if HTTP_VIOLATIONS
     if (override_lastmod && age <= min) {
        debug(22, 3) ("refreshCheck: NO: age < min && override_lastmod\n");
+       rc->min_age_override_lmt_fresh++;
        return 0;
     }
 #endif
@@ -219,7 +227,7 @@ refreshCheck(const StoreEntry * entry, request_t * request, time_t delta, struct
        }
     }
     if (age <= min) {
-       debug(22, 3) ("refreshCheck: NO: age < min\n");
+       debug(22, 3) ("refreshCheck: NO: age <= min\n");
        rc->conf_min_age_fresh++;
        return 0;
     }
@@ -260,29 +268,33 @@ getMaxAge(const char *url)
 static void
 refreshCountsStats(StoreEntry * sentry, struct RefreshCounts *rc)
 {
+    int sum = 0;
+    int tot = rc->total;
+
     storeAppendPrintf(sentry, "\n\n%s histogram:\n", rc->proto);
     storeAppendPrintf(sentry, "Category\tCount\t%%Total\n");
 
-    storeAppendPrintf(sentry, "revalidate_stale\t%6d\t%6.2f\n",
-       rc->revalidate_stale, xpercent(rc->revalidate_stale, rc->total));
-    storeAppendPrintf(sentry, "request_max_age_stale\t%6d\t%6.2f\n",
-       rc->request_max_age_stale, xpercent(rc->request_max_age_stale, rc->total));
-    storeAppendPrintf(sentry, "response_expires_stale\t%6d\t%6.2f\n",
-       rc->response_expires_stale, xpercent(rc->response_expires_stale, rc->total));
-    storeAppendPrintf(sentry, "response_expires_fresh\t%6d\t%6.2f\n",
-       rc->response_expires_fresh, xpercent(rc->response_expires_fresh, rc->total));
-    storeAppendPrintf(sentry, "conf_max_age_stale\t%6d\t%6.2f\n",
-       rc->conf_max_age_stale, xpercent(rc->conf_max_age_stale, rc->total));
-    storeAppendPrintf(sentry, "last_modified_factor_fresh\t%6d\t%6.2f\n",
-       rc->last_modified_factor_fresh, xpercent(rc->last_modified_factor_fresh, rc->total));
-    storeAppendPrintf(sentry, "last_modified_factor_stale\t%6d\t%6.2f\n",
-       rc->last_modified_factor_stale, xpercent(rc->last_modified_factor_stale, rc->total));
-    storeAppendPrintf(sentry, "conf_min_age_fresh\t%6d\t%6.2f\n",
-       rc->conf_min_age_fresh, xpercent(rc->conf_min_age_fresh, rc->total));
-    storeAppendPrintf(sentry, "default_stale\t%6d\t%6.2f\n",
-       rc->default_stale, xpercent(rc->default_stale, rc->total));
-    storeAppendPrintf(sentry, "total\t%6d\t%6.2f\n",
-       rc->total, xpercent(rc->total, rc->total));
+#define refreshCountsStatsEntry(name) { \
+    if (rc->name || !strcmp(#name, "total")) \
+       storeAppendPrintf(sentry, "%s\t%6d\t%6.2f\n", \
+           #name, rc->name, xpercent(rc->name, tot)); \
+    sum += rc->name; \
+}
+    refreshCountsStatsEntry(revalidate_stale);
+    refreshCountsStatsEntry(request_reload2ims_stale);
+    refreshCountsStatsEntry(request_reload_stale);
+    refreshCountsStatsEntry(request_max_age_stale);
+    refreshCountsStatsEntry(min_age_override_exp_fresh);
+    refreshCountsStatsEntry(response_expires_stale);
+    refreshCountsStatsEntry(response_expires_fresh);
+    refreshCountsStatsEntry(conf_max_age_stale);
+    refreshCountsStatsEntry(min_age_override_lmt_fresh);
+    refreshCountsStatsEntry(last_modified_factor_fresh);
+    refreshCountsStatsEntry(last_modified_factor_stale);
+    refreshCountsStatsEntry(conf_min_age_fresh);
+    refreshCountsStatsEntry(default_stale);
+    tot = sum; /* paranoid: "total" line shows 100% if we forgot nothing */
+    refreshCountsStatsEntry(total);
 }
 
 static void