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

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

private FillGlobalLockStatistics ( BsonDocument statusOutput, object>.IDictionary status ) : void
statusOutput BsonDocument
status object>.IDictionary
Результат void
        private void FillGlobalLockStatistics(BsonDocument statusOutput, IDictionary<string, object> status)
        {
            if (statusOutput.Contains("globalLock"))
            {
                BsonDocument globalLockOutput = (BsonDocument)statusOutput["globalLock"];
                IDictionary<string, object> globalLock = new Dictionary<string, object>();
                status.Add("globalLock", globalLock);

                var version = this.GetVersion(statusOutput);
                // mongodb over 2.2.0 doesn't have a global lock, so we can't report on it
                if (version != null && version[0] >= 2 && version[1] >= 2)
                {
                    globalLock.Add("ratio", 0);
                }
                else
                {
                    globalLock.Add("ratio", globalLockOutput["ratio"]);
                }

                BsonDocument currentQueueOutput = (BsonDocument)globalLockOutput["currentQueue"];
                IDictionary<string, object> currentQueue = new Dictionary<string, object>();
                globalLock.Add("currentQueue", currentQueue);
                currentQueue.Add("total", currentQueueOutput["total"]);
                currentQueue.Add("readers", currentQueueOutput["readers"]);
                currentQueue.Add("writers", currentQueueOutput["writers"]);
            }
        }