Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
0
        /// <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));
            }
        }