예제 #1
0
        public void TestAccumulator()
        {
            BackendMetrics.Accumulator accumulator = new BackendMetrics.Accumulator();
            accumulator = accumulator.Accumulate(MockBackendMetrics);
            accumulator = accumulator.Accumulate(MockBackendMetrics);

            BackendMetrics backendMetricsFromAddition = BackendMetrics.Accumulator.ToBackendMetrics(accumulator);
            BackendMetrics expected = new BackendMetrics(
                retrievedDocumentCount * 2,
                retrievedDocumentSize * 2,
                outputDocumentCount * 2,
                outputDocumentSize * 2,
                indexHitRatio,
                totalExecutionTime * 2,
                new QueryPreparationTimes(
                    queryCompileTime * 2,
                    logicalPlanBuildTime * 2,
                    physicalPlanBuildTime * 2,
                    queryOptimizationTime * 2),
                indexLookupTime * 2,
                documentLoadTime * 2,
                vmExecutionTime * 2,
                new RuntimeExecutionTimes(
                    (totalExecutionTime - systemFunctionExecuteTime - userFunctionExecuteTime) * 2,
                    systemFunctionExecuteTime * 2,
                    userFunctionExecuteTime * 2),
                documentWriteTime * 2);

            BackendMetricsTests.ValidateBackendMetricsEquals(expected, backendMetricsFromAddition);
        }
예제 #2
0
 public Accumulator(
     BackendMetrics.Accumulator backendMetricsAccumulator,
     IndexUtilizationInfo.Accumulator indexUtilizationInfoAccumulator,
     ClientSideMetrics.Accumulator clientSideMetricsAccumulator)
 {
     this.BackendMetricsAccumulator       = backendMetricsAccumulator;
     this.IndexUtilizationInfoAccumulator = indexUtilizationInfoAccumulator;
     this.ClientSideMetricsAccumulator    = clientSideMetricsAccumulator;
 }