Esempio n. 1
0
            internal Child(Histogram parent, Labels labels, bool publish)
                : base(parent, labels, publish)
            {
                _parent = parent;

                _upperBounds  = _parent._buckets;
                _bucketCounts = new ThreadSafeLong[_upperBounds.Length];

                _sumIdentifier   = CreateIdentifier("sum");
                _countIdentifier = CreateIdentifier("count");

                _bucketIdentifiers = new byte[_upperBounds.Length][];
                for (var i = 0; i < _upperBounds.Length; i++)
                {
                    var value = double.IsPositiveInfinity(_upperBounds[i]) ? "+Inf" : _upperBounds[i].ToString(CultureInfo.InvariantCulture);

                    _bucketIdentifiers[i] = CreateIdentifier("bucket", ("le", value));
                }
            }
Esempio n. 2
0
            internal Child(Summary parent, Labels labels, bool publish)
                : base(parent, labels, publish)
            {
                _objectives = parent._objectives;
                _maxAge     = parent._maxAge;
                _ageBuckets = parent._ageBuckets;
                _bufCap     = parent._bufCap;

                _sortedObjectives  = new double[_objectives.Count];
                _hotBuf            = new SampleBuffer(_bufCap);
                _coldBuf           = new SampleBuffer(_bufCap);
                _streamDuration    = new TimeSpan(_maxAge.Ticks / _ageBuckets);
                _headStreamExpTime = DateTime.Now.Add(_streamDuration);
                _hotBufExpTime     = _headStreamExpTime;

                _streams = new QuantileStream[_ageBuckets];
                for (var i = 0; i < _ageBuckets; i++)
                {
                    _streams[i] = QuantileStream.NewTargeted(_objectives);
                }

                _headStream = _streams[0];

                for (var i = 0; i < _objectives.Count; i++)
                {
                    _sortedObjectives[i] = _objectives[i].Quantile;
                }

                Array.Sort(_sortedObjectives);

                _sumIdentifier   = CreateIdentifier("sum");
                _countIdentifier = CreateIdentifier("count");

                _quantileIdentifiers = new byte[_objectives.Count][];
                for (var i = 0; i < _objectives.Count; i++)
                {
                    var value = double.IsPositiveInfinity(_objectives[i].Quantile) ? "+Inf" : _objectives[i].Quantile.ToString(CultureInfo.InvariantCulture);

                    _quantileIdentifiers[i] = CreateIdentifier(null, ("quantile", value));
                }
            }
 protected IdentifierDtoMarshaller(DefinitionRegistry registry, CreateIdentifier createIdentifier)
 {
     Marshallers = registry.Accept(new IdentifierIdentifierValueDtoMarshaller(createIdentifier)).Marshallers;
 }
 /// <inheritdoc />
 public IdentifierIdentifierValueDtoMarshaller(CreateIdentifier identifierCreator)
 {
     IdentifierCreator = identifierCreator;
 }
 /// <inheritdoc />
 public SimpleMarshaller(TDefinition definition, CreateIdentifier createIdentifier)
 {
     Definition       = definition;
     CreateIdentifier = createIdentifier;
 }