@@ -6,6 +6,7 @@ import { AdditionalRedisModule } from 'uiSrc/store'
66import { apiService } from 'uiSrc/services'
77import { ApiEndpoints , DEFAULT_SUMMARY , KeyTypes , SUPPORTED_REDIS_MODULES } from 'uiSrc/constants'
88import { useAppInfoStore } from 'uiSrc/store/hooks/use-app-info-store/useAppInfoStore'
9+ import { getInstanceInfo } from 'uiSrc/services/databaseService'
910import { IModuleSummary , IRedisModulesSummary , ITelemetrySendEvent , MatchType , RedisModules , RedisModulesKeyType } from './interfaces'
1011import { isRedisearchAvailable , isTriggeredAndFunctionsAvailable } from '../database'
1112
@@ -43,6 +44,29 @@ const getModuleSummaryToSent = (module: AdditionalRedisModule): IModuleSummary =
4344 semanticVersion : module . semanticVersion ,
4445} )
4546
47+ export const getRedisInfoSummary = async ( id : string ) => {
48+ let infoData : any = { }
49+ try {
50+ const info = await getInstanceInfo ( id )
51+ infoData = {
52+ redis_version : info ?. version ,
53+ uptime_in_days : info ?. stats ?. uptime_in_days ,
54+ used_memory : info ?. usedMemory ,
55+ connected_clients : info ?. connectedClients ,
56+ maxmemory_policy : info ?. stats ?. maxmemory_policy ,
57+ instantaneous_ops_per_sec : info ?. stats ?. instantaneous_ops_per_sec ,
58+ instantaneous_input_kbps : info ?. stats ?. instantaneous_input_kbps ,
59+ instantaneous_output_kbps : info ?. stats ?. instantaneous_output_kbps ,
60+ numberOfKeysRange : info ?. stats ?. numberOfKeysRange ,
61+ totalKeys : info ?. totalKeys ,
62+ }
63+ } catch ( e ) {
64+ // continue regardless of error
65+ }
66+
67+ return infoData
68+ }
69+
4670export const getRedisModulesSummary = ( modules : AdditionalRedisModule [ ] = [ ] ) : IRedisModulesSummary => {
4771 const summary = cloneDeep ( DEFAULT_SUMMARY )
4872 try {
0 commit comments