Exemplo n.º 1
0
        public void Refresh()
        {
            Timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
            RuntimeInfo.Refresh();
            OSInfo.Refresh();

            DiskInfoList.Clear();
            var drives = DriveInfo.GetDrives().ToList();

            drives.ForEach(drive =>
            {
                if (drive.IsReady)
                {
                    DiskInfoList.Add(new DiskInfo()
                    {
                        Id    = drive.Name,
                        Free  = drive.AvailableFreeSpace / 1024,
                        Total = drive.TotalSize / 1024,
                        Use   = (drive.TotalSize - drive.AvailableFreeSpace) / 1024
                    });
                }
            });
            MemoryInfo.Refresh();
            ThreadInfo.Refresh();
            MessageInfo.Refresh();
            HeartbeatExtensions.ForEach(item => item.Refresh());
        }
Exemplo n.º 2
0
        public void WriteXml(System.Xml.XmlWriter writer)
        {
            XmlSerializer serializer = null;

            writer.WriteAttributeString("timestamp", Timestamp);

            serializer = new XmlSerializer(typeof(RuntimeInfo));
            serializer.Serialize(writer, RuntimeInfo, ns);

            serializer = new XmlSerializer(typeof(OSInfo));
            serializer.Serialize(writer, OSInfo, ns);

            writer.WriteStartElement("disk");
            DiskInfoList.ForEach(item =>
            {
                serializer = new XmlSerializer(typeof(DiskInfo));
                serializer.Serialize(writer, item, ns);
            });
            writer.WriteEndElement();

            serializer = new XmlSerializer(typeof(MemoryInfo));
            serializer.Serialize(writer, MemoryInfo, ns);

            serializer = new XmlSerializer(typeof(ThreadInfo));
            serializer.Serialize(writer, ThreadInfo, ns);

            serializer = new XmlSerializer(typeof(MessageInfo));
            serializer.Serialize(writer, MessageInfo, ns);

            HeartbeatExtensions.ForEach(item =>
            {
                writer.WriteStartElement("extension");
                writer.WriteAttributeString("id", item.Id);
                foreach (var item2 in item.Dict)
                {
                    writer.WriteStartElement("extensionDetail");
                    writer.WriteAttributeString("id", item2.Key.ToString());
                    writer.WriteAttributeString("value", item2.Value.ToString());
                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
            });
        }