/// <summary> /// Serialize the performace data to a binary format /// </summary> public void Serialize(BuildXLWriter writer) { ProcessPipExecutionPerformance processPipExecutionPerformance = this as ProcessPipExecutionPerformance; bool isProcessExecutionPerformance = processPipExecutionPerformance != null; writer.Write(isProcessExecutionPerformance); SerializeFields(writer); if (isProcessExecutionPerformance) { processPipExecutionPerformance.SerializeExtraFields(writer); } }
/// <summary> /// Deserialize performance data /// </summary> public static PipExecutionPerformance Deserialize(BuildXLReader reader) { bool isProcessExecutionPerformance = reader.ReadBoolean(); PipExecutionLevel level; DateTime executionStart; DateTime executionStop; uint workerId; DeserializeFields(reader, out level, out executionStart, out executionStop, out workerId); if (isProcessExecutionPerformance) { return(ProcessPipExecutionPerformance.Deserialize(reader, level, executionStart, executionStop, workerId)); } else { return(new PipExecutionPerformance(level, executionStart, executionStop, workerId)); } }