Merge pull request #6498 from oranagra/rm_latency_add_sample
Module API for LatencyAddSample
This commit is contained in:
commit
5aab012676
@ -95,7 +95,7 @@ void latencyMonitorInit(void) {
|
|||||||
* This function is usually called via latencyAddSampleIfNeeded(), that
|
* This function is usually called via latencyAddSampleIfNeeded(), that
|
||||||
* is a macro that only adds the sample if the latency is higher than
|
* is a macro that only adds the sample if the latency is higher than
|
||||||
* server.latency_monitor_threshold. */
|
* server.latency_monitor_threshold. */
|
||||||
void latencyAddSample(char *event, mstime_t latency) {
|
void latencyAddSample(const char *event, mstime_t latency) {
|
||||||
struct latencyTimeSeries *ts = dictFetchValue(server.latency_events,event);
|
struct latencyTimeSeries *ts = dictFetchValue(server.latency_events,event);
|
||||||
time_t now = time(NULL);
|
time_t now = time(NULL);
|
||||||
int prev;
|
int prev;
|
||||||
|
@ -62,7 +62,7 @@ struct latencyStats {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void latencyMonitorInit(void);
|
void latencyMonitorInit(void);
|
||||||
void latencyAddSample(char *event, mstime_t latency);
|
void latencyAddSample(const char *event, mstime_t latency);
|
||||||
int THPIsEnabled(void);
|
int THPIsEnabled(void);
|
||||||
|
|
||||||
/* Latency monitoring macros. */
|
/* Latency monitoring macros. */
|
||||||
|
@ -3933,6 +3933,14 @@ void RM__Assert(const char *estr, const char *file, int line) {
|
|||||||
_serverAssert(estr, file, line);
|
_serverAssert(estr, file, line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Allows adding event to the latency monitor to be observed by the LATENCY
|
||||||
|
* command. The call is skipped if the latency is smaller than the configured
|
||||||
|
* latency-monitor-threshold. */
|
||||||
|
void RM_LatencyAddSample(const char *event, mstime_t latency) {
|
||||||
|
if (latency >= server.latency_monitor_threshold)
|
||||||
|
latencyAddSample(event, latency);
|
||||||
|
}
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------
|
/* --------------------------------------------------------------------------
|
||||||
* Blocking clients from modules
|
* Blocking clients from modules
|
||||||
* -------------------------------------------------------------------------- */
|
* -------------------------------------------------------------------------- */
|
||||||
@ -6457,6 +6465,7 @@ void moduleRegisterCoreAPI(void) {
|
|||||||
REGISTER_API(Log);
|
REGISTER_API(Log);
|
||||||
REGISTER_API(LogIOError);
|
REGISTER_API(LogIOError);
|
||||||
REGISTER_API(_Assert);
|
REGISTER_API(_Assert);
|
||||||
|
REGISTER_API(LatencyAddSample);
|
||||||
REGISTER_API(StringAppendBuffer);
|
REGISTER_API(StringAppendBuffer);
|
||||||
REGISTER_API(RetainString);
|
REGISTER_API(RetainString);
|
||||||
REGISTER_API(StringCompare);
|
REGISTER_API(StringCompare);
|
||||||
|
@ -450,6 +450,7 @@ float REDISMODULE_API_FUNC(RedisModule_LoadFloat)(RedisModuleIO *io);
|
|||||||
void REDISMODULE_API_FUNC(RedisModule_Log)(RedisModuleCtx *ctx, const char *level, const char *fmt, ...);
|
void REDISMODULE_API_FUNC(RedisModule_Log)(RedisModuleCtx *ctx, const char *level, const char *fmt, ...);
|
||||||
void REDISMODULE_API_FUNC(RedisModule_LogIOError)(RedisModuleIO *io, const char *levelstr, const char *fmt, ...);
|
void REDISMODULE_API_FUNC(RedisModule_LogIOError)(RedisModuleIO *io, const char *levelstr, const char *fmt, ...);
|
||||||
void REDISMODULE_API_FUNC(RedisModule__Assert)(const char *estr, const char *file, int line);
|
void REDISMODULE_API_FUNC(RedisModule__Assert)(const char *estr, const char *file, int line);
|
||||||
|
void REDISMODULE_API_FUNC(RedisModule_LatencyAddSample)(const char *event, mstime_t latency);
|
||||||
int REDISMODULE_API_FUNC(RedisModule_StringAppendBuffer)(RedisModuleCtx *ctx, RedisModuleString *str, const char *buf, size_t len);
|
int REDISMODULE_API_FUNC(RedisModule_StringAppendBuffer)(RedisModuleCtx *ctx, RedisModuleString *str, const char *buf, size_t len);
|
||||||
void REDISMODULE_API_FUNC(RedisModule_RetainString)(RedisModuleCtx *ctx, RedisModuleString *str);
|
void REDISMODULE_API_FUNC(RedisModule_RetainString)(RedisModuleCtx *ctx, RedisModuleString *str);
|
||||||
int REDISMODULE_API_FUNC(RedisModule_StringCompare)(RedisModuleString *a, RedisModuleString *b);
|
int REDISMODULE_API_FUNC(RedisModule_StringCompare)(RedisModuleString *a, RedisModuleString *b);
|
||||||
@ -644,6 +645,7 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
|
|||||||
REDISMODULE_GET_API(Log);
|
REDISMODULE_GET_API(Log);
|
||||||
REDISMODULE_GET_API(LogIOError);
|
REDISMODULE_GET_API(LogIOError);
|
||||||
REDISMODULE_GET_API(_Assert);
|
REDISMODULE_GET_API(_Assert);
|
||||||
|
REDISMODULE_GET_API(LatencyAddSample);
|
||||||
REDISMODULE_GET_API(StringAppendBuffer);
|
REDISMODULE_GET_API(StringAppendBuffer);
|
||||||
REDISMODULE_GET_API(RetainString);
|
REDISMODULE_GET_API(RetainString);
|
||||||
REDISMODULE_GET_API(StringCompare);
|
REDISMODULE_GET_API(StringCompare);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user