protected override void WriteQueryPreparationTime(QueryPreparationTimes queryPreparationTimes)
 {
     QueryMetricsTextWriter.AppendTimeSpanToStringBuilder(
         this.stringBuilder,
         QueryMetricsTextWriter.QueryPreparationTime,
         queryPreparationTimes.LogicalPlanBuildTime
         + queryPreparationTimes.PhysicalPlanBuildTime
         + queryPreparationTimes.QueryCompilationTime
         + queryPreparationTimes.QueryOptimizationTime,
         indentLevel: 1);
 }
        private void WriteQueryPreparationTimes(QueryPreparationTimes queryPreparationTimes)
        {
            this.WriteBeforeQueryPreparationTimes();

            this.WriteQueryCompilationTime(queryPreparationTimes.QueryCompilationTime);
            this.WriteLogicalPlanBuildTime(queryPreparationTimes.LogicalPlanBuildTime);
            this.WritePhysicalPlanBuildTime(queryPreparationTimes.PhysicalPlanBuildTime);
            this.WriteQueryOptimizationTime(queryPreparationTimes.QueryOptimizationTime);

            this.WriteAfterQueryPreparationTimes();
        }
 protected abstract void WriteQueryPreparationTime(QueryPreparationTimes queryPreparationTimes);