attr.sprintf("MYStat_%s_%s", category, ident);
     cleanStringForUseAsAttr(attr);
 
+    int flags = IF_BASICPUB;
     int cRecent = my_window / my_quantum;
     switch (as_type)
     {
     case STATS_ENTRY_TYPE_INT32 | AS_RECENT:
-       Pool.NewProbe< stats_entry_recent<int> >(ident, attr.Value(), 0);
+       {
+       stats_entry_recent<int> probe =
+       Pool.NewProbe< stats_entry_recent<int> >(ident, attr.Value(), flags);
+       probe->SetRecentMax(cRecent);
+       }
        break;
 
     case STATS_ENTRY_TYPE_DOUBLE | AS_RECENT:
-       Pool.NewProbe< stats_entry_recent<double> >(ident, attr.Value(), 0);
+       {
+       stats_entry_recent<double> probe =
+       Pool.NewProbe< stats_entry_recent<double> >(ident, attr.Value(), flags);
+       probe->SetRecentMax(cRecent);
+       }
        break;
     }
 }
 
 void MyStats::Sample(const char * ident, int val)
 {
-    stats_entry_recent<int>* probe = Pool.Get< stats_entry_recent<int> >(ident);
+    stats_entry_recent<int>* probe =
+    Pool.Get< stats_entry_recent<int> >(ident);
     if (probe)
        probe->Add(val);
 }
 
 void MyStats::Sample(const char * name, double val)
 {
-    stats_entry_recent<double>* probe = Pool.Get< stats_entry_recent<double> >(ident);
+    stats_entry_recent<double>* probe =
+    Pool.Get< stats_entry_recent<double> >(ident);
     if (probe)
-       probe->Add(double);
+       probe->Add(val);
 }
 
 {endcode}