BoxedIce.ServerDensity.Agent.Checks.ExtendedMongoDBCheck.FillDatabaseStatistics C# (CSharp) Метод

FillDatabaseStatistics() приватный Метод

private FillDatabaseStatistics ( object>.IDictionary status ) : void
status object>.IDictionary
Результат void
        private void FillDatabaseStatistics(IDictionary<string, object> status)
        {
            IDictionary<string, IDictionary<string, object>> dbStats = new Dictionary<string, IDictionary<string, object>>();
            status.Add("dbStats", dbStats);

            foreach (string dbName in _mongoServer.GetDatabaseNames())
            {
                if (dbName == "config" || dbName == "local" || dbName == "admin" || dbName == "test")
                {
                    // Ignore these database names.
                    continue;
                }

                MongoDatabase database = _mongoServer[dbName];
                CommandResult result = database.RunCommand("dbstats");
                BsonDocument dbStatsOutput = (BsonDocument)result.Response;
                MongoCollection collection = database["system.namespaces"];

                dbStats.Add(dbName, new Dictionary<string, object>());
                foreach (BsonElement element in dbStatsOutput.Elements)
                {
                    dbStats[dbName].Add(element.Name, element.Value);
                }

                try
                {
                    long namespaces = collection.Count();
                    dbStats[dbName].Add("namespaces", namespaces);
                }
                catch (MongoCommandException)
                {
                    dbStats[dbName].Add("namespaces", "");
                }
            }
        }