提交 920611a4 编写于 作者: A antirez

RESP3: latency.c updated.

上级 ddb98ad5
...@@ -476,19 +476,19 @@ sds createLatencyReport(void) { ...@@ -476,19 +476,19 @@ sds createLatencyReport(void) {
/* latencyCommand() helper to produce a time-delay reply for all the samples /* latencyCommand() helper to produce a time-delay reply for all the samples
* in memory for the specified time series. */ * in memory for the specified time series. */
void latencyCommandReplyWithSamples(client *c, struct latencyTimeSeries *ts) { void latencyCommandReplyWithSamples(client *c, struct latencyTimeSeries *ts) {
void *replylen = addDeferredMultiBulkLength(c); void *replylen = addReplyDeferredLen(c);
int samples = 0, j; int samples = 0, j;
for (j = 0; j < LATENCY_TS_LEN; j++) { for (j = 0; j < LATENCY_TS_LEN; j++) {
int i = (ts->idx + j) % LATENCY_TS_LEN; int i = (ts->idx + j) % LATENCY_TS_LEN;
if (ts->samples[i].time == 0) continue; if (ts->samples[i].time == 0) continue;
addReplyMultiBulkLen(c,2); addReplyArrayLen(c,2);
addReplyLongLong(c,ts->samples[i].time); addReplyLongLong(c,ts->samples[i].time);
addReplyLongLong(c,ts->samples[i].latency); addReplyLongLong(c,ts->samples[i].latency);
samples++; samples++;
} }
setDeferredMultiBulkLength(c,replylen,samples); setDeferredArrayLen(c,replylen,samples);
} }
/* latencyCommand() helper to produce the reply for the LATEST subcommand, /* latencyCommand() helper to produce the reply for the LATEST subcommand,
...@@ -497,14 +497,14 @@ void latencyCommandReplyWithLatestEvents(client *c) { ...@@ -497,14 +497,14 @@ void latencyCommandReplyWithLatestEvents(client *c) {
dictIterator *di; dictIterator *di;
dictEntry *de; dictEntry *de;
addReplyMultiBulkLen(c,dictSize(server.latency_events)); addReplyArrayLen(c,dictSize(server.latency_events));
di = dictGetIterator(server.latency_events); di = dictGetIterator(server.latency_events);
while((de = dictNext(di)) != NULL) { while((de = dictNext(di)) != NULL) {
char *event = dictGetKey(de); char *event = dictGetKey(de);
struct latencyTimeSeries *ts = dictGetVal(de); struct latencyTimeSeries *ts = dictGetVal(de);
int last = (ts->idx + LATENCY_TS_LEN - 1) % LATENCY_TS_LEN; int last = (ts->idx + LATENCY_TS_LEN - 1) % LATENCY_TS_LEN;
addReplyMultiBulkLen(c,4); addReplyArrayLen(c,4);
addReplyBulkCString(c,event); addReplyBulkCString(c,event);
addReplyLongLong(c,ts->samples[last].time); addReplyLongLong(c,ts->samples[last].time);
addReplyLongLong(c,ts->samples[last].latency); addReplyLongLong(c,ts->samples[last].latency);
...@@ -583,7 +583,7 @@ NULL ...@@ -583,7 +583,7 @@ NULL
/* LATENCY HISTORY <event> */ /* LATENCY HISTORY <event> */
ts = dictFetchValue(server.latency_events,c->argv[2]->ptr); ts = dictFetchValue(server.latency_events,c->argv[2]->ptr);
if (ts == NULL) { if (ts == NULL) {
addReplyMultiBulkLen(c,0); addReplyArrayLen(c,0);
} else { } else {
latencyCommandReplyWithSamples(c,ts); latencyCommandReplyWithSamples(c,ts);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册