gitextract_rpc3q3g2/ ├── .github/ │ └── workflows/ │ └── maven.yml ├── .gitignore ├── LICENSE ├── README.md ├── README_CN.md ├── README_EN.md ├── cachecloud-custom/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── sohu/ │ └── cache/ │ ├── DefaultCustomConfiguration.java │ ├── alert/ │ │ ├── EmailComponent.java │ │ ├── WeChatComponent.java │ │ ├── impl/ │ │ │ ├── DefaultEmailComponent.java │ │ │ └── DefaultWeChatComponent.java │ │ └── utils/ │ │ └── AlertUtils.java │ ├── configuration/ │ │ └── DefaultRestTemplateConfig.java │ ├── login/ │ │ ├── LoginComponent.java │ │ └── impl/ │ │ └── DefaultLoginComponent.java │ ├── report/ │ │ ├── ReportDataComponent.java │ │ └── impl/ │ │ └── DefaultReportDataComponent.java │ └── utils/ │ └── EnvCustomUtil.java ├── cachecloud-web/ │ ├── pom.xml │ ├── sql/ │ │ ├── 2.0.sql │ │ ├── 3.0.sql │ │ ├── 3.1.sql │ │ ├── 3.2.sql │ │ ├── 3.3.sql │ │ ├── function-support_custom_password.sql │ │ ├── update 2.0 to 3.0.sql │ │ ├── update 3.0 to 3.1.sql │ │ ├── update 3.1 to 3.2.sql │ │ ├── update 3.2 to 3.3.sql │ │ ├── update-system_resource.sql │ │ └── update2.0-2.1.sql │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── sohu/ │ │ └── cache/ │ │ ├── ApplicationStarter.java │ │ ├── alert/ │ │ │ ├── InstanceAlertService.java │ │ │ ├── bean/ │ │ │ │ └── AlertConfigBaseData.java │ │ │ ├── impl/ │ │ │ │ ├── BaseAlertService.java │ │ │ │ └── InstanceAlertServiceImpl.java │ │ │ └── strategy/ │ │ │ ├── AlertConfigStrategy.java │ │ │ ├── AofCurrentSizeAlertStrategy.java │ │ │ ├── ClientBiggestInputBufAlertStrategy.java │ │ │ ├── ClientLongestOutputListAlertStrategy.java │ │ │ ├── ClusterSlotsOkAlertStrategy.java │ │ │ ├── ClusterStateAlertStrategy.java │ │ │ ├── DefaultCommonAlertStrategy.java │ │ │ ├── InstantaneousOpsPerSecAlertStrategy.java │ │ │ ├── LatestForkUsecAlertStrategy.java │ │ │ ├── MasterSlaveOffsetAlertStrategy.java │ │ │ ├── MemFragmentationRatioAlertStrategy.java │ │ │ ├── MinuteAofDelayedFsyncAlertStrategy.java │ │ │ ├── MinuteRejectedConnectionsAlertStrategy.java │ │ │ ├── MinuteSyncFullAlertStrategy.java │ │ │ ├── MinuteSyncPartialErrAlertStrategy.java │ │ │ ├── MinuteSyncPartialOkAlertStrategy.java │ │ │ ├── MinuteTotalNetInputMBytesAlertStrategy.java │ │ │ ├── MinuteTotalNetOutputMBytesAlertStrategy.java │ │ │ ├── MinuteUsedCpuSysChStrategy.java │ │ │ ├── MinuteUsedCpuSysStrategy.java │ │ │ ├── MinuteUsedCpuUserChStrategy.java │ │ │ ├── MinuteUsedCpuUserStrategy.java │ │ │ └── RdbLastBgsaveStatusAlertStrategy.java │ │ ├── async/ │ │ │ ├── AsyncService.java │ │ │ ├── AsyncThreadPoolFactory.java │ │ │ ├── CounterRejectedExecutionHandler.java │ │ │ ├── KeyCallable.java │ │ │ ├── KeyFuture.java │ │ │ ├── NamedThreadFactory.java │ │ │ └── impl/ │ │ │ └── AsyncServiceImpl.java │ │ ├── client/ │ │ │ ├── AppClientReportConstant.java │ │ │ ├── AppClientReportModel.java │ │ │ ├── command/ │ │ │ │ ├── AppClientCommand.java │ │ │ │ └── AppClientParams.java │ │ │ ├── heartbeat/ │ │ │ │ ├── RedisClientController.java │ │ │ │ ├── RedisClientOldController.java │ │ │ │ └── RedisClientReportDataController.java │ │ │ └── service/ │ │ │ ├── AppClientReportCommandService.java │ │ │ ├── AppClientReportExceptionService.java │ │ │ ├── AppClientService.java │ │ │ ├── AppClientStatisticGatherService.java │ │ │ ├── AppInstanceClientRelationService.java │ │ │ ├── ClientReportExceptionService.java │ │ │ ├── ClientReportInstanceService.java │ │ │ ├── ClientVersionService.java │ │ │ ├── DealClientReportService.java │ │ │ └── impl/ │ │ │ ├── AppClientReportCommandServiceImpl.java │ │ │ ├── AppClientReportExceptionServiceImpl.java │ │ │ ├── AppClientServiceImpl.java │ │ │ ├── AppClientStatisticGatherServiceImpl.java │ │ │ ├── AppInstanceClientRelationServiceImpl.java │ │ │ ├── ClientReportExceptionServiceImpl.java │ │ │ ├── ClientReportInstanceServiceImpl.java │ │ │ ├── ClientVersionServiceImpl.java │ │ │ └── DealClientReportServiceImpl.java │ │ ├── configuration/ │ │ │ ├── AppClientReportBean.java │ │ │ ├── AsynExecutorConfiguration.java │ │ │ ├── AsyncConfiguration.java │ │ │ ├── DataSourceConfig.java │ │ │ ├── FreemakerCustomConfig.java │ │ │ ├── SSHPoolConfig.java │ │ │ └── WebAntPathConfig.java │ │ ├── constant/ │ │ │ ├── AppAuditLogTypeEnum.java │ │ │ ├── AppAuditType.java │ │ │ ├── AppCheckEnum.java │ │ │ ├── AppDataMigrateEnum.java │ │ │ ├── AppDataMigrateResult.java │ │ │ ├── AppDataMigrateStatusEnum.java │ │ │ ├── AppDescEnum.java │ │ │ ├── AppEnvNameEnum.java │ │ │ ├── AppStatusEnum.java │ │ │ ├── AppTopology.java │ │ │ ├── AppUserAlertEnum.java │ │ │ ├── AppUserTypeEnum.java │ │ │ ├── BaseConstant.java │ │ │ ├── ChmodEnum.java │ │ │ ├── ClientStatusEnum.java │ │ │ ├── ClusterOperateResult.java │ │ │ ├── CommandResult.java │ │ │ ├── DataFormatCheckResult.java │ │ │ ├── DiagnosticTypeEnum.java │ │ │ ├── EmptyObjectConstant.java │ │ │ ├── ErrorMessageEnum.java │ │ │ ├── HorizontalResult.java │ │ │ ├── ImportAppResult.java │ │ │ ├── InstanceStatusEnum.java │ │ │ ├── MachineConstant.java │ │ │ ├── MachineInfoEnum.java │ │ │ ├── OperateResult.java │ │ │ ├── PipelineEnum.java │ │ │ ├── RedisConfigTemplateChangeEnum.java │ │ │ ├── RedisConstant.java │ │ │ ├── RedisExcludeCommand.java │ │ │ ├── RedisMigrateToolConstant.java │ │ │ ├── RedisShakeEnum.java │ │ │ ├── ReshardStatusEnum.java │ │ │ ├── SymbolConstant.java │ │ │ ├── TimeDimensionalityEnum.java │ │ │ ├── UserLoginTypeEnum.java │ │ │ └── ValueSizeDistriEnum.java │ │ ├── dao/ │ │ │ ├── AppAlertRecordDao.java │ │ │ ├── AppAuditDao.java │ │ │ ├── AppAuditLogDao.java │ │ │ ├── AppBizDao.java │ │ │ ├── AppCapacityMonitorDao.java │ │ │ ├── AppClientCommandStatisticsDao.java │ │ │ ├── AppClientCostTimeStatDao.java │ │ │ ├── AppClientCostTimeTotalStatDao.java │ │ │ ├── AppClientExceptionStatDao.java │ │ │ ├── AppClientExceptionStatisticsDao.java │ │ │ ├── AppClientLatencyCommandDao.java │ │ │ ├── AppClientReportDataSizeDao.java │ │ │ ├── AppClientStatisticGatherDao.java │ │ │ ├── AppClientVersionDao.java │ │ │ ├── AppDailyDao.java │ │ │ ├── AppDao.java │ │ │ ├── AppDataMigrateStatusDao.java │ │ │ ├── AppImportDao.java │ │ │ ├── AppInstanceClientRelationDao.java │ │ │ ├── AppStatsDao.java │ │ │ ├── AppToUserDao.java │ │ │ ├── AppUserDao.java │ │ │ ├── ConfigDao.java │ │ │ ├── ConfigRestartRecordDao.java │ │ │ ├── DiagnosticTaskRecordDao.java │ │ │ ├── InstanceAlertConfigDao.java │ │ │ ├── InstanceBigKeyDao.java │ │ │ ├── InstanceConfigDao.java │ │ │ ├── InstanceDao.java │ │ │ ├── InstanceFaultDao.java │ │ │ ├── InstanceLatencyHistoryDao.java │ │ │ ├── InstanceReshardProcessDao.java │ │ │ ├── InstanceSlowLogDao.java │ │ │ ├── InstanceStatsDao.java │ │ │ ├── MachineDao.java │ │ │ ├── MachineRelationDao.java │ │ │ ├── MachineRoomDao.java │ │ │ ├── MachineStatsDao.java │ │ │ ├── QuartzDao.java │ │ │ ├── ResourceDao.java │ │ │ ├── ServerStatusDao.java │ │ │ ├── StandardStatsDao.java │ │ │ ├── TaskQueueDao.java │ │ │ ├── TaskStepFlowDao.java │ │ │ └── TaskStepMetaDao.java │ │ ├── entity/ │ │ │ ├── AppAlertRecord.java │ │ │ ├── AppAudit.java │ │ │ ├── AppAuditLog.java │ │ │ ├── AppBiz.java │ │ │ ├── AppCapacityMonitor.java │ │ │ ├── AppCapacityStatisticsResult.java │ │ │ ├── AppClientCommandStatistics.java │ │ │ ├── AppClientCostTimeStat.java │ │ │ ├── AppClientCostTimeTotalStat.java │ │ │ ├── AppClientDataSizeStat.java │ │ │ ├── AppClientExceptionStat.java │ │ │ ├── AppClientExceptionStatistics.java │ │ │ ├── AppClientLatencyCommand.java │ │ │ ├── AppClientStatisticGather.java │ │ │ ├── AppClientValueDistriSimple.java │ │ │ ├── AppClientValueDistriStatTotal.java │ │ │ ├── AppClientVersion.java │ │ │ ├── AppCommandGroup.java │ │ │ ├── AppCommandStats.java │ │ │ ├── AppDailyData.java │ │ │ ├── AppDataMigrateSearch.java │ │ │ ├── AppDataMigrateStatus.java │ │ │ ├── AppDesc.java │ │ │ ├── AppImport.java │ │ │ ├── AppInfoApi.java │ │ │ ├── AppInstanceClientRelation.java │ │ │ ├── AppMonitorStatisticsResult.java │ │ │ ├── AppSearch.java │ │ │ ├── AppStatisticsSearch.java │ │ │ ├── AppStats.java │ │ │ ├── AppToUser.java │ │ │ ├── AppTopMemFragRatio.java │ │ │ ├── AppUser.java │ │ │ ├── BrevityScheduleTask.java │ │ │ ├── ClientInstanceException.java │ │ │ ├── ConfigRestartRecord.java │ │ │ ├── DbPoolStat.java │ │ │ ├── DeployInfo.java │ │ │ ├── DeployInfoStat.java │ │ │ ├── DiagnosticTaskRecord.java │ │ │ ├── InstanceAlertConfig.java │ │ │ ├── InstanceAlertValueResult.java │ │ │ ├── InstanceCommandStats.java │ │ │ ├── InstanceConfig.java │ │ │ ├── InstanceFault.java │ │ │ ├── InstanceInfo.java │ │ │ ├── InstanceLatencyHistory.java │ │ │ ├── InstanceMinuteStats.java │ │ │ ├── InstanceReshardProcess.java │ │ │ ├── InstanceSlotModel.java │ │ │ ├── InstanceSlowLog.java │ │ │ ├── InstanceStats.java │ │ │ ├── LoginResult.java │ │ │ ├── MachineInfo.java │ │ │ ├── MachineInstanceStat.java │ │ │ ├── MachineMemInfo.java │ │ │ ├── MachineMemStatInfo.java │ │ │ ├── MachineRelation.java │ │ │ ├── MachineRoom.java │ │ │ ├── MachineStats.java │ │ │ ├── OperationAlertValueResult.java │ │ │ ├── ParamCount.java │ │ │ ├── RedisVersion.java │ │ │ ├── RedisVersionStat.java │ │ │ ├── ServerInfo.java │ │ │ ├── ServerStatus.java │ │ │ ├── StandardStats.java │ │ │ ├── SystemConfig.java │ │ │ ├── SystemResource.java │ │ │ ├── ThreadPoolStat.java │ │ │ ├── TimeBetween.java │ │ │ ├── TimeDimensionality.java │ │ │ ├── TopologyExamResult.java │ │ │ └── TriggerInfo.java │ │ ├── exception/ │ │ │ ├── IllegalParamException.java │ │ │ └── SSHException.java │ │ ├── inspect/ │ │ │ ├── InspectHandler.java │ │ │ ├── InspectParamEnum.java │ │ │ ├── Inspector.java │ │ │ ├── InspectorJob.java │ │ │ └── impl/ │ │ │ ├── AbstractInspectHandler.java │ │ │ ├── AppClientConnInspector.java │ │ │ ├── AppHitPrecentInspector.java │ │ │ ├── AppInspectHandler.java │ │ │ ├── AppMemInspector.java │ │ │ ├── HostInspectHandler.java │ │ │ ├── InstanceRunInspector.java │ │ │ ├── InstanceStateInspector.java │ │ │ └── RedisIsolationPersistenceInspector.java │ │ ├── interceptor/ │ │ │ ├── AppAndInstanceAuthorityInterceptor.java │ │ │ ├── FrontUserLoginInterceptor.java │ │ │ └── ManageUserLoginInterceptor.java │ │ ├── log/ │ │ │ ├── CustLogAppenderInit.java │ │ │ └── TaskFlowRecordAppender.java │ │ ├── machine/ │ │ │ ├── MachineCenter.java │ │ │ ├── MachineDeployCenter.java │ │ │ ├── MachineProperty.java │ │ │ ├── PortGenerator.java │ │ │ └── impl/ │ │ │ ├── MachineCenterImpl.java │ │ │ └── MachineDeployCenterImpl.java │ │ ├── protocol/ │ │ │ ├── MachineProtocol.java │ │ │ └── RedisProtocol.java │ │ ├── redis/ │ │ │ ├── AssistRedisService.java │ │ │ ├── RedisCenter.java │ │ │ ├── RedisClusterNode.java │ │ │ ├── RedisClusterReshard.java │ │ │ ├── RedisConfigTemplateService.java │ │ │ ├── RedisDeployCenter.java │ │ │ ├── enums/ │ │ │ │ ├── AppTypeToAlertTypeEnum.java │ │ │ │ ├── DirEnum.java │ │ │ │ ├── InstanceAlertCheckCycleEnum.java │ │ │ │ ├── InstanceAlertCompareTypeEnum.java │ │ │ │ ├── InstanceAlertStatusEnum.java │ │ │ │ ├── InstanceAlertTypeEnum.java │ │ │ │ ├── RedisAlertConfigEnum.java │ │ │ │ ├── RedisClusterConfigEnum.java │ │ │ │ ├── RedisClusterInfoEnum.java │ │ │ │ ├── RedisConfigEnum.java │ │ │ │ ├── RedisInfoEnum.java │ │ │ │ ├── RedisReadOnlyCommandEnum.java │ │ │ │ └── RedisSentinelConfigEnum.java │ │ │ ├── impl/ │ │ │ │ ├── AssistRedisServiceImpl.java │ │ │ │ ├── RedisCenterImpl.java │ │ │ │ ├── RedisConfigTemplateServiceImpl.java │ │ │ │ └── RedisDeployCenterImpl.java │ │ │ └── util/ │ │ │ ├── AuthUtil.java │ │ │ ├── ClusterNodeInformation.java │ │ │ ├── ClusterNodeInformationParser.java │ │ │ ├── Command.java │ │ │ ├── JedisUtil.java │ │ │ ├── Keyword.java │ │ │ ├── LatencyHistoryItem.java │ │ │ ├── LatencyItem.java │ │ │ ├── PipelineUtil.java │ │ │ ├── ProtostuffSerializer.java │ │ │ └── VO.java │ │ ├── schedule/ │ │ │ ├── SchedulerCenter.java │ │ │ ├── TriggerCenter.java │ │ │ ├── brevity/ │ │ │ │ ├── BrevityScheduleType.java │ │ │ │ ├── BrevityScheduler.java │ │ │ │ ├── BrevitySchedulerJob.java │ │ │ │ ├── DispatcherBrevityScheduleJob.java │ │ │ │ └── impl/ │ │ │ │ ├── BrevitySchedulerImpl.java │ │ │ │ └── BrevitySchedulerImpl_Original.java │ │ │ ├── impl/ │ │ │ │ ├── SchedulerCenterImpl.java │ │ │ │ └── TriggerCenterImpl.java │ │ │ └── jobs/ │ │ │ ├── AppCapacityMonitorJob.java │ │ │ ├── AppDailyJob.java │ │ │ ├── AppPersistenceCheckJob.java │ │ │ ├── CacheBaseJob.java │ │ │ ├── CleanupDayAppClientStatJob.java │ │ │ ├── CleanupDayDimensionalityJob.java │ │ │ ├── CleanupMinuteDimensionalityJob.java │ │ │ ├── ExpAppsDailyJob.java │ │ │ ├── GatherAppClientStatisticsJob.java │ │ │ ├── GatherAppClientStatisticsServerCmdCountJob.java │ │ │ ├── InstanceAlertValueJob.java │ │ │ ├── InstanceStatJob.java │ │ │ ├── ReviseAppClientStatisGatherJob.java │ │ │ ├── SystemConfigRefreshJob.java │ │ │ └── TaskExecuteJob.java │ │ ├── server/ │ │ │ ├── ServerStatusCollector.java │ │ │ ├── data/ │ │ │ │ ├── CPU.java │ │ │ │ ├── Connection.java │ │ │ │ ├── Disk.java │ │ │ │ ├── LineParser.java │ │ │ │ ├── Load.java │ │ │ │ ├── Memory.java │ │ │ │ ├── Net.java │ │ │ │ ├── OS.java │ │ │ │ ├── OSInfo.java │ │ │ │ └── Server.java │ │ │ └── nmon/ │ │ │ └── NMONService.java │ │ ├── ssh/ │ │ │ ├── SSHClient.java │ │ │ ├── SSHMachineInfo.java │ │ │ ├── SSHService.java │ │ │ ├── SSHServiceImpl.java │ │ │ ├── SSHSessionPooledObjectFactory.java │ │ │ ├── SSHTemplate.java │ │ │ └── SSHUtil.java │ │ ├── stats/ │ │ │ ├── admin/ │ │ │ │ ├── CoreAppsStatCenter.java │ │ │ │ └── impl/ │ │ │ │ └── CoreAppsStatCenterImpl.java │ │ │ ├── app/ │ │ │ │ ├── AppDailyDataCenter.java │ │ │ │ ├── AppDataMigrateCenter.java │ │ │ │ ├── AppDeployCenter.java │ │ │ │ ├── AppPersistenceCheckCenter.java │ │ │ │ ├── AppStatsCenter.java │ │ │ │ ├── ImportAppCenter.java │ │ │ │ ├── RedisMigrateToolCenter.java │ │ │ │ ├── RedisShakeCenter.java │ │ │ │ └── impl/ │ │ │ │ ├── AppDailyDataCenterImpl.java │ │ │ │ ├── AppDataMigrateCenterImpl.java │ │ │ │ ├── AppDeployCenterImpl.java │ │ │ │ ├── AppPersistenceCheckCenterImpl.java │ │ │ │ ├── AppStatsCenterImpl.java │ │ │ │ ├── ImportAppCenterImpl.java │ │ │ │ ├── RedisMigrateToolCenterImpl.java │ │ │ │ └── RedisShakeCenterImpl.java │ │ │ └── instance/ │ │ │ ├── InstanceAlertConfigService.java │ │ │ ├── InstanceDeployCenter.java │ │ │ ├── InstanceStatsCenter.java │ │ │ └── impl/ │ │ │ ├── InstanceAlertConfigServiceImpl.java │ │ │ ├── InstanceDeployCenterImpl.java │ │ │ └── InstanceStatsCenterImpl.java │ │ ├── swagger/ │ │ │ └── Swagger2.java │ │ ├── task/ │ │ │ ├── BaseTask.java │ │ │ ├── TaskService.java │ │ │ ├── constant/ │ │ │ │ ├── IdleTimeDistriEnum.java │ │ │ │ ├── InstanceInfoEnum.java │ │ │ │ ├── InstanceRoleEnum.java │ │ │ │ ├── MachineExamContants.java │ │ │ │ ├── MachineSyncEnum.java │ │ │ │ ├── PikaNode.java │ │ │ │ ├── PushEnum.java │ │ │ │ ├── RedisDataStructureTypeEnum.java │ │ │ │ ├── ResourceEnum.java │ │ │ │ ├── ScanCleanConstants.java │ │ │ │ ├── TaskConstants.java │ │ │ │ ├── TaskQueueEnum.java │ │ │ │ ├── TaskStepFlowEnum.java │ │ │ │ ├── TopoloyExamContants.java │ │ │ │ ├── TtlTimeDistriEnum.java │ │ │ │ └── ValueSizeDistriEnum.java │ │ │ ├── entity/ │ │ │ │ ├── InstanceBigKey.java │ │ │ │ ├── NutCrackerNode.java │ │ │ │ ├── RedisSentinelNode.java │ │ │ │ ├── RedisServerNode.java │ │ │ │ ├── TaskQueue.java │ │ │ │ ├── TaskSearch.java │ │ │ │ ├── TaskStepFlow.java │ │ │ │ └── TaskStepMeta.java │ │ │ ├── impl/ │ │ │ │ └── TaskServiceImpl.java │ │ │ ├── tasks/ │ │ │ │ ├── AppKeyAnalysisTask.java │ │ │ │ ├── MachineSyncTask.java │ │ │ │ ├── OffLineAppTask.java │ │ │ │ ├── RedisClusterAppDeployTask.java │ │ │ │ ├── RedisSentinelAppDeployTask.java │ │ │ │ ├── RedisStandaloneAppDeployTask.java │ │ │ │ ├── TwemproxyAppDeployTask.java │ │ │ │ ├── analysis/ │ │ │ │ │ ├── RedisServerBigKeyAnalysisTask.java │ │ │ │ │ ├── RedisServerIdleKeyAnalysisTask.java │ │ │ │ │ ├── RedisServerKeyTtlAnalysisTask.java │ │ │ │ │ ├── RedisServerKeyTypeAnalysisTask.java │ │ │ │ │ └── RedisServerKeyValueAnalysisTask.java │ │ │ │ ├── daily/ │ │ │ │ │ ├── MachineExamTask.java │ │ │ │ │ └── TopologyExamTask.java │ │ │ │ ├── diagnosticTask/ │ │ │ │ │ ├── AppBigKeyTask.java │ │ │ │ │ ├── AppDelKeyTask.java │ │ │ │ │ ├── AppHotKeyTask.java │ │ │ │ │ ├── AppIdleKeyTask.java │ │ │ │ │ ├── AppScanCleanKeyTask.java │ │ │ │ │ ├── AppScanKeyTask.java │ │ │ │ │ ├── AppSlotAnalysisTask.java │ │ │ │ │ ├── InstanceBigKeyTask.java │ │ │ │ │ ├── InstanceDelKeyTask.java │ │ │ │ │ ├── InstanceHotKeyTask.java │ │ │ │ │ ├── InstanceIdleKeyTask.java │ │ │ │ │ ├── InstanceScanCleanKeyTask.java │ │ │ │ │ ├── InstanceScanKeyTask.java │ │ │ │ │ └── InstanceSlotAnalysisTask.java │ │ │ │ ├── install/ │ │ │ │ │ ├── RedisSentinelInstallTask.java │ │ │ │ │ └── RedisServerInstallTask.java │ │ │ │ └── resource/ │ │ │ │ └── PackCompileTask.java │ │ │ └── util/ │ │ │ ├── AppWechatUtil.java │ │ │ └── SpringContextUtil.java │ │ ├── util/ │ │ │ ├── AppKeyUtil.java │ │ │ ├── ConstUtils.java │ │ │ ├── DemoCodeUtil.java │ │ │ ├── EnvUtil.java │ │ │ ├── IdempotentConfirmer.java │ │ │ ├── IntegerUtil.java │ │ │ ├── JsonUtil.java │ │ │ ├── MD5Util.java │ │ │ ├── MapUtil.java │ │ │ ├── NMONFileFactory.java │ │ │ ├── NamedArg.java │ │ │ ├── NumberUtil.java │ │ │ ├── OSFactory.java │ │ │ ├── ObjectConvert.java │ │ │ ├── Pair.java │ │ │ ├── PandectUtil.java │ │ │ ├── RedisConstUtils.java │ │ │ ├── ScheduleUtil.java │ │ │ ├── StringUtil.java │ │ │ └── TypeUtil.java │ │ └── web/ │ │ ├── chart/ │ │ │ ├── key/ │ │ │ │ └── ChartKeysUtil.java │ │ │ └── model/ │ │ │ ├── AreaChartEntity.java │ │ │ ├── ChartEntity.java │ │ │ ├── HighchartDoublePoint.java │ │ │ ├── HighchartPoint.java │ │ │ ├── SimpleChartData.java │ │ │ └── SplineChartEntity.java │ │ ├── controller/ │ │ │ ├── AnalysisController.java │ │ │ ├── AppAutomationApiController.java │ │ │ ├── AppClientDataShowController.java │ │ │ ├── AppController.java │ │ │ ├── AppDataMigrateController.java │ │ │ ├── AppManageController.java │ │ │ ├── AppMigrateController.java │ │ │ ├── AppScrollRestartController.java │ │ │ ├── AppStatController.java │ │ │ ├── AppToolController.java │ │ │ ├── BaseController.java │ │ │ ├── ClientManageController.java │ │ │ ├── ConfigManageController.java │ │ │ ├── ExamToolController.java │ │ │ ├── ImportAppController.java │ │ │ ├── IndexController.java │ │ │ ├── InstanceAlertValueController.java │ │ │ ├── InstanceController.java │ │ │ ├── InstanceManageController.java │ │ │ ├── InstanceOperationController.java │ │ │ ├── LoginController.java │ │ │ ├── MachineManageController.java │ │ │ ├── NoticeManageController.java │ │ │ ├── OperationController.java │ │ │ ├── QuartzManageController.java │ │ │ ├── RedisConfigTemplateController.java │ │ │ ├── RedisVersionUpgradeController.java │ │ │ ├── ResourceController.java │ │ │ ├── ServerController.java │ │ │ ├── TaskController.java │ │ │ ├── TotalManageController.java │ │ │ ├── TriggerController.java │ │ │ ├── UserController.java │ │ │ ├── UserManageController.java │ │ │ ├── WebResourceController.java │ │ │ └── WikiController.java │ │ ├── enums/ │ │ │ ├── AdminEnum.java │ │ │ ├── AlertTypeEnum.java │ │ │ ├── AppImportStatusEnum.java │ │ │ ├── AppOrderByEnum.java │ │ │ ├── AppTypeEnum.java │ │ │ ├── BooleanEnum.java │ │ │ ├── CheckEnum.java │ │ │ ├── ClientTypeEnum.java │ │ │ ├── CompareTypeEnum.java │ │ │ ├── ConfigRestartOperateEnum.java │ │ │ ├── DeployInfoEnum.java │ │ │ ├── ExamToolEnum.java │ │ │ ├── ImportantLevelTypeEnum.java │ │ │ ├── LoginEnum.java │ │ │ ├── MachineMemoryDistriEnum.java │ │ │ ├── MachineTaskEnum.java │ │ │ ├── MasterSlaveExistEnum.java │ │ │ ├── NodeEnum.java │ │ │ ├── PodStatusEnum.java │ │ │ ├── RedisOperateEnum.java │ │ │ ├── RedisVersionEnum.java │ │ │ ├── RestartStatusEnum.java │ │ │ ├── SshAuthTypeEnum.java │ │ │ ├── StatEnum.java │ │ │ ├── SuccessEnum.java │ │ │ ├── TriggerStateEnum.java │ │ │ ├── UseTypeEnum.java │ │ │ └── WebClients.java │ │ ├── service/ │ │ │ ├── AppAlertRecordService.java │ │ │ ├── AppAutoCapacityService.java │ │ │ ├── AppImportService.java │ │ │ ├── AppRedisCommandCheckService.java │ │ │ ├── AppRedisConfigCheckService.java │ │ │ ├── AppScrollRestartService.java │ │ │ ├── AppService.java │ │ │ ├── ConfigService.java │ │ │ ├── DiagnosticToolService.java │ │ │ ├── InstancePortService.java │ │ │ ├── MigrateService.java │ │ │ ├── ResourceService.java │ │ │ ├── ServerDataService.java │ │ │ ├── ToolService.java │ │ │ ├── UserLoginStatusService.java │ │ │ ├── UserService.java │ │ │ ├── WebClientComponent.java │ │ │ └── impl/ │ │ │ ├── AppAlertRecordServiceImpl.java │ │ │ ├── AppAutoCapacityServiceImpl.java │ │ │ ├── AppImportServiceImpl.java │ │ │ ├── AppRedisCommandCheckServiceImpl.java │ │ │ ├── AppRedisConfigCheckServiceImpl.java │ │ │ ├── AppScrollRestartServiceImpl.java │ │ │ ├── AppServiceImpl.java │ │ │ ├── ConfigServiceImpl.java │ │ │ ├── DiagnosticToolServiceImpl.java │ │ │ ├── InstancePortServiceImpl.java │ │ │ ├── MigrateServiceImpl.java │ │ │ ├── ResourceServiceImpl.java │ │ │ ├── ServerDataServiceImpl.java │ │ │ ├── ToolServiceImpl.java │ │ │ ├── UserLoginStatusCookieServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ ├── util/ │ │ │ ├── AESCoder.java │ │ │ ├── AppEmailUtil.java │ │ │ ├── DateUtil.java │ │ │ ├── FreemakerUtils.java │ │ │ ├── IpUtil.java │ │ │ ├── Page.java │ │ │ ├── SimpleFileUtil.java │ │ │ └── WebUtil.java │ │ └── vo/ │ │ ├── AlertConfig.java │ │ ├── AppDetailVO.java │ │ ├── AppRedisCommandCheckResult.java │ │ ├── AppRedisCommandCheckVo.java │ │ ├── AppRedisConfigCheckResult.java │ │ ├── AppRedisConfigCheckVo.java │ │ ├── AppRedisConfigVo.java │ │ ├── AppUserVo.java │ │ ├── ExecuteResult.java │ │ ├── GeneralResponse.java │ │ ├── InstanceRedisCommandCheckResult.java │ │ ├── InstanceRedisConfigCheckResult.java │ │ ├── MachineEnv.java │ │ ├── MachineStatsVo.java │ │ ├── MasterSlaveGroupBo.java │ │ ├── RedisClusterNode.java │ │ ├── RedisCommandCheckResult.java │ │ ├── RedisConfigCheckResult.java │ │ ├── RedisConfigVo.java │ │ ├── RedisInfo.java │ │ └── RedisSlowLog.java │ ├── resources/ │ │ ├── application-local.yml │ │ ├── application-online.yml │ │ ├── application-open.yml │ │ ├── application-test.yml │ │ ├── application.yml │ │ ├── assets/ │ │ │ ├── css/ │ │ │ │ ├── buttons.css │ │ │ │ ├── common.css │ │ │ │ ├── custom.css │ │ │ │ ├── githubmd.css │ │ │ │ ├── jobindex.css │ │ │ │ └── mem-cloud.css │ │ │ ├── dist/ │ │ │ │ ├── css/ │ │ │ │ │ ├── adminlte.css │ │ │ │ │ └── alt/ │ │ │ │ │ ├── adminlte.components.css │ │ │ │ │ ├── adminlte.core.css │ │ │ │ │ ├── adminlte.extra-components.css │ │ │ │ │ ├── adminlte.light.css │ │ │ │ │ ├── adminlte.pages.css │ │ │ │ │ └── adminlte.plugins.css │ │ │ │ └── js/ │ │ │ │ ├── adminlte.js │ │ │ │ └── demo.js │ │ │ ├── js/ │ │ │ │ ├── custom/ │ │ │ │ │ ├── appDeploy.js │ │ │ │ │ ├── appDetail.js │ │ │ │ │ ├── appInit.js │ │ │ │ │ ├── auditManage.js │ │ │ │ │ ├── getInstancesByAppId.js │ │ │ │ │ ├── jquery-console.js │ │ │ │ │ ├── machineManage.js │ │ │ │ │ ├── myPopover.js │ │ │ │ │ └── userManage.js │ │ │ │ ├── main.js │ │ │ │ └── myhighchart.js │ │ │ ├── plugins/ │ │ │ │ ├── fontawesome-free/ │ │ │ │ │ └── css/ │ │ │ │ │ ├── all.css │ │ │ │ │ ├── brands.css │ │ │ │ │ ├── fontawesome.css │ │ │ │ │ ├── regular.css │ │ │ │ │ ├── solid.css │ │ │ │ │ ├── svg-with-js.css │ │ │ │ │ └── v4-shims.css │ │ │ │ └── overlayScrollbars/ │ │ │ │ ├── css/ │ │ │ │ │ └── OverlayScrollbars.css │ │ │ │ └── js/ │ │ │ │ ├── OverlayScrollbars.js │ │ │ │ └── jquery.overlayScrollbars.js │ │ │ └── vendor/ │ │ │ ├── apexcharts/ │ │ │ │ ├── apexcharts.amd.js │ │ │ │ ├── apexcharts.common.js │ │ │ │ ├── apexcharts.css │ │ │ │ ├── apexcharts.esm.js │ │ │ │ ├── apexcharts.js │ │ │ │ └── locales/ │ │ │ │ ├── ar.json │ │ │ │ ├── ca.json │ │ │ │ ├── cs.json │ │ │ │ ├── de.json │ │ │ │ ├── el.json │ │ │ │ ├── en.json │ │ │ │ ├── es.json │ │ │ │ ├── et.json │ │ │ │ ├── fa.json │ │ │ │ ├── fi.json │ │ │ │ ├── fr.json │ │ │ │ ├── he.json │ │ │ │ ├── hi.json │ │ │ │ ├── hr.json │ │ │ │ ├── hu.json │ │ │ │ ├── hy.json │ │ │ │ ├── id.json │ │ │ │ ├── it.json │ │ │ │ ├── ja.json │ │ │ │ ├── ka.json │ │ │ │ ├── ko.json │ │ │ │ ├── lt.json │ │ │ │ ├── lv.json │ │ │ │ ├── nb.json │ │ │ │ ├── nl.json │ │ │ │ ├── pl.json │ │ │ │ ├── pt-br.json │ │ │ │ ├── pt.json │ │ │ │ ├── rs.json │ │ │ │ ├── ru.json │ │ │ │ ├── se.json │ │ │ │ ├── sk.json │ │ │ │ ├── sl.json │ │ │ │ ├── sq.json │ │ │ │ ├── th.json │ │ │ │ ├── tr.json │ │ │ │ ├── ua.json │ │ │ │ ├── zh-cn.json │ │ │ │ └── zh-tw.json │ │ │ ├── bootstrap/ │ │ │ │ ├── css/ │ │ │ │ │ ├── bootstrap-grid.css │ │ │ │ │ ├── bootstrap-grid.rtl.css │ │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ │ │ ├── bootstrap-utilities.css │ │ │ │ │ ├── bootstrap-utilities.rtl.css │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ └── bootstrap.rtl.css │ │ │ │ └── js/ │ │ │ │ ├── bootstrap.bundle.js │ │ │ │ ├── bootstrap.esm.js │ │ │ │ └── bootstrap.js │ │ │ ├── bootstrap-icons/ │ │ │ │ ├── bootstrap-icons.css │ │ │ │ ├── bootstrap-icons.json │ │ │ │ └── bootstrap-icons.scss │ │ │ ├── bootstrap-select/ │ │ │ │ ├── bootstrap-select.css │ │ │ │ └── bootstrap-select.js │ │ │ ├── boxicons/ │ │ │ │ └── css/ │ │ │ │ ├── animations.css │ │ │ │ ├── boxicons.css │ │ │ │ └── transformations.css │ │ │ ├── chart.js/ │ │ │ │ ├── chart.cjs │ │ │ │ ├── chart.js │ │ │ │ ├── chart.umd.js │ │ │ │ ├── chunks/ │ │ │ │ │ ├── helpers.segment.cjs │ │ │ │ │ └── helpers.segment.js │ │ │ │ ├── controllers/ │ │ │ │ │ ├── controller.bar.d.ts │ │ │ │ │ ├── controller.bubble.d.ts │ │ │ │ │ ├── controller.doughnut.d.ts │ │ │ │ │ ├── controller.line.d.ts │ │ │ │ │ ├── controller.pie.d.ts │ │ │ │ │ ├── controller.polarArea.d.ts │ │ │ │ │ ├── controller.radar.d.ts │ │ │ │ │ ├── controller.scatter.d.ts │ │ │ │ │ └── index.d.ts │ │ │ │ ├── core/ │ │ │ │ │ ├── core.adapters.d.ts │ │ │ │ │ ├── core.animation.d.ts │ │ │ │ │ ├── core.animations.d.ts │ │ │ │ │ ├── core.animations.defaults.d.ts │ │ │ │ │ ├── core.animator.d.ts │ │ │ │ │ ├── core.config.d.ts │ │ │ │ │ ├── core.controller.d.ts │ │ │ │ │ ├── core.datasetController.d.ts │ │ │ │ │ ├── core.defaults.d.ts │ │ │ │ │ ├── core.element.d.ts │ │ │ │ │ ├── core.interaction.d.ts │ │ │ │ │ ├── core.layouts.d.ts │ │ │ │ │ ├── core.layouts.defaults.d.ts │ │ │ │ │ ├── core.plugins.d.ts │ │ │ │ │ ├── core.registry.d.ts │ │ │ │ │ ├── core.scale.autoskip.d.ts │ │ │ │ │ ├── core.scale.d.ts │ │ │ │ │ ├── core.scale.defaults.d.ts │ │ │ │ │ ├── core.ticks.d.ts │ │ │ │ │ ├── core.typedRegistry.d.ts │ │ │ │ │ └── index.d.ts │ │ │ │ ├── elements/ │ │ │ │ │ ├── element.arc.d.ts │ │ │ │ │ ├── element.bar.d.ts │ │ │ │ │ ├── element.line.d.ts │ │ │ │ │ ├── element.point.d.ts │ │ │ │ │ └── index.d.ts │ │ │ │ ├── helpers/ │ │ │ │ │ ├── helpers.canvas.d.ts │ │ │ │ │ ├── helpers.collection.d.ts │ │ │ │ │ ├── helpers.color.d.ts │ │ │ │ │ ├── helpers.config.d.ts │ │ │ │ │ ├── helpers.core.d.ts │ │ │ │ │ ├── helpers.curve.d.ts │ │ │ │ │ ├── helpers.dom.d.ts │ │ │ │ │ ├── helpers.easing.d.ts │ │ │ │ │ ├── helpers.extras.d.ts │ │ │ │ │ ├── helpers.interpolation.d.ts │ │ │ │ │ ├── helpers.intl.d.ts │ │ │ │ │ ├── helpers.math.d.ts │ │ │ │ │ ├── helpers.options.d.ts │ │ │ │ │ ├── helpers.rtl.d.ts │ │ │ │ │ ├── helpers.segment.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── types.d.ts │ │ │ │ ├── helpers.cjs │ │ │ │ ├── helpers.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.umd.d.ts │ │ │ │ ├── platform/ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── platform.base.d.ts │ │ │ │ │ ├── platform.basic.d.ts │ │ │ │ │ └── platform.dom.d.ts │ │ │ │ ├── plugins/ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── plugin.colors.d.ts │ │ │ │ │ ├── plugin.decimation.d.ts │ │ │ │ │ ├── plugin.filler/ │ │ │ │ │ │ ├── filler.drawing.d.ts │ │ │ │ │ │ ├── filler.helper.d.ts │ │ │ │ │ │ ├── filler.options.d.ts │ │ │ │ │ │ ├── filler.segment.d.ts │ │ │ │ │ │ ├── filler.target.d.ts │ │ │ │ │ │ ├── filler.target.stack.d.ts │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── simpleArc.d.ts │ │ │ │ │ ├── plugin.legend.d.ts │ │ │ │ │ ├── plugin.subtitle.d.ts │ │ │ │ │ ├── plugin.title.d.ts │ │ │ │ │ └── plugin.tooltip.d.ts │ │ │ │ ├── scales/ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── scale.category.d.ts │ │ │ │ │ ├── scale.linear.d.ts │ │ │ │ │ ├── scale.linearbase.d.ts │ │ │ │ │ ├── scale.logarithmic.d.ts │ │ │ │ │ ├── scale.radialLinear.d.ts │ │ │ │ │ ├── scale.time.d.ts │ │ │ │ │ └── scale.timeseries.d.ts │ │ │ │ ├── types/ │ │ │ │ │ ├── animation.d.ts │ │ │ │ │ ├── basic.d.ts │ │ │ │ │ ├── color.d.ts │ │ │ │ │ ├── geometric.d.ts │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ ├── helpers.canvas.d.ts │ │ │ │ │ │ ├── helpers.segment.d.ts │ │ │ │ │ │ └── index.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── layout.d.ts │ │ │ │ │ └── utils.d.ts │ │ │ │ └── types.d.ts │ │ │ ├── clipboard/ │ │ │ │ └── clipboard.js │ │ │ ├── data-tables/ │ │ │ │ ├── css/ │ │ │ │ │ ├── dataTables.bootstrap.css │ │ │ │ │ ├── dataTables.bootstrap4.css │ │ │ │ │ ├── dataTables.bootstrap5.css │ │ │ │ │ ├── dataTables.bulma.css │ │ │ │ │ ├── dataTables.dataTables.css │ │ │ │ │ ├── dataTables.foundation.css │ │ │ │ │ ├── dataTables.jqueryui.css │ │ │ │ │ ├── dataTables.semanticui.css │ │ │ │ │ └── jquery.dataTables.css │ │ │ │ ├── datatables.css │ │ │ │ ├── datatables.js │ │ │ │ ├── js/ │ │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ │ ├── dataTables.bootstrap4.js │ │ │ │ │ ├── dataTables.bootstrap5.js │ │ │ │ │ ├── dataTables.bulma.js │ │ │ │ │ ├── dataTables.dataTables.js │ │ │ │ │ ├── dataTables.foundation.js │ │ │ │ │ ├── dataTables.jqueryui.js │ │ │ │ │ ├── dataTables.semanticui.js │ │ │ │ │ └── jquery.dataTables.js │ │ │ │ └── scrolling.js │ │ │ ├── echarts/ │ │ │ │ ├── echarts.common.js │ │ │ │ ├── echarts.esm.js │ │ │ │ ├── echarts.js │ │ │ │ ├── echarts.simple.js │ │ │ │ └── extension/ │ │ │ │ ├── bmap.js │ │ │ │ └── dataTool.js │ │ │ ├── fonts/ │ │ │ │ └── fonts-googleapis-source-sans-pro.css │ │ │ ├── highchart/ │ │ │ │ └── highcharts.js │ │ │ ├── jquery/ │ │ │ │ └── jquery.md5.js │ │ │ ├── paginator/ │ │ │ │ └── bootstrap-paginator.js │ │ │ ├── php-email-form/ │ │ │ │ └── validate.js │ │ │ ├── quill/ │ │ │ │ ├── quill.bubble.css │ │ │ │ ├── quill.core.css │ │ │ │ ├── quill.core.js │ │ │ │ ├── quill.js │ │ │ │ └── quill.snow.css │ │ │ ├── remixicon/ │ │ │ │ ├── remixicon.css │ │ │ │ └── remixicon.less │ │ │ ├── simple-datatables/ │ │ │ │ ├── simple-datatables.js │ │ │ │ └── style.css │ │ │ └── tinymce/ │ │ │ ├── CHANGELOG.md │ │ │ ├── README.md │ │ │ ├── bower.json │ │ │ ├── composer.json │ │ │ ├── icons/ │ │ │ │ └── default/ │ │ │ │ ├── icons.js │ │ │ │ └── index.js │ │ │ ├── license.txt │ │ │ ├── models/ │ │ │ │ └── dom/ │ │ │ │ ├── index.js │ │ │ │ └── model.js │ │ │ ├── package.json │ │ │ ├── plugins/ │ │ │ │ ├── advlist/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── anchor/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── autolink/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── autoresize/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── autosave/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── charmap/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── code/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── codesample/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── directionality/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── emoticons/ │ │ │ │ │ ├── index.js │ │ │ │ │ ├── js/ │ │ │ │ │ │ ├── emojiimages.js │ │ │ │ │ │ └── emojis.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── fullscreen/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── help/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── image/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── importcss/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── insertdatetime/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── link/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── lists/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── media/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── nonbreaking/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── pagebreak/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── preview/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── quickbars/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── save/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── searchreplace/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── table/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── template/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── visualblocks/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ ├── visualchars/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── plugin.js │ │ │ │ └── wordcount/ │ │ │ │ ├── index.js │ │ │ │ └── plugin.js │ │ │ ├── skins/ │ │ │ │ ├── content/ │ │ │ │ │ ├── dark/ │ │ │ │ │ │ └── content.css │ │ │ │ │ ├── default/ │ │ │ │ │ │ └── content.css │ │ │ │ │ ├── document/ │ │ │ │ │ │ └── content.css │ │ │ │ │ ├── tinymce-5/ │ │ │ │ │ │ └── content.css │ │ │ │ │ ├── tinymce-5-dark/ │ │ │ │ │ │ └── content.css │ │ │ │ │ └── writer/ │ │ │ │ │ └── content.css │ │ │ │ └── ui/ │ │ │ │ ├── oxide/ │ │ │ │ │ ├── content.css │ │ │ │ │ ├── content.inline.css │ │ │ │ │ ├── skin.css │ │ │ │ │ └── skin.shadowdom.css │ │ │ │ ├── oxide-dark/ │ │ │ │ │ ├── content.css │ │ │ │ │ ├── content.inline.css │ │ │ │ │ ├── skin.css │ │ │ │ │ └── skin.shadowdom.css │ │ │ │ ├── tinymce-5/ │ │ │ │ │ ├── content.css │ │ │ │ │ ├── content.inline.css │ │ │ │ │ ├── skin.css │ │ │ │ │ └── skin.shadowdom.css │ │ │ │ └── tinymce-5-dark/ │ │ │ │ ├── content.css │ │ │ │ ├── content.inline.css │ │ │ │ ├── skin.css │ │ │ │ └── skin.shadowdom.css │ │ │ ├── themes/ │ │ │ │ └── silver/ │ │ │ │ ├── index.js │ │ │ │ └── theme.js │ │ │ ├── tinymce.d.ts │ │ │ └── tinymce.js │ │ ├── cachecloud-web.conf │ │ ├── logback-spring.xml │ │ ├── mapper/ │ │ │ ├── AppAlertRecordDao.xml │ │ │ ├── AppAuditDao.xml │ │ │ ├── AppAuditLogDao.xml │ │ │ ├── AppBizDao.xml │ │ │ ├── AppCapacityMonitorDao.xml │ │ │ ├── AppClientCommandStatisticsDao.xml │ │ │ ├── AppClientCostTimeStatDao.xml │ │ │ ├── AppClientCostTimeTotalStatDao.xml │ │ │ ├── AppClientExceptionStatDao.xml │ │ │ ├── AppClientExceptionStatisticsDao.xml │ │ │ ├── AppClientLatencyCommandDao.xml │ │ │ ├── AppClientReportDataSizeDao.xml │ │ │ ├── AppClientStatisticGatherDao.xml │ │ │ ├── AppClientVersionDao.xml │ │ │ ├── AppDailyDao.xml │ │ │ ├── AppDao.xml │ │ │ ├── AppDataMigrateStatusDao.xml │ │ │ ├── AppImportDao.xml │ │ │ ├── AppInstanceClientRelationDao.xml │ │ │ ├── AppStatsDao.xml │ │ │ ├── AppToUserDao.xml │ │ │ ├── AppUserDao.xml │ │ │ ├── ConfigDao.xml │ │ │ ├── ConfigRestartRecordDao.xml │ │ │ ├── DiagnosticTaskRecordDao.xml │ │ │ ├── InstanceAlertConfigDao.xml │ │ │ ├── InstanceBigKeyDao.xml │ │ │ ├── InstanceConfigDao.xml │ │ │ ├── InstanceDao.xml │ │ │ ├── InstanceFaultDao.xml │ │ │ ├── InstanceLatencyHistoryDao.xml │ │ │ ├── InstanceReshardProcessDao.xml │ │ │ ├── InstanceSlowLogDao.xml │ │ │ ├── InstanceStatsDao.xml │ │ │ ├── MachineDao.xml │ │ │ ├── MachineRelationDao.xml │ │ │ ├── MachineStatsDao.xml │ │ │ ├── QuartzDao.xml │ │ │ ├── ResourceDao.xml │ │ │ ├── ServerStatusDao.xml │ │ │ ├── StandardStatsDao.xml │ │ │ ├── TaskQueueDao.xml │ │ │ ├── TaskStepFlowDao.xml │ │ │ └── TaskStepMetaDao.xml │ │ ├── mybatis-config.xml │ │ ├── spring/ │ │ │ ├── spring-client-report.xml │ │ │ ├── spring-data.xml │ │ │ ├── spring-inspector.xml │ │ │ ├── spring-mvc.xml │ │ │ ├── spring-mybatis.xml │ │ │ ├── spring-quartz.xml │ │ │ └── spring.xml │ │ ├── static/ │ │ │ └── wiki/ │ │ │ ├── access/ │ │ │ │ ├── client.md │ │ │ │ ├── client.toc.md │ │ │ │ ├── config.md │ │ │ │ ├── docker.md │ │ │ │ ├── docker.toc.md │ │ │ │ ├── index.md │ │ │ │ ├── init.md │ │ │ │ ├── init.toc.md │ │ │ │ ├── resource.md │ │ │ │ └── resource.toc.md │ │ │ ├── architecture/ │ │ │ │ ├── index.md │ │ │ │ ├── service.md │ │ │ │ └── tech.md │ │ │ ├── function/ │ │ │ │ ├── client-analysis.md │ │ │ │ ├── client-appStats.md │ │ │ │ ├── client-cmd.md │ │ │ │ ├── client-cmdexe.md │ │ │ │ ├── client-conn.md │ │ │ │ ├── client-daily.md │ │ │ │ ├── client-desc.md │ │ │ │ ├── client-instances.md │ │ │ │ ├── client-latency.md │ │ │ │ ├── client-register.md │ │ │ │ ├── client-statistic.md │ │ │ │ ├── client.md │ │ │ │ ├── index.md │ │ │ │ ├── job.md │ │ │ │ ├── operation-alert.md │ │ │ │ ├── operation-app.md │ │ │ │ ├── operation-diagnostic.md │ │ │ │ ├── operation-import.md │ │ │ │ ├── operation-instance.md │ │ │ │ ├── operation-job.md │ │ │ │ ├── operation-machine.md │ │ │ │ ├── operation-migrate.md │ │ │ │ ├── operation-module.md │ │ │ │ ├── operation-resource.md │ │ │ │ ├── operation-schedule.md │ │ │ │ ├── operation-systemalert.md │ │ │ │ ├── operation-task.md │ │ │ │ ├── operation-template.md │ │ │ │ ├── operation-user.md │ │ │ │ ├── operations.md │ │ │ │ ├── server-statistic.md │ │ │ │ ├── server-statistic.toc.md │ │ │ │ ├── statistics.md │ │ │ │ └── system-alert.md │ │ │ ├── intro/ │ │ │ │ ├── index.md │ │ │ │ ├── redisVersion.md │ │ │ │ ├── redisVersion.toc.md │ │ │ │ ├── releaseNote.md │ │ │ │ └── releaseNote.toc.md │ │ │ ├── operate/ │ │ │ │ ├── appAlert.md │ │ │ │ ├── appDeploy.md │ │ │ │ ├── appMigrate.md │ │ │ │ ├── appUpgrade.md │ │ │ │ ├── baseConcept.md │ │ │ │ ├── baseOperate.md │ │ │ │ ├── baseOperate.toc.md │ │ │ │ ├── baseOptimize.md │ │ │ │ ├── index.md │ │ │ │ ├── migrateTool.md │ │ │ │ ├── redisVersion.toc.md │ │ │ │ ├── rediscode.md │ │ │ │ └── ssh.md │ │ │ ├── quickstart/ │ │ │ │ ├── index.md │ │ │ │ └── index.toc.md │ │ │ └── troubleshooting/ │ │ │ ├── activefrag.md │ │ │ ├── activefrag.toc.md │ │ │ ├── bigkey.md │ │ │ ├── cachecloud.md │ │ │ ├── exception.md │ │ │ ├── hotkey.md │ │ │ ├── index.md │ │ │ ├── jedispoolconfig.md │ │ │ ├── jedispoolconfig.toc.md │ │ │ ├── liunx.md │ │ │ ├── liunx.toc.md │ │ │ ├── memory.md │ │ │ └── memory.toc.md │ │ └── templates/ │ │ ├── 404.html │ │ ├── OperationAlert.ftl │ │ ├── analysis/ │ │ │ ├── appKey.html │ │ │ └── keyAnalysis.html │ │ ├── app/ │ │ │ ├── appClientList.html │ │ │ ├── appCommand.html │ │ │ ├── appCommandAnalysis.html │ │ │ ├── appDaily.html │ │ │ ├── appDetail.html │ │ │ ├── appHitRatio.html │ │ │ ├── appInstanceCpuStat.html │ │ │ ├── appInstanceExpiredEvictedKeysStat.html │ │ │ ├── appInstanceMemFragRatioStat.html │ │ │ ├── appInstanceNetStat.html │ │ │ ├── appLatencyInfoDetail.html │ │ │ ├── appList.html │ │ │ ├── appMachineInstancesTopology.html │ │ │ ├── appStat.html │ │ │ ├── appTopology.html │ │ │ ├── jobIndex/ │ │ │ │ ├── appAlertConfig.html │ │ │ │ ├── appAlterConfigIndex.html │ │ │ │ ├── appCleanIndex.html │ │ │ │ ├── appConfig.html │ │ │ │ ├── appConfigIndex.html │ │ │ │ ├── appDataMigrate.html │ │ │ │ ├── appDataMigrateIndex.html │ │ │ │ ├── appDel.html │ │ │ │ ├── appDiagnostic.html │ │ │ │ ├── appDiagnosticIndex.html │ │ │ │ ├── appImport.html │ │ │ │ ├── appImportIndex.html │ │ │ │ ├── appInit.html │ │ │ │ ├── appInitIndex.html │ │ │ │ ├── appKeyAnalysis.html │ │ │ │ ├── appKeyAnalysisIndex.html │ │ │ │ ├── appOffline.html │ │ │ │ ├── appOfflineIndex.html │ │ │ │ ├── appScale.html │ │ │ │ ├── appScaleIndex.html │ │ │ │ ├── appScanClean.html │ │ │ │ ├── appScanCleanIndex.html │ │ │ │ ├── appTrailInit.html │ │ │ │ ├── appTrailInitIndex.html │ │ │ │ ├── head.html │ │ │ │ ├── index.html │ │ │ │ ├── myJobs.html │ │ │ │ └── nav.html │ │ │ ├── slowLog.html │ │ │ └── userAppsIndex.html │ │ ├── appAlert.ftl │ │ ├── appAudit.ftl │ │ ├── appDaily.ftl │ │ ├── client/ │ │ │ ├── appClientIndex.html │ │ │ ├── clientCommandStatistics.html │ │ │ ├── clientExceptionStatistics.html │ │ │ ├── cmdExceptionCommandDetail.html │ │ │ ├── cmdExceptionStatisticsByClient.html │ │ │ ├── commandStatisticsByClient.html │ │ │ └── connExceptionStatisticsByClient.html │ │ ├── error.html │ │ ├── expAppsDaily.ftl │ │ ├── inc/ │ │ │ ├── contact.html │ │ │ ├── daily.html │ │ │ ├── footer.html │ │ │ ├── frontResources.html │ │ │ ├── head.html │ │ │ ├── page.html │ │ │ ├── wikiHead.html │ │ │ └── wikiLeft.html │ │ ├── instance/ │ │ │ ├── instanceAdvancedAnalysis.html │ │ │ ├── instanceClientList.html │ │ │ ├── instanceCommand.html │ │ │ ├── instanceConfigSelect.html │ │ │ ├── instanceFault.html │ │ │ ├── instanceIndex.html │ │ │ ├── instanceSlowSelect.html │ │ │ └── instanceStat.html │ │ ├── instanceAlert.ftl │ │ ├── instanceRecover.ftl │ │ ├── instanceState.ftl │ │ ├── manage/ │ │ │ ├── appAudit/ │ │ │ │ ├── appAudit.html │ │ │ │ ├── appAuditList.html │ │ │ │ ├── appConfigChangeDetail.html │ │ │ │ ├── appIntanceReferList.html │ │ │ │ ├── appScaleApplyDetail.html │ │ │ │ ├── deploy/ │ │ │ │ │ ├── appDeployDetail.html │ │ │ │ │ └── initAppDeploy.html │ │ │ │ ├── handleHorizontalScale.html │ │ │ │ ├── handleHorizontalScaleDetail.html │ │ │ │ ├── horizontalScaleApplyDetail.html │ │ │ │ ├── horizontalScaleProcessList.html │ │ │ │ ├── initAppConfigChange.html │ │ │ │ ├── initAppScaleApply.html │ │ │ │ ├── initHorizontalScaleApply.html │ │ │ │ ├── initInstanceConfigChange.html │ │ │ │ ├── instanceConfig.html │ │ │ │ ├── instanceConfigChangeDetail.html │ │ │ │ └── list.html │ │ │ ├── appImport/ │ │ │ │ ├── appImport.html │ │ │ │ ├── index.html │ │ │ │ └── list.html │ │ │ ├── appOps/ │ │ │ │ ├── appCodeInit.html │ │ │ │ ├── appInfoAndAudit.html │ │ │ │ ├── appInstance.html │ │ │ │ ├── appMachine.html │ │ │ │ ├── appMigrate.html │ │ │ │ └── appOpsIndex.html │ │ │ ├── appStat/ │ │ │ │ ├── appStatList.html │ │ │ │ ├── appStatListServer.html │ │ │ │ ├── list.html │ │ │ │ └── listServer.html │ │ │ ├── appTool/ │ │ │ │ └── appKeysDealTool.html │ │ │ ├── backendTemplate.html │ │ │ ├── config/ │ │ │ │ ├── init.html │ │ │ │ └── initConfigDetail.html │ │ │ ├── diagnosticTool/ │ │ │ │ ├── diagnosticDelKey.html │ │ │ │ ├── diagnosticHotKey.html │ │ │ │ ├── diagnosticIdleKey.html │ │ │ │ ├── diagnosticMemUsed.html │ │ │ │ ├── diagnosticResult.html │ │ │ │ ├── diagnosticSampleCompare.html │ │ │ │ ├── diagnosticSampleCompareResult.html │ │ │ │ ├── diagnosticScan.html │ │ │ │ ├── diagnosticScanClean.html │ │ │ │ ├── diagnosticSlot.html │ │ │ │ ├── diagnosticTool.html │ │ │ │ ├── index.html │ │ │ │ ├── list.html │ │ │ │ └── resultList.html │ │ │ ├── fault/ │ │ │ │ ├── list.html │ │ │ │ └── memFaultList.html │ │ │ ├── inc/ │ │ │ │ ├── backendEndResources.html │ │ │ │ ├── backendResources.html │ │ │ │ ├── footer.html │ │ │ │ ├── head.html │ │ │ │ ├── left.html │ │ │ │ └── page.html │ │ │ ├── instance/ │ │ │ │ └── log.html │ │ │ ├── instanceAlert/ │ │ │ │ ├── init.html │ │ │ │ ├── initConfigDetail.html │ │ │ │ └── tendisAlert/ │ │ │ │ ├── init.html │ │ │ │ └── initConfigDetail.html │ │ │ ├── instanceOps/ │ │ │ │ ├── instanceCommandCheckList.html │ │ │ │ ├── instanceConfigCheckList.html │ │ │ │ ├── instanceOpsIndex.html │ │ │ │ ├── instanceOpsList.html │ │ │ │ └── page.html │ │ │ ├── login.html │ │ │ ├── machine/ │ │ │ │ ├── addMachine.html │ │ │ │ ├── addRoom.html │ │ │ │ ├── downCrashMachine.html │ │ │ │ ├── index.html │ │ │ │ ├── list.html │ │ │ │ ├── machineInstances.html │ │ │ │ ├── machineInstancesDetail.html │ │ │ │ ├── machineList.html │ │ │ │ ├── roomList.html │ │ │ │ ├── taskInfo.html │ │ │ │ └── taskInfo_bak.html │ │ │ ├── migrate/ │ │ │ │ ├── index.html │ │ │ │ ├── list.html │ │ │ │ ├── taskIndex.html │ │ │ │ └── tasklist.html │ │ │ ├── notice/ │ │ │ │ ├── initNotice.html │ │ │ │ └── initNoticeDetail.html │ │ │ ├── pod/ │ │ │ │ ├── changeList.html │ │ │ │ └── list.html │ │ │ ├── quartz/ │ │ │ │ ├── list.html │ │ │ │ └── quartzList.html │ │ │ ├── redisConfig/ │ │ │ │ ├── contrast.html │ │ │ │ ├── init.html │ │ │ │ ├── initConfigDetail.html │ │ │ │ └── preview.html │ │ │ ├── resource/ │ │ │ │ ├── addDir.html │ │ │ │ ├── addRedis.html │ │ │ │ ├── addScript.html │ │ │ │ ├── addTool.html │ │ │ │ ├── dir.html │ │ │ │ ├── index.html │ │ │ │ ├── list.html │ │ │ │ ├── redis.html │ │ │ │ ├── respo.html │ │ │ │ ├── script.html │ │ │ │ └── tool.html │ │ │ ├── task/ │ │ │ │ ├── flowList.html │ │ │ │ ├── queueList.html │ │ │ │ ├── taskFlowList.html │ │ │ │ └── taskQueueList.html │ │ │ ├── total/ │ │ │ │ ├── list.html │ │ │ │ ├── totalList.html │ │ │ │ └── upgradeRedis.html │ │ │ ├── totalstat/ │ │ │ │ ├── list.html │ │ │ │ └── totalList.html │ │ │ └── user/ │ │ │ ├── addBiz.html │ │ │ ├── addUser.html │ │ │ ├── list.html │ │ │ ├── overUser.html │ │ │ ├── updateUser.html │ │ │ ├── updateUserPwd.html │ │ │ └── userList.html │ │ ├── migrate/ │ │ │ ├── checkData.html │ │ │ ├── checkDataLog.html │ │ │ ├── config.html │ │ │ ├── init.html │ │ │ ├── log.html │ │ │ └── process.html │ │ ├── noPower.html │ │ ├── server/ │ │ │ ├── cpu.html │ │ │ ├── disk.html │ │ │ ├── index.html │ │ │ ├── net.html │ │ │ └── overview.html │ │ ├── topologyExam.ftl │ │ ├── user/ │ │ │ └── userRegister.html │ │ ├── wikiAccessClientTemplate.html │ │ └── wikiTemplate.html │ └── webapp/ │ └── WEB-INF/ │ └── web.xml ├── pom.xml └── redis-ecs/ ├── help.md └── script/ ├── cachecloud-init.sh ├── redis-install.sh ├── redisShake-install.sh └── ssh-keygen.sh