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(); }
internal QueryMetrics( long retrievedDocumentCount, long retrievedDocumentSize, long outputDocumentCount, long outputDocumentSize, long indexHitDocumentCount, IndexUtilizationInfo indexUtilizationInfo, TimeSpan totalQueryExecutionTime, QueryPreparationTimes queryPreparationTimes, TimeSpan indexLookupTime, TimeSpan documentLoadTime, TimeSpan vmExecutionTime, RuntimeExecutionTimes runtimeExecutionTimes, TimeSpan documentWriteTime, ClientSideMetrics clientSideMetrics) { if (queryPreparationTimes == null) { throw new ArgumentNullException($"{nameof(queryPreparationTimes)} can not be null."); } if (runtimeExecutionTimes == null) { throw new ArgumentNullException($"{nameof(runtimeExecutionTimes)} can not be null."); } if (clientSideMetrics == null) { throw new ArgumentNullException($"{nameof(clientSideMetrics)} can not be null."); } this.retrievedDocumentCount = retrievedDocumentCount; this.retrievedDocumentSize = retrievedDocumentSize; this.outputDocumentCount = outputDocumentCount; this.outputDocumentSize = outputDocumentSize; this.indexHitDocumentCount = indexHitDocumentCount; this.indexUtilizationInfo = indexUtilizationInfo; this.totalQueryExecutionTime = totalQueryExecutionTime; this.queryPreparationTimes = queryPreparationTimes; this.indexLookupTime = indexLookupTime; this.documentLoadTime = documentLoadTime; this.vmExecutionTime = vmExecutionTime; this.runtimeExecutionTimes = runtimeExecutionTimes; this.documentWriteTime = documentWriteTime; this.clientSideMetrics = clientSideMetrics; this.queryEngineTimes = new QueryEngineTimes(indexLookupTime, documentLoadTime, vmExecutionTime, documentWriteTime, runtimeExecutionTimes); }