Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }