Exemple #1
0
        private void ParseMemoryInfo()
        {
            string memoryInfo = GPerfPlatform.GetMemoryInfo();

            if (!string.IsNullOrEmpty(memoryInfo))
            {
                string[] lines = memoryInfo.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
                if (lines != null && lines.Length > 0)
                {
                    foreach (var line in lines)
                    {
                        GPerfUtil.GetKeyValue(line, out var name, out var value);
                        if (name == MEMORY_TOTAL_KEY)
                        {
                            if (!long.TryParse(value, out m_TotalMemInKB))
                            {
                                m_TotalMemInKB = 0L;
                            }
                            m_TotalMemInKB /= GPerfUtil.BYTE_TO_MB_SIZE;
                        }
                        else if (name == MEMORY_AVAILABLE_KEY)
                        {
                            if (!long.TryParse(value, out m_AvailableMemInKB))
                            {
                                m_AvailableMemInKB = 0L;
                            }
                            m_AvailableMemInKB /= GPerfUtil.BYTE_TO_MB_SIZE;
                        }
                        else if (name == MEMORY_THRESHOLD_KEY)
                        {
                            if (!long.TryParse(value, out m_ThresholdInKB))
                            {
                                m_ThresholdInKB = 0L;
                            }
                            m_ThresholdInKB /= GPerfUtil.BYTE_TO_MB_SIZE;
                        }
                        else if (name == MEMORY_IS_LOW_KEY)
                        {
                            if (!bool.TryParse(value, out m_IsLowMemInKB))
                            {
                                m_IsLowMemInKB = false;
                            }
                        }
                        else if (name == MEMORY_PSS_KEY)
                        {
                            if (!long.TryParse(value, out m_PssMemInKB))
                            {
                                m_PssMemInKB = 0L;
                            }
                        }
                    }
                }
            }
        }