Example #1
0
        public void TestUpdateAddOperation()
        {
            var perOperationSamplingParameters1 = new PerOperationSamplingParameters(operation, new ProbabilisticSamplingStrategy(SamplingRate));
            var parametersList = new List <PerOperationSamplingParameters>();

            parametersList.Add(perOperationSamplingParameters1);

            _undertest.Update(new OperationSamplingParameters(DefaultSamplingProbability,
                                                              DefaultLowerBoundTracesPerSecond,
                                                              parametersList));

            Assert.Single(_operationToSamplers);
            Assert.Equal(new GuaranteedThroughputSampler(SamplingRate,
                                                         DefaultLowerBoundTracesPerSecond),
                         _operationToSamplers[operation]);
        }
Example #2
0
        public void TestUpdate()
        {
            GuaranteedThroughputSampler guaranteedThroughputSampler = Substitute.ForPartsOf <GuaranteedThroughputSampler>(0, 0);

            _operationToSamplers.Add(operation, guaranteedThroughputSampler);

            var perOperationSamplingParameters = new PerOperationSamplingParameters(operation, new ProbabilisticSamplingStrategy(SamplingRate));
            var parametersList = new List <PerOperationSamplingParameters>();

            parametersList.Add(perOperationSamplingParameters);

            var parameters = new OperationSamplingParameters(DefaultSamplingProbability, DefaultLowerBoundTracesPerSecond, parametersList);

            Assert.True(_undertest.Update(parameters));
            guaranteedThroughputSampler.Received(1).Update(SamplingRate, DefaultLowerBoundTracesPerSecond);
            //verifyNoMoreInteractions(guaranteedThroughputSampler);
        }
Example #3
0
        public void TestUpdateIgnoreGreaterThanMax()
        {
            GuaranteedThroughputSampler guaranteedThroughputSampler = Substitute.ForPartsOf <GuaranteedThroughputSampler>(0, 0);

            _operationToSamplers.Add(operation, guaranteedThroughputSampler);

            PerOperationSampler undertest = new PerOperationSampler(1, _operationToSamplers,
                                                                    _defaultProbabilisticSampler, DefaultLowerBoundTracesPerSecond, _loggerFactory);

            var perOperationSamplingParameters1 = new PerOperationSamplingParameters(operation, new ProbabilisticSamplingStrategy(SamplingRate));
            var perOperationSamplingParameters2 = new PerOperationSamplingParameters("second OPERATION", new ProbabilisticSamplingStrategy(SamplingRate));
            var parametersList = new List <PerOperationSamplingParameters>();

            parametersList.Add(perOperationSamplingParameters1);
            parametersList.Add(perOperationSamplingParameters2);

            undertest.Update(new OperationSamplingParameters(DefaultSamplingProbability,
                                                             DefaultLowerBoundTracesPerSecond, parametersList));

            Assert.Single(_operationToSamplers);
            Assert.NotNull(_operationToSamplers[operation]);
        }