public override void Snapshot(string id, System.Xml.XmlTextWriter writer) { writer.WriteStartElement(id + "_Statistics"); writer.WriteAttributeString("ID", ID.ToString()); writer.WriteAttributeString("ReceivedRequestCount", ReceivedRequestCount.ToString()); writer.WriteAttributeString("ReceivedReadRequestCount", ReceivedReadRequestCount.ToString()); writer.WriteAttributeString("ReceivedWriteRequestCount", ReceivedWriteRequestCount.ToString()); writer.WriteAttributeString("HandledRequestsCount", HandledRequestsCount.ToString()); writer.WriteAttributeString("HandledReadRequestsCount", HandledReadRequestsCount.ToString()); writer.WriteAttributeString("HandledWriteRequestsCount", HandledWriteRequestsCount.ToString()); writer.WriteAttributeString("IgnoredRequestsRatio", RatioOfIgnoredRequests.ToString()); writer.WriteAttributeString("AverageCMDLifeTime_us", AverageCMDLifeTime.ToString()); writer.WriteAttributeString("AverageCMDExecutionTime_us", AverageCMDExecutionTime.ToString()); writer.WriteAttributeString("AverageCMDTransferTime_us", AverageCMDTransferTime.ToString()); writer.WriteAttributeString("AverageCMDWaitingTime_us", AverageCMDWaitingTime.ToString()); writer.WriteAttributeString("AverageReadCMDLifeTime_us", AverageReadCMDLifeTime.ToString()); writer.WriteAttributeString("AverageReadCMDExecutionTime_us", AverageReadCMDExecutionTime.ToString()); writer.WriteAttributeString("AverageReadCMDTransferTime_us", AverageReadCMDTransferTime.ToString()); writer.WriteAttributeString("AverageReadCMDWaitingTime_us", AverageReadCMDWaitingTime.ToString()); writer.WriteAttributeString("AverageProgramCMDLifeTime_us", AverageProgramCMDLifeTime.ToString()); writer.WriteAttributeString("AverageProgramCMDExecutionTime_us", AverageProgramCMDExecutionTime.ToString()); writer.WriteAttributeString("AverageProgramCMDTransferTime_us", AverageProgramCMDTransferTime.ToString()); writer.WriteAttributeString("AverageProgramCMDWaitingTime_us", AverageProgramCMDWaitingTime.ToString()); writer.WriteStartElement(id + "_Statistics_AfterGCStart"); writer.WriteAttributeString("ID", ID.ToString()); writer.WriteAttributeString("HandledRequestsCount", HandledRequestsCount_AGC.ToString()); writer.WriteAttributeString("HandledReadRequestsCount", HandledReadRequestsCount_AGC.ToString()); writer.WriteAttributeString("HandledWriteRequestsCount", HandledWriteRequestsCount_AGC.ToString()); writer.WriteAttributeString("AverageCMDLifeTime_us", AverageCMDLifeTime_AGC.ToString()); writer.WriteAttributeString("AverageCMDExecutionTime_us", AverageCMDExecutionTime_AGC.ToString()); writer.WriteAttributeString("AverageCMDTransferTime_us", AverageCMDTransferTime_AGC.ToString()); writer.WriteAttributeString("AverageCMDWaitingTime_us", AverageCMDWaitingTime_AGC.ToString()); writer.WriteAttributeString("AverageReadCMDLifeTime_us", AverageReadCMDLifeTime_AGC.ToString()); writer.WriteAttributeString("AverageReadCMDExecutionTime_us", AverageReadCMDExecutionTime_AGC.ToString()); writer.WriteAttributeString("AverageReadCMDTransferTime_us", AverageReadCMDTransferTime_AGC.ToString()); writer.WriteAttributeString("AverageReadCMDWaitingTime_us", AverageReadCMDWaitingTime_AGC.ToString()); writer.WriteAttributeString("AverageProgramCMDLifeTime_us", AverageProgramCMDLifeTime_AGC.ToString()); writer.WriteAttributeString("AverageProgramCMDExecutionTime_us", AverageProgramCMDExecutionTime_AGC.ToString()); writer.WriteAttributeString("AverageProgramCMDTransferTime_us", AverageProgramCMDTransferTime_AGC.ToString()); writer.WriteAttributeString("AverageProgramCMDWaitingTime_us", AverageProgramCMDWaitingTime_AGC.ToString()); writer.WriteEndElement(); for (int i = 0; i < numberOfStreams; i++) { writer.WriteStartElement("Stream_Statistics"); _inputStreams[i].Snapshot(writer); _inputStreams[i].Close(); writer.WriteEndElement(); } }
public override void Snapshot(string id, System.Xml.XmlTextWriter writer) { writer.WriteStartElement(id + "_Statistics"); writer.WriteAttributeString("ID", ID.ToString()); writer.WriteAttributeString("ReceivedRequestCount", ReceivedRequestCount.ToString()); writer.WriteAttributeString("ReceivedReadRequestCount", ReceivedReadRequestCount.ToString()); writer.WriteAttributeString("ReceivedWriteRequestCount", ReceivedWriteRequestCount.ToString()); writer.WriteAttributeString("HandledRequestsCount", HandledRequestsCount.ToString()); writer.WriteAttributeString("HandledReadRequestsCount", HandledReadRequestsCount.ToString()); writer.WriteAttributeString("HandledWriteRequestsCount", HandledWriteRequestsCount.ToString()); writer.WriteAttributeString("AvgResponseTime_us", AvgResponseTime.ToString()); writer.WriteAttributeString("MinResponseTime_us", MinResponseTime.ToString()); writer.WriteAttributeString("MaxResponseTime_us", MaxResponseTime.ToString()); writer.WriteAttributeString("AvgResponseTimeRead_us", AvgResponseTimeR.ToString()); writer.WriteAttributeString("MinResponseTimeRead_us", MinResponseTimeR.ToString()); writer.WriteAttributeString("MaxResponseTimeRead_us", MaxResponseTimeR.ToString()); writer.WriteAttributeString("AvgResponseTimeWrite_us", AvgResponseTimeW.ToString()); writer.WriteAttributeString("MinResponseTimeWrite_us", MinResponseTimeW.ToString()); writer.WriteAttributeString("MaxResponseTimeWrite_us", MaxResponseTimeW.ToString()); writer.WriteAttributeString("AverageCMDLifeTime_ms", AverageCMDLifeTime.ToString()); writer.WriteAttributeString("AverageCMDExecutionTime_ms", AverageCMDExecutionTime.ToString()); writer.WriteAttributeString("AverageCMDTransferTime_ms", AverageCMDTransferTime.ToString()); writer.WriteAttributeString("AverageCMDWaitingTime_ms", AverageCMDWaitingTime.ToString()); writer.WriteAttributeString("AverageReadCMDLifeTime_ms", AverageReadCMDLifeTime.ToString()); writer.WriteAttributeString("AverageReadCMDExecutionTime_ms", AverageReadCMDExecutionTime.ToString()); writer.WriteAttributeString("AverageReadCMDTransferTime_ms", AverageReadCMDTransferTime.ToString()); writer.WriteAttributeString("AverageReadCMDWaitingTime_ms", AverageReadCMDWaitingTime.ToString()); writer.WriteAttributeString("AverageProgramCMDLifeTime_ms", AverageProgramCMDLifeTime.ToString()); writer.WriteAttributeString("AverageProgramCMDExecutionTime_ms", AverageProgramCMDExecutionTime.ToString()); writer.WriteAttributeString("AverageProgramCMDTransferTime_ms", AverageProgramCMDTransferTime.ToString()); writer.WriteAttributeString("AverageProgramCMDWaitingTime_ms", AverageProgramCMDWaitingTime.ToString()); writer.WriteAttributeString("IOPS", IOPS.ToString()); writer.WriteAttributeString("IOPSRead", IOPSReads.ToString()); writer.WriteAttributeString("IOPSWrite", IOPSWrites.ToString()); writer.WriteAttributeString("AggregateBandWidth_MB", AggregateBandWidth.ToString()); writer.WriteAttributeString("AggregateBandWidthRead_MB", AggregateBandWidthReads.ToString()); writer.WriteAttributeString("AggregateBandWidthWrites_MB", AggregateBandWidthWrites.ToString()); writer.WriteEndElement(); writer.WriteStartElement(id + "_Statistics_AfterGCStart"); writer.WriteAttributeString("ID", ID.ToString()); writer.WriteAttributeString("HandledRequestsCount", HandledRequestsCount_AGC.ToString()); writer.WriteAttributeString("HandledReadRequestsCount", HandledReadRequestsCount_AGC.ToString()); writer.WriteAttributeString("HandledWriteRequestsCount", HandledWriteRequestsCount_AGC.ToString()); writer.WriteAttributeString("AvgResponseTime_us", AvgResponseTime_AGC.ToString()); writer.WriteAttributeString("MinResponseTime_us", MinResponseTime_AGC.ToString()); writer.WriteAttributeString("MaxResponseTime_us", MaxResponseTime_AGC.ToString()); writer.WriteAttributeString("AvgResponseTimeRead_us", AvgResponseTimeR_AGC.ToString()); writer.WriteAttributeString("MinResponseTimeRead_us", MinResponseTimeR_AGC.ToString()); writer.WriteAttributeString("MaxResponseTimeRead_us", MaxResponseTimeR_AGC.ToString()); writer.WriteAttributeString("AvgResponseTimeWrite_us", AvgResponseTimeW_AGC.ToString()); writer.WriteAttributeString("MinResponseTimeWrite_us", MinResponseTimeW_AGC.ToString()); writer.WriteAttributeString("MaxResponseTimeWrite_us", MaxResponseTimeW_AGC.ToString()); writer.WriteAttributeString("AverageCMDLifeTime_ms", AverageCMDLifeTime_AGC.ToString()); writer.WriteAttributeString("AverageCMDExecutionTime_ms", AverageCMDExecutionTime_AGC.ToString()); writer.WriteAttributeString("AverageCMDTransferTime_ms", AverageCMDTransferTime_AGC.ToString()); writer.WriteAttributeString("AverageCMDWaitingTime_ms", AverageCMDWaitingTime_AGC.ToString()); writer.WriteAttributeString("AverageReadCMDLifeTime_ms", AverageReadCMDLifeTime_AGC.ToString()); writer.WriteAttributeString("AverageReadCMDExecutionTime_ms", AverageReadCMDExecutionTime_AGC.ToString()); writer.WriteAttributeString("AverageReadCMDTransferTime_ms", AverageReadCMDTransferTime_AGC.ToString()); writer.WriteAttributeString("AverageReadCMDWaitingTime_ms", AverageReadCMDWaitingTime_AGC.ToString()); writer.WriteAttributeString("AverageProgramCMDLifeTime_ms", AverageProgramCMDLifeTime_AGC.ToString()); writer.WriteAttributeString("AverageProgramCMDExecutionTime_ms", AverageProgramCMDExecutionTime_AGC.ToString()); writer.WriteAttributeString("AverageProgramCMDTransferTime_ms", AverageProgramCMDTransferTime_AGC.ToString()); writer.WriteAttributeString("AverageProgramCMDWaitingTime_ms", AverageProgramCMDWaitingTime_AGC.ToString()); writer.WriteAttributeString("IOPS", IOPS_AGC.ToString()); writer.WriteAttributeString("IOPSRead", IOPSReads_AGC.ToString()); writer.WriteAttributeString("IOPSWrite", IOPSWrites_AGC.ToString()); writer.WriteAttributeString("AggregateBandWidth_MB", AggregateBandWidth_AGC.ToString()); writer.WriteAttributeString("AggregateBandWidthRead_MB", AggregateBandWidthReads_AGC.ToString()); writer.WriteAttributeString("AggregateBandWidthWrites_MB", AggregateBandWidthWrites_AGC.ToString()); writer.WriteEndElement(); writer.WriteStartElement(id + "_Statistics" + "_BeforeGCStart"); writer.WriteAttributeString("ID", ID.ToString()); writer.WriteAttributeString("HandledRequestsCount", HandledRequestsCount_BGC.ToString()); writer.WriteAttributeString("HandledReadRequestsCount", HandledReadRequestsCount_BGC.ToString()); writer.WriteAttributeString("HandledWriteRequestsCount", HandledWriteRequestsCount_BGC.ToString()); writer.WriteAttributeString("AvgResponseTime_us", AvgResponseTime_BGC.ToString()); writer.WriteAttributeString("MinResponseTime_us", MinResponseTime_BGC.ToString()); writer.WriteAttributeString("MaxResponseTime_us", MaxResponseTime_BGC.ToString()); writer.WriteAttributeString("AvgResponseTimeRead_us", AvgResponseTimeR_BGC.ToString()); writer.WriteAttributeString("MinResponseTimeRead_us", MinResponseTimeR_BGC.ToString()); writer.WriteAttributeString("MaxResponseTimeRead_us", MaxResponseTimeR_BGC.ToString()); writer.WriteAttributeString("AvgResponseTimeWrite_us", AvgResponseTimeW_BGC.ToString()); writer.WriteAttributeString("MinResponseTimeWrite_us", MinResponseTimeW_BGC.ToString()); writer.WriteAttributeString("MaxResponseTimeWrite_us", MaxResponseTimeW_BGC.ToString()); writer.WriteAttributeString("AverageCMDLifeTime_ms", AverageCMDLifeTime_BGC.ToString()); writer.WriteAttributeString("AverageCMDExecutionTime_ms", AverageCMDExecutionTime_BGC.ToString()); writer.WriteAttributeString("AverageCMDTransferTime_ms", AverageCMDTransferTime_BGC.ToString()); writer.WriteAttributeString("AverageCMDWaitingTime_ms", AverageCMDWaitingTime_BGC.ToString()); writer.WriteAttributeString("AverageReadCMDLifeTime_ms", AverageReadCMDLifeTime_BGC.ToString()); writer.WriteAttributeString("AverageReadCMDExecutionTime_ms", AverageReadCMDExecutionTime_BGC.ToString()); writer.WriteAttributeString("AverageReadCMDTransferTime_ms", AverageReadCMDTransferTime_BGC.ToString()); writer.WriteAttributeString("AverageReadCMDWaitingTime_ms", AverageReadCMDWaitingTime_BGC.ToString()); writer.WriteAttributeString("AverageProgramCMDLifeTime_ms", AverageProgramCMDLifeTime_BGC.ToString()); writer.WriteAttributeString("AverageProgramCMDExecutionTime_ms", AverageProgramCMDExecutionTime_BGC.ToString()); writer.WriteAttributeString("AverageProgramCMDTransferTime_ms", AverageProgramCMDTransferTime_BGC.ToString()); writer.WriteAttributeString("AverageProgramCMDWaitingTime_ms", AverageProgramCMDWaitingTime_BGC.ToString()); writer.WriteAttributeString("IOPS", IOPS_BGC.ToString()); writer.WriteAttributeString("IOPSRead", IOPSReads_BGC.ToString()); writer.WriteAttributeString("IOPSWrite", IOPSWrites_BGC.ToString()); writer.WriteAttributeString("AggregateBandWidth_MB", AggregateBandWidth_BGC.ToString()); writer.WriteAttributeString("AggregateBandWidthRead_MB", AggregateBandWidthReads_BGC.ToString()); writer.WriteAttributeString("AggregateBandWidthWrites_MB", AggregateBandWidthWrites_BGC.ToString()); writer.WriteEndElement(); if (RTLoggingEnabled) { RTLogFile.Close(); RTLogFileR.Close(); RTLogFileW.Close(); } }