]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/adaptation/icap/History.h
1 #ifndef SQUID_ICAPHISTORY_H
2 #define SQUID_ICAPHISTORY_H
4 #include "base/RefCount.h"
6 #include "SquidString.h"
13 /// collects information about ICAP processing related to an HTTP transaction
14 class History
: public RefCountable
17 typedef RefCount
<History
> Pointer
;
21 /// record the start of an ICAP processing interval
22 void start(const char *context
);
23 /// note the end of an ICAP processing interval
24 void stop(const char *context
);
26 /// returns the total time of all ICAP processing intervals
27 int processingTime() const;
29 String rfc931
; ///< the username from ident
31 String ssluser
; ///< the username from SSL
33 log_type logType
; ///< the squid request status (TCP_MISS etc)
35 String log_uri
; ///< the request uri
36 size_t req_sz
; ///< the request size
39 int currentTime() const; ///< time since current start or zero
41 timeval currentStart
; ///< when the current processing interval started
42 int pastTime
; ///< sum of closed processing interval durations
43 int concurrencyLevel
; ///< number of concurrent processing threads
47 } // namespace Adaptation
49 #endif /*SQUID_HISTORY_H*/