public RedisMemoryAnalysis GetDatabaseMemoryAnalysis(int database, bool runIfMaster = false) { if (IsMaster && !runIfMaster) { return(new RedisMemoryAnalysis(ConnectionInfo, database) { ErrorMessage = "Cannot run memory analysis on a master - it hurts." }); } return(RedisAnalyzer.AnalyzeDatabaseMemory(ConnectionInfo, database)); }
public RedisMemoryAnalysis(RedisAnalyzer analyzer, RedisConnectionInfo connectionInfo, int database) { CreationDate = DateTime.UtcNow; KeyStats = new ConcurrentDictionary <KeyMatcher, KeyStats>(); ConnectionInfo = connectionInfo; Database = database; KeyMatchers = analyzer.KeyMatchers; if (KeyMatchers.Count == 0) { ErrorMessage = "Could not find regexes defined for " + connectionInfo; return; } foreach (var km in KeyMatchers) { KeyStats[km] = new KeyStats(); } }
public RedisMemoryAnalysis GetDatabaseMemoryAnalysis(int database, bool runIfMaster = false) { var ci = ConnectionInfo; if (IsMaster && !runIfMaster) { // no slaves, and a master - boom if (SlaveCount == 0) { return(new RedisMemoryAnalysis(ConnectionInfo, database) { ErrorMessage = "Cannot run memory analysis on a master - it hurts." }); } // Go to the first slave, automagically ci = SlaveInstances[0].ConnectionInfo; } return(RedisAnalyzer.AnalyzeDatabaseMemory(ci, database)); }
public void ClearDatabaseMemoryAnalysisCache(int database) { RedisAnalyzer.ClearDatabaseMemoryAnalysisCache(ConnectionInfo, database); }