1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

init time series

This commit is contained in:
leibale
2021-11-29 08:52:14 -05:00
parent bc1bf7e7b1
commit f648f37f5a
29 changed files with 1226 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
import {
transformArguments as transformInfoArguments,
InfoRawReply,
InfoReply,
transformReply as transformInfoReply
} from './INFO';
export { IS_READ_ONLY, FIRST_KEY_INDEX } from './INFO';
export function transformArguments(key: string): Array<string> {
const args = transformInfoArguments(key);
args.push('DEBUG');
return args;
}
type InfoDebugRawReply = [
...infoArgs: InfoRawReply,
_: string,
chunks: Array<[
_: string,
startTimestamp: number,
_: string,
endTimestamp: number,
_: string,
samples: number,
_: string,
size: number,
_: string,
bytesPerSample: string
]>
]
interface InfoDebugReply extends InfoReply {
chunks: Array<{
startTimestamp: number;
endTimestamp: number;
samples: number;
size: number;
bytesPerSample: string;
}>;
}
export function transformReply(rawReply: InfoDebugRawReply): InfoDebugReply {
const reply = transformInfoReply(rawReply as unknown as InfoRawReply);
(reply as InfoDebugReply).chunks = rawReply[25].map(chunk => ({
startTimestamp: chunk[1],
endTimestamp: chunk[3],
samples: chunk[5],
size: chunk[7],
bytesPerSample: chunk[9]
}));
return reply as InfoDebugReply;
}