An integer values High Dynamic Range (HDR) Histogram that supports safe concurrent recording operations.
A IntConcurrentHistogram guarantees lossless recording of values into the histogram even when the histogram is updated by multiple threads.

It is important to note that concurrent recording is the only thread-safe behavior provided by IntConcurrentHistogram. It provides no implicit synchronization that would prevent the contents of the histogram from changing during other operations. These non-synchronised operations include queries, iterations, copies, or addition operations on the histogram. Concurrent updates that would safely work in the presence of queries, copies, or additions of histogram objects should use the Recorder which is intended for this purpose.

Inheritance: HistogramBase
Ejemplo n.º 1
0
        /// <summary>
        /// Copies the data from this instance to a new instance.
        /// </summary>
        /// <returns>A new copy of this instance.</returns>
        public override HistogramBase Copy()
        {
            var copy = new IntConcurrentHistogram(InstanceId, LowestTrackableValue, HighestTrackableValue, NumberOfSignificantValueDigits);

            copy.Add(this);
            return(copy);
        }
 /// <summary>
 /// Copies the data from this instance to a new instance.
 /// </summary>
 /// <returns>A new copy of this instance.</returns>
 public override HistogramBase Copy()
 {
     var copy = new IntConcurrentHistogram(InstanceId, LowestTrackableValue, HighestTrackableValue, NumberOfSignificantValueDigits);
     copy.Add(this);
     return copy;
 }