|
Squid Web Cache master
|
#include <CodeContext.h>
Public Types | |
| typedef RefCount< CodeContext > | Pointer |
Public Member Functions | |
| ~CodeContext () override | |
| virtual ScopedId | codeContextGist () const =0 |
| virtual std::ostream & | detailCodeContext (std::ostream &os) const =0 |
| appends human-friendly context description line(s) to a cache.log record | |
Static Public Member Functions | |
| static const Pointer & | Current () |
| static void | Reset () |
| forgets the current context, setting it to nil/unknown | |
| static void | Reset (const Pointer) |
| changes the current context; nil argument sets it to nil/unknown | |
Public Attributes | |
| Stopwatch | busyTime |
| time spent in this context (see also: busy_time) | |
Static Private Member Functions | |
| static void | ForgetCurrent () |
| static void | Entering (const Pointer &codeCtx) |
| static void | Leaving () |
Interface for reporting what Squid code is working on. Such reports are usually requested outside creator's call stack. They are especially useful for attributing low-level errors to transactions.
Definition at line 52 of file CodeContext.h.
| typedef RefCount<CodeContext> CodeContext::Pointer |
Definition at line 55 of file CodeContext.h.
|
inlineoverride |
Definition at line 66 of file CodeContext.h.
|
pure virtual |
Implemented in AccessLogEntry, Acl::ParsingContext, AnyP::PortCfg, FadingCodeContext, PrecomputedCodeContext, Comm::Connection, and htcpSpecifier.
Referenced by Entering(), and operator<<().
|
static |
Definition at line 33 of file CodeContext.cc.
Referenced by CallAndRestore_(), CallSubscription< Call_ >::callback(), CallContextCreator(), clientConnectionsClose(), clientHttpConnectionsOpen(), commStartHalfClosedMonitor(), CurrentCodeContextDetail(), HappyOrderEnforcer::enqueue(), CommQuotaQueue::enqueue(), StoreEntry::invokeHandlers(), neighborsUdpPing(), peerDnsRefreshStart(), Security::KeyLog::record(), Reset(), ScheduleCall(), Ftp::StartListening(), Ftp::StopListening(), tunnelDelayedClientRead(), and tunnelDelayedServerRead().
|
pure virtual |
Implemented in AccessLogEntry, Acl::ParsingContext, AnyP::PortCfg, FadingCodeContext, PrecomputedCodeContext, Comm::Connection, and htcpSpecifier.
|
staticprivate |
Switches the current context to the given known context. Improves debugging output by replacing omni-directional "Reset" with directional "Entering".
Definition at line 55 of file CodeContext.cc.
References busyTime, codeContextGist(), debugs, ForgetCurrent(), and Stopwatch::resume().
Referenced by Reset().
|
staticprivate |
Forgets the current known context, possibly triggering its destruction. Preserves the gist of the being-forgotten context during its destruction. Knows nothing about the next context – the caller must set it.
Definition at line 42 of file CodeContext.cc.
References assert.
Referenced by Entering(), and Leaving().
|
staticprivate |
Forgets the current known context. Improves debugging output by replacing omni-directional "Reset" with directional "Leaving".
Definition at line 68 of file CodeContext.cc.
References debugs, and ForgetCurrent().
|
static |
Definition at line 77 of file CodeContext.cc.
References Leaving().
Referenced by ClientHttpRequest::ClientHttpRequest(), CodeContextGuard::CodeContextGuard(), CodeContextGuard::~CodeContextGuard(), CallAndRestore_(), CallContextCreator(), checkTimeouts(), clientConnectionsClose(), clientHttpConnectionsOpen(), comm_close_complete(), Http::Stream::finished(), AsyncCallQueue::fire(), StoreEntry::invokeHandlers(), neighborsUdpPing(), peerCountMcastPeersCreateAndSend(), peerDnsRefreshStart(), ConnStateData::postHttpsAccept(), Ftp::StartListening(), Ftp::StopListening(), tunnelDelayedClientRead(), and tunnelDelayedServerRead().
|
static |
Definition at line 84 of file CodeContext.cc.
References Current(), Entering(), and Leaving().
| Stopwatch CodeContext::busyTime |
Definition at line 76 of file CodeContext.h.
Referenced by Format::Format::assemble(), and Entering().