(
"value");
41 static const string kName(
"name");
46m_ProcGroupToIndex(proc_group_to_index),
47m_FinishedRequestsCounter(0)
52 "BadUrlPathCount",
"Unknown URL counter",
53 "Number of times clients requested a path " 54 "which is not served by the server");
57 "NonProtocolRequests",
"Bad requests counter",
58 "The number of requests which do not conform to the PSG protocol");
61 "NoProcessorInstantiated",
"No processor instantiated counter",
62 "The number of requests when no processors were instantiated");
65 "UvTcpInitFailure",
"libuv failure to init a tcp handler counter",
66 "The number of times uv_tcp_init() call failed");
69 "AcceptFailure",
"TCP socket accept failure",
70 "The number of times a TCP accept failed");
73 "NumConnHardLimitExceeded",
"Connection exceeded hard limit counter",
74 "The number of times a new connection established when a connection hard limit is already reached.");
77 "NumConnSoftLimitExceeded",
"Connection exceeded soft limit counter",
78 "The number of times a new connection established when a connection soft limit is already reached.");
81 "NumConnAlertLimitExceeded",
"Connection exceeded alert limit counter",
82 "The number of times a new connection established when a connection alert limit is already reached.");
85 "NumReqRefusedDueToSoftLimit",
"Requests refused due to connection soft limit",
86 "The number of times a request was refused (503) due to it came over a connection which was established when a soft limit is already reached.");
89 "NumConnBadToGoodMigration",
"Connection migration from 'bad' to 'good' counter",
90 "The number of times a connection migrated from 'bad' to 'good'");
93 "FrameworkUnknownError",
"Framework unknown error counter",
94 "Number of times a framework unknown error has been detected");
97 "NoRequestStop",
"Missed request stop error counter",
98 "Number of times a processor group was erased when there was no request stop for that request");
101 "InsufficientArgumentsCount",
"Insufficient arguments counter",
102 "Number of times clients did not supply all the requiried arguments");
105 "MalformedArgumentsCount",
"Malformed arguments counter",
106 "Number of times clients supplied malformed arguments");
109 "ClientSatToSatNameErrorCount",
110 "Client provided sat to sat name mapping error counter",
111 "Number of times a client provided sat could not be mapped to a sat name");
114 "ServerSatToSatNameErrorCount",
115 "Server data sat to sat name mapping error counter",
116 "Number of times a server data sat could not be mapped to a sat name");
119 "BlobPropsNotFoundCount",
"Blob properties not found counter",
120 "Number of times blob properties were not found");
123 "LMDBErrorCount",
"LMDB cache error count",
124 "Number of times an error was detected while searching in the LMDB cache");
127 "CassQueryTimeoutErrorCount",
"Cassandra query timeout error counter",
128 "Number of times a timeout error was detected while executing a Cassandra query");
131 "InvalidId2InfoErrorCount",
"Invalid bioseq info ID2 field error counter",
132 "Number of times a malformed bioseq info ID2 field was detected");
135 "SplitHistoryNotFoundCount",
"Split history not found counter",
136 "Number of times a split history was not found");
139 "PublicCommentNotFoundCount",
"Public comment not found counter",
140 "Number of times a public comment was not found");
143 "AccessionVersionHistoryNotFoundCount",
"Accession version history not found counter",
144 "Number of times an accession version history was not found");
147 "IPGResolveNotFoundCount",
"IPG resolution not found counter",
148 "Number of times an IPG resolution was not found");
151 "MaxHopsExceededErrorCount",
"Max hops exceeded error count",
152 "Number of times the max number of hops was exceeded");
155 "TSEChunkSplitVersionCacheMatched",
156 "Requested TSE chunk split version matched the cached one counter",
157 "Number of times a client requested TSE chunk split version " 158 "matched the cached version");
161 "TSEChunkSplitVersionCacheNotMatched",
162 "Requested TSE chunk split version did not match the cached one counter",
163 "Number of times a client requested TSE chunk split version " 164 "did not match the cached version");
167 "AdminRequestCount",
"Administrative requests counter",
168 "Number of time a client requested administrative functionality");
171 "GetSatMappingRequestCount",
"Get sat mapping request counter",
172 "Number of times a client requested sat mapping");
175 "ResolveRequestCount",
"Resolve requests counter",
176 "Number of times a client requested resolve functionality");
179 "GetBlobBySeqIdRequestCount",
"Blob requests (by seq id) counter",
180 "Number of times a client requested a blob by seq id");
183 "GetBlobBySatSatKeyRequestCount",
"Blob requests (by sat and sat key) counter",
184 "Number of times a client requested a blob by sat and sat key");
187 "GetNamedAnnotationsCount",
"Named annotations requests counter",
188 "Number of times a client requested named annotations");
191 "AccessionVersionHistoryCount",
"Accession version history requests counter",
192 "Number of times a client requested accession version history");
195 "IPGResolve",
"IPG resolve request counter",
196 "Number of times a client requested IPG resolution");
199 "TestIORequestCount",
"Test input/output requests counter",
200 "Number of times a client requested an input/output test");
203 "GetTSEChunkCount",
"TSE chunk requests counter",
204 "Number of times a client requested a TSE chunk");
207 "HealthRequestCount",
"Health requests counter",
208 "Number of times a client requested health status (obsolete)");
211 "DeepHealthRequestCount",
"Deep health requests counter",
212 "Number of times a client requested deep-health status (obsolete)");
215 "ReadyZRequestCount",
"readyz requests counter",
216 "Number of times a client requested ready status");
219 "HealthZRequestCount",
"healthz requests counter",
220 "Number of times a client requested health status");
223 "ReadyZCassandraRequestCount",
"readyz/cassandra requests counter",
224 "Number of times a client requested readyz/cassandra status");
227 "ReadyZConnectionsRequestCount",
"readyz/connections requests counter",
228 "Number of times a client requested readyz/cconnections status");
231 "ReadyZLMDBRequestCount",
"readyz/lmdb requests counter",
232 "Number of times a client requested readyz/lmdb status");
235 "ReadyZWGSRequestCount",
"readyz/wgs requests counter",
236 "Number of times a client requested readyz/wgs status");
239 "ReadyZCDDRequestCount",
"readyz/cdd requests counter",
240 "Number of times a client requested readyz/cdd status");
243 "ReadyZSNPRequestCount",
"readyz/snp requests counter",
244 "Number of times a client requested readyz/snp status");
247 "LiveZRequestCount",
"livez requests counter",
248 "Number of times a client requested live status");
251 "HelloRequestCount",
"hello requests counter",
252 "Number of times a client sent hello");
255 "Si2csiCacheHit",
"si2csi cache hit counter",
256 "Number of times a si2csi LMDB cache lookup found a record");
259 "Si2csiCacheMiss",
"si2csi cache miss counter",
260 "Number of times a si2csi LMDB cache lookup did not find a record");
263 "BioseqInfoCacheHit",
"bioseq info cache hit counter",
264 "Number of times a bioseq info LMDB cache lookup found a record");
267 "BioseqInfoCacheMiss",
"bioseq info cache miss counter",
268 "Number of times a bioseq info LMDB cache lookup did not find a record");
271 "BlobPropCacheHit",
"Blob properties cache hit counter",
272 "Number of times a blob properties LMDB cache lookup found a record");
275 "BlobPropCacheMiss",
"Blob properties cache miss counter",
276 "Number of times a blob properties LMDB cache lookup did not find a record");
279 "Si2csiNotFound",
"si2csi not found in Cassandra counter",
280 "Number of times a Cassandra si2csi query resulted in no records");
283 "Si2csiFoundOne",
"si2csi found one record in Cassandra counter",
284 "Number of times a Cassandra si2csi query resulted in exactly one record");
287 "Si2csiFoundMany",
"si2csi found more than one record in Cassandra counter",
288 "Number of times a Cassandra si2csi query resulted in more than one record");
291 "BioseqInfoNotFound",
"bioseq info not found in Cassandra counter",
292 "Number of times a Cassandra bioseq info query resulted in no records");
295 "BioseqInfoFoundOne",
"bioseq info found one record in Cassandra counter",
296 "Number of times a Cassandra bioseq info query resulted in exactly one record");
299 "BioseqInfoFoundMany",
"bioseq info found more than one record in Cassandra counter",
300 "Number of times a Cassandra bioseq info query resulted in more than one record");
303 "Si2csiError",
"si2csi Cassandra query execution error counter",
304 "Number of time a Cassandra si2csi query resulted in an error");
307 "BioseqInfoError",
"bioseq info Cassandra query execution error counter",
308 "Number of times a Cassandra bioseq info query resulted in an error");
311 "BackloggedRequests",
"Backlogged requests counter",
312 "Number of times a request has been put into a backlog list");
315 "TooManyRequests",
"Too many requests counter",
316 "Number of times a request has been rejected because currently there are too many in serving");
319 "DestroyedProcessorCallbacks",
"Destroyed processor callback counter",
320 "Number of times a postponed callback was going to be invoked when a processor has already been destroyed");
323 "NoWebCubbyUserCookieCount",
"No web cubby user cookie found counter",
324 "Number of times a web cubby user cookie was not found for a secure keyspace");
327 "FailureToGetCassConnectionCount",
"Getting Cassandra connection failure counter",
328 "Number of times there was a failure to get a Cassandra connection (secure or unsecure)");
331 "MyNCBIErrorCount",
"My NCBI error counter",
332 "Number of times my NCBI service replied with an error");
335 "MyNCBINotFoundCount",
"My NCBI not found counter",
336 "Number of times my NCBI service replied with 'not found'");
339 "SecureSatUnauthorizedCount",
"Secure satellite unauthorized counter",
340 "Number of times a secure satellite refused authorization");
343 "MyNCBIOKCacheMissCount",
"My NCBI user info OK cache miss counter",
344 "Number of times a lookup in the my NCBI user info OK cache found no record");
347 "MyNCBIOKCacheHitCount",
"My NCBI user info OK cache hit counter",
348 "Number of times a lookup in the my NCBI user info OK cache found a record");
351 "MyNCBINotFoundCacheMissCount",
"My NCBI not found cache miss counter",
352 "Number of times a lookup in the my NCBI not found cache found no record");
355 "MyNCBINotFoundCacheHitCount",
"My NCBI not found cache hit counter",
356 "Number of times a lookup in the my NCBI not found cache found a record");
359 "MyNCBIErrorCacheMissCount",
"My NCBI error cache miss counter",
360 "Number of times a lookup in the my NCBI error cache found no record");
363 "MyNCBIErrorCacheHitCount",
"My NCBI error cache hit counter",
364 "Number of times a lookup in the my NCBI error cache found a record");
367 "MyNCBIOKCacheWaitHitCount",
"My NCBI OK cache hit counter when resolution is in progress",
368 "Number of times a lookup in the my NCBI user info OK cache found a record in an in progress state");
371 "IncludeHUPSetToNo",
"Include HUP set to 'no' when a blob in a secure keyspace counter",
372 "Number of times a secure blob was going to be retrieved when include HUP option is explicitly set to 'no'");
375 "IncomingConnectionsCounter",
"Total number of incoming connections",
376 "Total number of incoming connections (lifetime)");
379 "NewConnThrottled",
"Number of times a new connection was closed due to throttling",
380 "Number of times a new connection was closed due to throttling");
383 "OldConnThrottled",
"Number of times an old connection was closed due to throttling",
384 "Number of times an old connection was closed due to throttling");
387 "CancelRunning",
"Number of times a running request was canceled due to a closed connection",
388 "Number of times a running request was canceled due to a closed connection");
391 "CancelBacklogged",
"Number of times a backlogged request was canceled due to a closed connection",
392 "Number of times a backlogged request was canceled due to a closed connection");
395 "RequestStop100",
"Request stop counter with status 100",
396 "Number of times a request finished with status 100");
399 "RequestStop101",
"Request stop counter with status 101",
400 "Number of times a request finished with status 101");
403 "RequestStop200",
"Request stop counter with status 200",
404 "Number of times a request finished with status 200");
407 "RequestStop201",
"Request stop counter with status 201",
408 "Number of times a request finished with status 201");
411 "RequestStop202",
"Request stop counter with status 202",
412 "Number of times a request finished with status 202");
415 "RequestStop203",
"Request stop counter with status 203",
416 "Number of times a request finished with status 203");
419 "RequestStop204",
"Request stop counter with status 204",
420 "Number of times a request finished with status 204");
423 "RequestStop205",
"Request stop counter with status 205",
424 "Number of times a request finished with status 205");
427 "RequestStop206",
"Request stop counter with status 206",
428 "Number of times a request finished with status 206");
431 "RequestStop299",
"Request stop counter with status 299",
432 "Number of times a request finished with status 299");
435 "RequestStop300",
"Request stop counter with status 300",
436 "Number of times a request finished with status 300");
439 "RequestStop301",
"Request stop counter with status 301",
440 "Number of times a request finished with status 301");
443 "RequestStop302",
"Request stop counter with status 302",
444 "Number of times a request finished with status 302");
447 "RequestStop303",
"Request stop counter with status 303",
448 "Number of times a request finished with status 303");
451 "RequestStop304",
"Request stop counter with status 304",
452 "Number of times a request finished with status 304");
455 "RequestStop305",
"Request stop counter with status 305",
456 "Number of times a request finished with status 305");
459 "RequestStop307",
"Request stop counter with status 307",
460 "Number of times a request finished with status 307");
463 "RequestStop400",
"Request stop counter with status 400",
464 "Number of times a request finished with status 400");
467 "RequestStop401",
"Request stop counter with status 401",
468 "Number of times a request finished with status 401");
471 "RequestStop402",
"Request stop counter with status 402",
472 "Number of times a request finished with status 402");
475 "RequestStop403",
"Request stop counter with status 403",
476 "Number of times a request finished with status 403");
479 "RequestStop404",
"Request stop counter with status 404",
480 "Number of times a request finished with status 404");
483 "RequestStop405",
"Request stop counter with status 405",
484 "Number of times a request finished with status 405");
487 "RequestStop406",
"Request stop counter with status 406",
488 "Number of times a request finished with status 406");
491 "RequestStop407",
"Request stop counter with status 407",
492 "Number of times a request finished with status 407");
495 "RequestStop408",
"Request stop counter with status 408",
496 "Number of times a request finished with status 408");
499 "RequestStop409",
"Request stop counter with status 409",
500 "Number of times a request finished with status 409");
503 "RequestStop410",
"Request stop counter with status 410",
504 "Number of times a request finished with status 410");
507 "RequestStop411",
"Request stop counter with status 411",
508 "Number of times a request finished with status 411");
511 "RequestStop412",
"Request stop counter with status 412",
512 "Number of times a request finished with status 412");
515 "RequestStop413",
"Request stop counter with status 413",
516 "Number of times a request finished with status 413");
519 "RequestStop414",
"Request stop counter with status 414",
520 "Number of times a request finished with status 414");
523 "RequestStop415",
"Request stop counter with status 415",
524 "Number of times a request finished with status 415");
527 "RequestStop416",
"Request stop counter with status 416",
528 "Number of times a request finished with status 416");
531 "RequestStop417",
"Request stop counter with status 417",
532 "Number of times a request finished with status 417");
535 "RequestStop422",
"Request stop counter with status 422",
536 "Number of times a request finished with status 422");
539 "RequestStop499",
"Request stop counter with status 499",
540 "Number of times a request finished with status 499");
543 "RequestStop500",
"Request stop counter with status 500",
544 "Number of times a request finished with status 500");
547 "RequestStop501",
"Request stop counter with status 501",
548 "Number of times a request finished with status 501");
551 "RequestStop502",
"Request stop counter with status 502",
552 "Number of times a request finished with status 502");
555 "RequestStop503",
"Request stop counter with status 503",
556 "Number of times a request finished with status 503");
559 "RequestStop504",
"Request stop counter with status 504",
560 "Number of times a request finished with status 504");
563 "RequestStop505",
"Request stop counter with status 505",
564 "Number of times a request finished with status 505");
567 "RequestStopXXX",
"Request stop counter with unknown status",
568 "Number of times a request finished with unknown status");
576 "CassandraActiveStatementsCount",
"Cassandra active statements counter",
577 "Number of the currently active Cassandra queries",
581 "NumberOfTCPConnections",
"Client TCP connections counter",
582 "Number of the client TCP connections",
586 "ActiveProcessorGroupCount",
"Active processor groups counter",
587 "Number of processor groups currently active in the dispatcher",
591 "SplitInfoCacheSize",
"Split info cache size",
592 "Number of records in the split info cache",
596 "MyNCBIOKCacheSize",
"My NCBI user info OK cache size",
597 "Number of records in the my NCBI user info OK cache",
601 "MyNCBINotFoundCacheSize",
"My NCBI not found cache size",
602 "Number of records in the my NCBI not found cache",
606 "MyNCBIErrorCacheSize",
"My NCBI error cache size",
607 "Number of records in the my NCBI error cache",
611 "ShutdownRequested",
"Shutdown requested flag",
612 "Shutdown requested flag",
616 "GracefulShutdownExpiredInSec",
"Graceful shutdown expiration",
617 "Graceful shutdown expiration in seconds from now",
630proc_group_names[item.second] = item.first;
634 for(
const auto& proc_group : proc_group_names) {
640proc_group +
"_InputSeqIdNotResolved",
641 "Seq id not resolved counter ("+ proc_group +
")",
642 "Number of times a client provided seq id could not be resolved by "+ proc_group));
650proc_group +
"_AnnotationBlobNotFoundCount",
651 "Annotation blob not found counter ("+ proc_group +
")",
652 "Number of times an annotation blob was not found by "+ proc_group));
660proc_group +
"_AnnotationNotFoundCount",
661 "Annotation not found counter ("+ proc_group +
")",
662 "Number of times an annotation was not found by "+ proc_group));
670proc_group +
"_GetBlobNotFoundCount",
671 "Blob not found counter ("+ proc_group +
")",
672 "Number of times clients requested a blob which was not found by "+ proc_group));
680proc_group +
"_TSEChunkNotFoundCount",
681 "TSE chunk not found counter ("+ proc_group +
")",
682 "Number of times a TSE chunk was not found by "+ proc_group));
690proc_group +
"_ProcUnknownErrorCount",
691 "Processor unknown error counter ("+ proc_group +
")",
692 "Number of times an unknown error has been detected by "+ proc_group));
700proc_group +
"_OperationTooLong",
701 "Operation took too long ("+ proc_group +
")",
702 "The number of times an operation (like a backend retrieval) " 703 "took longer than a configurable time by "+ proc_group));
726 PSG_ERROR(
"Invalid counter id "+ to_string(counter) +
727 ". Ignore and continue.");
732 if(processor ==
nullptr) {
733 PSG_ERROR(
"Invalid nullptr processor for the per processor counter id "+
734to_string(counter) +
". Ignore and continue.");
738 size_tcnt_index =
static_cast<size_t>(counter) -
747 PSG_ERROR(
"Invalid counter id "+ to_string(counter) +
748 " (non per-processor). Ignore and continue.");
759 PSG_ERROR(
"Invalid counter id "+ to_string(counter) +
760 ". Only non per-processor counters support value retrieval. " 761 "Ignore and continue.");
834 constmap<
string, tuple<string, string>> & conf)
836 for(
auto const& conf_item : conf) {
838 if(
m_Counters[k]->m_Identifier == conf_item.first) {
900 const string& name,
const string& description,
913 const string& name,
const string& description,
927 const string& name,
const string& description,
928 const string&
value)
966 const string&
value)
void SetString(const string &key, const string &value)
Set a JSON object element to the specified string value.
void SetBoolean(const string &key, bool value)
Set a JSON object element to the specified boolean value.
void SetInteger(const string &key, Int8 value)
Set a JSON object element to the specified integer value.
void SetByKey(const string &key, CJsonNode::TInstance value)
For a JSON object node, insert a new element or update an existing element.
static CJsonNode NewObjectNode()
Create a new JSON object node.
void IncrementRequestStopCounter(int status)
uint64_t GetValue(EPSGS_CounterType counter)
static bool IsPerProcessorCounter(EPSGS_CounterType counter)
@ ePSGS_FailureToGetCassConnectionCounter
@ ePSGS_BioseqInfoCacheHit
@ ePSGS_BioseqInfoNotFound
@ ePSGS_MyNCBIOKCacheWaitHit
@ ePSGS_MyNCBIOKCacheMiss
@ ePSGS_MyNCBINotFoundCacheHit
@ ePSGS_GetBlobBySeqIdRequest
@ ePSGS_ReadyZConnectionsRequest
@ ePSGS_MaxHopsExceededError
@ ePSGS_MyNCBIErrorCacheSize
@ ePSGS_BioseqInfoFoundMany
@ ePSGS_AnnotationNotFound
@ ePSGS_ReadyZCassandraRequest
@ ePSGS_GracefulShutdownExpiredInSec
@ ePSGS_MyNCBINotFoundCounter
@ ePSGS_SplitHistoryNotFound
@ ePSGS_NumConnHardLimitExceeded
@ ePSGS_BlobPropCacheMiss
@ ePSGS_MyNCBIErrorCacheMiss
@ ePSGS_MaxIndividualCounter
@ ePSGS_IncludeHUPSetToNo
@ ePSGS_CassandraActiveStatements
@ ePSGS_NumConnAlertLimitExceeded
@ ePSGS_SplitInfoCacheSize
@ ePSGS_DestroyedProcessorCallbacks
@ ePSGS_FrameworkUnknownError
@ ePSGS_ActiveProcessorGroups
@ ePSGS_MyNCBINotFoundCacheMiss
@ ePSGS_ReadyZLMDBRequest
@ ePSGS_AnnotationBlobNotFound
@ ePSGS_InvalidId2InfoError
@ ePSGS_BioseqInfoCacheMiss
@ ePSGS_ShutdownRequested
@ ePSGS_ServerSatToSatNameError
@ ePSGS_NonProtocolRequests
@ ePSGS_DeepHealthRequest
@ ePSGS_IPGResolveNotFound
@ ePSGS_NoWebCubbyUserCookie
@ ePSGS_NumConnBadToGoodMigration
@ ePSGS_NumReqRefusedDueToSoftLimit
@ ePSGS_AccessionVersionHistory
@ ePSGS_PublicCommentNotFound
@ ePSGS_NumberOfConnections
@ ePSGS_MyNCBIErrorCacheHit
@ ePSGS_TSEChunkSplitVersionCacheNotMatched
@ ePSGS_SecureSatUnauthorizedCounter
@ ePSGS_MyNCBIOKCacheSize
@ ePSGS_NumConnSoftLimitExceeded
@ ePSGS_IncomingConnectionsCounter
@ ePSGS_NoProcessorInstantiated
@ ePSGS_SatMappingRequest
@ ePSGS_CassQueryTimeoutError
@ ePSGS_BackloggedRequests
@ ePSGS_GetBlobBySatSatKeyRequest
@ ePSGS_MyNCBIErrorCounter
@ ePSGS_InputSeqIdNotResolved
@ ePSGS_TSEChunkSplitVersionCacheMatched
@ ePSGS_BioseqInfoFoundOne
@ ePSGS_AccVerHistoryNotFound
@ ePSGS_MyNCBINotFoundCacheSize
@ ePSGS_BlobPropsNotFound
@ ePSGS_GetNamedAnnotations
@ ePSGS_ClientSatToSatNameError
CPSGSCounters(const map< string, size_t > &proc_group_to_index)
void Increment(IPSGS_Processor *processor, EPSGS_CounterType counter)
void AppendValueNode(CJsonNode &dict, const string &id, const string &name, const string &description, uint64_t value)
map< string, size_t > m_ProcGroupToIndex
uint64_t GetFinishedRequestsCounter(void)
atomic_uint_fast64_t m_FinishedRequestsCounter
void UpdateConfiguredNameDescription(const map< string, tuple< string, string >> &conf)
SCounterInfo * m_Counters[ePSGS_MaxIndividualCounter]
vector< vector< SCounterInfo * > > m_PerProcessorCounters
void PopulateDictionary(CJsonNode &dict)
static EPSGS_CounterType StatusToCounterType(int status)
Interface class (and self-factory) for request processor objects that can retrieve data from a given ...
virtual string GetGroupName(void) const =0
Tells the processor group name.
const GenericPointer< typename T::ValueType > T2 value
#define PSG_ERROR(message)
static const string kName("name")
static const string kDescription("description")
static const string kValue("value")
atomic_uint_fast64_t m_Value
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4