Merge pull request #1712 from tclinken/add-local-rk-to-status
Track the local ratekeeper rate in status
This commit is contained in:
commit
2cd05e9ac9
|
@ -36,6 +36,7 @@
|
|||
"roles":[
|
||||
{
|
||||
"query_queue_max":0,
|
||||
"local_rate":0,
|
||||
"input_bytes":{
|
||||
"hz":0.0,
|
||||
"counter":0,
|
||||
|
|
|
@ -56,6 +56,7 @@ const KeyRef JSONSchemas::statusSchema = LiteralStringRef(R"statusSchema(
|
|||
"roles":[
|
||||
{
|
||||
"query_queue_max":0,
|
||||
"local_rate":0,
|
||||
"input_bytes":{
|
||||
"hz":0.0,
|
||||
"counter":0,
|
||||
|
|
|
@ -429,6 +429,7 @@ struct RolesInfo {
|
|||
obj["keys_queried"] = StatusCounter(storageMetrics.getValue("RowsQueried")).getStatus();
|
||||
obj["mutation_bytes"] = StatusCounter(storageMetrics.getValue("MutationBytes")).getStatus();
|
||||
obj["mutations"] = StatusCounter(storageMetrics.getValue("Mutations")).getStatus();
|
||||
obj.setKeyRawNumber("local_rate", storageMetrics.getValue("LocalRate"));
|
||||
|
||||
Version version = storageMetrics.getInt64("Version");
|
||||
Version durableVersion = storageMetrics.getInt64("DurableVersion");
|
||||
|
|
|
@ -472,6 +472,7 @@ public:
|
|||
Counter updateBatches, updateVersions;
|
||||
Counter loops;
|
||||
Counter fetchWaitingMS, fetchWaitingCount, fetchExecutingMS, fetchExecutingCount;
|
||||
Counter readsRejected;
|
||||
|
||||
LatencyBands readLatencyBands;
|
||||
|
||||
|
@ -500,6 +501,7 @@ public:
|
|||
fetchWaitingCount("FetchWaitingCount", cc),
|
||||
fetchExecutingMS("FetchExecutingMS", cc),
|
||||
fetchExecutingCount("FetchExecutingCount", cc),
|
||||
readsRejected("ReadsRejected", cc),
|
||||
readLatencyBands("ReadLatencyMetrics", self->thisServerID, SERVER_KNOBS->STORAGE_LOGGING_DELAY)
|
||||
{
|
||||
specialCounter(cc, "LastTLogVersion", [self](){ return self->lastTLogVersion; });
|
||||
|
@ -508,7 +510,7 @@ public:
|
|||
specialCounter(cc, "DurableVersion", [self](){ return self->durableVersion.get(); });
|
||||
specialCounter(cc, "DesiredOldestVersion", [self](){ return self->desiredOldestVersion.get(); });
|
||||
specialCounter(cc, "VersionLag", [self](){ return self->versionLag; });
|
||||
specialCounter(cc, "LocalRatekeeper", [self]{ return self->currentRate(); });
|
||||
specialCounter(cc, "LocalRate", [self]{ return self->currentRate() * 100; });
|
||||
|
||||
specialCounter(cc, "FetchKeysFetchActive", [self](){ return self->fetchKeysParallelismLock.activePermits(); });
|
||||
specialCounter(cc, "FetchKeysWaiting", [self](){ return self->fetchKeysParallelismLock.waiters(); });
|
||||
|
@ -646,6 +648,7 @@ public:
|
|||
if (rate < SERVER_KNOBS->STORAGE_DURABILITY_LAG_REJECT_THRESHOLD && deterministicRandom()->random01() > std::max(SERVER_KNOBS->STORAGE_DURABILITY_LAG_MIN_RATE, rate/SERVER_KNOBS->STORAGE_DURABILITY_LAG_REJECT_THRESHOLD)) {
|
||||
//request.error = future_version();
|
||||
sendErrorWithPenalty(request.reply, server_overloaded(), getPenalty());
|
||||
++counters.readsRejected;
|
||||
return Void();
|
||||
}
|
||||
return fun(this, request);
|
||||
|
|
Loading…
Reference in New Issue