示例#1
0
        public void JaegerThriftSamplingStrategyResponse_FromThrift()
        {
            var opStrats = new List <JaegerThriftOperationSamplingStrategy>
            {
                new JaegerThriftOperationSamplingStrategy("operation1", new JaegerThriftProbabilisticSamplingStrategy(0.5)),
                new JaegerThriftOperationSamplingStrategy("operation2", new JaegerThriftProbabilisticSamplingStrategy(0.45))
            };
            var perOpStrats = new JaegerThriftPerOperationSamplingStrategies(0.33, 18, opStrats);

            var strat = new JaegerThriftSamplingStrategyResponse
            {
                ProbabilisticSampling = new JaegerThriftProbabilisticSamplingStrategy(0.85),
                RateLimitingSampling  = new JaegerThriftRateLimitingSamplingStrategy(25),
                OperationSampling     = perOpStrats
            };

            var from = strat.FromThrift();

            Assert.Equal(strat.ProbabilisticSampling.SamplingRate, from.ProbabilisticSampling.SamplingRate);
            Assert.Equal(strat.RateLimitingSampling.MaxTracesPerSecond, from.RateLimitingSampling.MaxTracesPerSecond);

            Assert.Equal(perOpStrats.DefaultSamplingProbability, from.OperationSampling.DefaultSamplingProbability);
            Assert.Equal(perOpStrats.DefaultLowerBoundTracesPerSecond, from.OperationSampling.DefaultLowerBoundTracesPerSecond);
            Assert.Equal(opStrats[0].Operation, from.OperationSampling.PerOperationStrategies[0].Operation);
            Assert.Equal(opStrats[0].ProbabilisticSampling.SamplingRate, from.OperationSampling.PerOperationStrategies[0].ProbabilisticSampling.SamplingRate);
            Assert.Equal(opStrats[1].Operation, from.OperationSampling.PerOperationStrategies[1].Operation);
            Assert.Equal(opStrats[1].ProbabilisticSampling.SamplingRate, from.OperationSampling.PerOperationStrategies[1].ProbabilisticSampling.SamplingRate);
        }
示例#2
0
            public async Task ReadAsync(TProtocol iprot, CancellationToken cancellationToken)
            {
                iprot.IncrementRecursionDepth();
                try
                {
                    TField field;
                    await iprot.ReadStructBeginAsync(cancellationToken);

                    while (true)
                    {
                        field = await iprot.ReadFieldBeginAsync(cancellationToken);

                        if (field.Type == TType.Stop)
                        {
                            break;
                        }

                        switch (field.ID)
                        {
                        case 0:
                            if (field.Type == TType.Struct)
                            {
                                Success = new SamplingStrategyResponse();
                                await Success.ReadAsync(iprot, cancellationToken);
                            }
                            else
                            {
                                await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);
                            }
                            break;

                        default:
                            await TProtocolUtil.SkipAsync(iprot, field.Type, cancellationToken);

                            break;
                        }

                        await iprot.ReadFieldEndAsync(cancellationToken);
                    }

                    await iprot.ReadStructEndAsync(cancellationToken);
                }
                finally
                {
                    iprot.DecrementRecursionDepth();
                }
            }
        public SamplingStrategyResponse DeepCopy()
        {
            var tmp12 = new SamplingStrategyResponse();

            tmp12.StrategyType = this.StrategyType;
            if ((ProbabilisticSampling != null) && __isset.probabilisticSampling)
            {
                tmp12.ProbabilisticSampling = (global::Jaeger.Thrift.Agent.ProbabilisticSamplingStrategy) this.ProbabilisticSampling.DeepCopy();
            }
            tmp12.__isset.probabilisticSampling = this.__isset.probabilisticSampling;
            if ((RateLimitingSampling != null) && __isset.rateLimitingSampling)
            {
                tmp12.RateLimitingSampling = (global::Jaeger.Thrift.Agent.RateLimitingSamplingStrategy) this.RateLimitingSampling.DeepCopy();
            }
            tmp12.__isset.rateLimitingSampling = this.__isset.rateLimitingSampling;
            if ((OperationSampling != null) && __isset.operationSampling)
            {
                tmp12.OperationSampling = (global::Jaeger.Thrift.Agent.PerOperationSamplingStrategies) this.OperationSampling.DeepCopy();
            }
            tmp12.__isset.operationSampling = this.__isset.operationSampling;
            return(tmp12);
        }