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()); }
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(); }); }