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":[
|
"roles":[
|
||||||
{
|
{
|
||||||
"query_queue_max":0,
|
"query_queue_max":0,
|
||||||
|
"local_rate":0,
|
||||||
"input_bytes":{
|
"input_bytes":{
|
||||||
"hz":0.0,
|
"hz":0.0,
|
||||||
"counter":0,
|
"counter":0,
|
||||||
|
|
|
@ -56,6 +56,7 @@ const KeyRef JSONSchemas::statusSchema = LiteralStringRef(R"statusSchema(
|
||||||
"roles":[
|
"roles":[
|
||||||
{
|
{
|
||||||
"query_queue_max":0,
|
"query_queue_max":0,
|
||||||
|
"local_rate":0,
|
||||||
"input_bytes":{
|
"input_bytes":{
|
||||||
"hz":0.0,
|
"hz":0.0,
|
||||||
"counter":0,
|
"counter":0,
|
||||||
|
|
|
@ -429,6 +429,7 @@ struct RolesInfo {
|
||||||
obj["keys_queried"] = StatusCounter(storageMetrics.getValue("RowsQueried")).getStatus();
|
obj["keys_queried"] = StatusCounter(storageMetrics.getValue("RowsQueried")).getStatus();
|
||||||
obj["mutation_bytes"] = StatusCounter(storageMetrics.getValue("MutationBytes")).getStatus();
|
obj["mutation_bytes"] = StatusCounter(storageMetrics.getValue("MutationBytes")).getStatus();
|
||||||
obj["mutations"] = StatusCounter(storageMetrics.getValue("Mutations")).getStatus();
|
obj["mutations"] = StatusCounter(storageMetrics.getValue("Mutations")).getStatus();
|
||||||
|
obj.setKeyRawNumber("local_rate", storageMetrics.getValue("LocalRate"));
|
||||||
|
|
||||||
Version version = storageMetrics.getInt64("Version");
|
Version version = storageMetrics.getInt64("Version");
|
||||||
Version durableVersion = storageMetrics.getInt64("DurableVersion");
|
Version durableVersion = storageMetrics.getInt64("DurableVersion");
|
||||||
|
|
|
@ -472,6 +472,7 @@ public:
|
||||||
Counter updateBatches, updateVersions;
|
Counter updateBatches, updateVersions;
|
||||||
Counter loops;
|
Counter loops;
|
||||||
Counter fetchWaitingMS, fetchWaitingCount, fetchExecutingMS, fetchExecutingCount;
|
Counter fetchWaitingMS, fetchWaitingCount, fetchExecutingMS, fetchExecutingCount;
|
||||||
|
Counter readsRejected;
|
||||||
|
|
||||||
LatencyBands readLatencyBands;
|
LatencyBands readLatencyBands;
|
||||||
|
|
||||||
|
@ -500,6 +501,7 @@ public:
|
||||||
fetchWaitingCount("FetchWaitingCount", cc),
|
fetchWaitingCount("FetchWaitingCount", cc),
|
||||||
fetchExecutingMS("FetchExecutingMS", cc),
|
fetchExecutingMS("FetchExecutingMS", cc),
|
||||||
fetchExecutingCount("FetchExecutingCount", cc),
|
fetchExecutingCount("FetchExecutingCount", cc),
|
||||||
|
readsRejected("ReadsRejected", cc),
|
||||||
readLatencyBands("ReadLatencyMetrics", self->thisServerID, SERVER_KNOBS->STORAGE_LOGGING_DELAY)
|
readLatencyBands("ReadLatencyMetrics", self->thisServerID, SERVER_KNOBS->STORAGE_LOGGING_DELAY)
|
||||||
{
|
{
|
||||||
specialCounter(cc, "LastTLogVersion", [self](){ return self->lastTLogVersion; });
|
specialCounter(cc, "LastTLogVersion", [self](){ return self->lastTLogVersion; });
|
||||||
|
@ -508,7 +510,7 @@ public:
|
||||||
specialCounter(cc, "DurableVersion", [self](){ return self->durableVersion.get(); });
|
specialCounter(cc, "DurableVersion", [self](){ return self->durableVersion.get(); });
|
||||||
specialCounter(cc, "DesiredOldestVersion", [self](){ return self->desiredOldestVersion.get(); });
|
specialCounter(cc, "DesiredOldestVersion", [self](){ return self->desiredOldestVersion.get(); });
|
||||||
specialCounter(cc, "VersionLag", [self](){ return self->versionLag; });
|
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, "FetchKeysFetchActive", [self](){ return self->fetchKeysParallelismLock.activePermits(); });
|
||||||
specialCounter(cc, "FetchKeysWaiting", [self](){ return self->fetchKeysParallelismLock.waiters(); });
|
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)) {
|
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();
|
//request.error = future_version();
|
||||||
sendErrorWithPenalty(request.reply, server_overloaded(), getPenalty());
|
sendErrorWithPenalty(request.reply, server_overloaded(), getPenalty());
|
||||||
|
++counters.readsRejected;
|
||||||
return Void();
|
return Void();
|
||||||
}
|
}
|
||||||
return fun(this, request);
|
return fun(this, request);
|
||||||
|
|
Loading…
Reference in New Issue