You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
* added support for LATENCY_HISTORY command * clean code * Update LATENCY_HISTORY.ts --------- Co-authored-by: Leibale Eidelman <me@leibale.com>
This commit is contained in:
committed by
GitHub
parent
6848f3d207
commit
4ec97be4f0
@@ -86,6 +86,7 @@ import * as KEYS from '../commands/KEYS';
|
|||||||
import * as LASTSAVE from '../commands/LASTSAVE';
|
import * as LASTSAVE from '../commands/LASTSAVE';
|
||||||
import * as LATENCY_DOCTOR from '../commands/LATENCY_DOCTOR';
|
import * as LATENCY_DOCTOR from '../commands/LATENCY_DOCTOR';
|
||||||
import * as LATENCY_GRAPH from '../commands/LATENCY_GRAPH';
|
import * as LATENCY_GRAPH from '../commands/LATENCY_GRAPH';
|
||||||
|
import * as LATENCY_HISTORY from '../commands/LATENCY_HISTORY';
|
||||||
import * as LATENCY_LATEST from '../commands/LATENCY_LATEST';
|
import * as LATENCY_LATEST from '../commands/LATENCY_LATEST';
|
||||||
import * as LOLWUT from '../commands/LOLWUT';
|
import * as LOLWUT from '../commands/LOLWUT';
|
||||||
import * as MEMORY_DOCTOR from '../commands/MEMORY_DOCTOR';
|
import * as MEMORY_DOCTOR from '../commands/MEMORY_DOCTOR';
|
||||||
@@ -298,6 +299,8 @@ export default {
|
|||||||
latencyDoctor: LATENCY_DOCTOR,
|
latencyDoctor: LATENCY_DOCTOR,
|
||||||
LATENCY_GRAPH,
|
LATENCY_GRAPH,
|
||||||
latencyGraph: LATENCY_GRAPH,
|
latencyGraph: LATENCY_GRAPH,
|
||||||
|
LATENCY_HISTORY,
|
||||||
|
latencyHistory: LATENCY_HISTORY,
|
||||||
LATENCY_LATEST,
|
LATENCY_LATEST,
|
||||||
latencyLatest: LATENCY_LATEST,
|
latencyLatest: LATENCY_LATEST,
|
||||||
LOLWUT,
|
LOLWUT,
|
||||||
|
26
packages/client/lib/commands/LATENCY_HISTORY.spec.ts
Normal file
26
packages/client/lib/commands/LATENCY_HISTORY.spec.ts
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
import {strict as assert} from 'assert';
|
||||||
|
import testUtils, {GLOBAL} from '../test-utils';
|
||||||
|
import { transformArguments } from './LATENCY_HISTORY';
|
||||||
|
|
||||||
|
describe('LATENCY HISTORY', () => {
|
||||||
|
it('transformArguments', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
transformArguments('command'),
|
||||||
|
['LATENCY', 'HISTORY', 'command']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
testUtils.testWithClient('client.latencyHistory', async client => {
|
||||||
|
await Promise.all([
|
||||||
|
client.configSet('latency-monitor-threshold', '100'),
|
||||||
|
client.sendCommand(['DEBUG', 'SLEEP', '1'])
|
||||||
|
]);
|
||||||
|
|
||||||
|
const latencyHisRes = await client.latencyHistory('command');
|
||||||
|
assert.ok(Array.isArray(latencyHisRes));
|
||||||
|
for (const [timestamp, latency] of latencyHisRes) {
|
||||||
|
assert.equal(typeof timestamp, 'number');
|
||||||
|
assert.equal(typeof latency, 'number');
|
||||||
|
}
|
||||||
|
}, GLOBAL.SERVERS.OPEN);
|
||||||
|
});
|
27
packages/client/lib/commands/LATENCY_HISTORY.ts
Normal file
27
packages/client/lib/commands/LATENCY_HISTORY.ts
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
export type EventType = (
|
||||||
|
'active-defrag-cycle' |
|
||||||
|
'aof-fsync-always' |
|
||||||
|
'aof-stat' |
|
||||||
|
'aof-rewrite-diff-write' |
|
||||||
|
'aof-rename' |
|
||||||
|
'aof-write' |
|
||||||
|
'aof-write-active-child' |
|
||||||
|
'aof-write-alone' |
|
||||||
|
'aof-write-pending-fsync' |
|
||||||
|
'command' |
|
||||||
|
'expire-cycle' |
|
||||||
|
'eviction-cycle' |
|
||||||
|
'eviction-del' |
|
||||||
|
'fast-command' |
|
||||||
|
'fork' |
|
||||||
|
'rdb-unlink-temp-file'
|
||||||
|
);
|
||||||
|
|
||||||
|
export function transformArguments(event: EventType) {
|
||||||
|
return ['LATENCY', 'HISTORY', event];
|
||||||
|
}
|
||||||
|
|
||||||
|
export declare function transformReply(): Array<[
|
||||||
|
timestamp: number,
|
||||||
|
latency: number,
|
||||||
|
]>;
|
Reference in New Issue
Block a user