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)); } }
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; }