1 | /*
|
---|
2 | * This is a AssemblyScript port of the original Java version, which was written by
|
---|
3 | * Gil Tene as described in
|
---|
4 | * https://github.com/HdrHistogram/HdrHistogram
|
---|
5 | * and released to the public domain, as explained at
|
---|
6 | * http://creativecommons.org/publicdomain/zero/1.0/
|
---|
7 | */
|
---|
8 |
|
---|
9 | import RecordedValuesIterator from "./RecordedValuesIterator";
|
---|
10 | import PercentileIterator from "./PercentileIterator";
|
---|
11 |
|
---|
12 | export const NO_TAG = "NO TAG";
|
---|
13 |
|
---|
14 | export abstract class AbstractHistogramBase<T, U> {
|
---|
15 | static identityBuilder: number;
|
---|
16 |
|
---|
17 | identity: f64;
|
---|
18 | autoResize: boolean = false;
|
---|
19 |
|
---|
20 | highestTrackableValue: u64;
|
---|
21 | lowestDiscernibleValue: u64;
|
---|
22 | numberOfSignificantValueDigits: u8;
|
---|
23 |
|
---|
24 | bucketCount: u64;
|
---|
25 | /**
|
---|
26 | * Power-of-two length of linearly scaled array slots in the counts array. Long enough to hold the first sequence of
|
---|
27 | * entries that must be distinguished by a single unit (determined by configured precision).
|
---|
28 | */
|
---|
29 | subBucketCount: i32;
|
---|
30 | countsArrayLength: i32;
|
---|
31 | wordSizeInBytes: u64;
|
---|
32 |
|
---|
33 | startTimeStampMsec: u64 = u64.MAX_VALUE;
|
---|
34 | endTimeStampMsec: u64 = 0;
|
---|
35 | tag: string = NO_TAG;
|
---|
36 |
|
---|
37 | integerToDoubleValueConversionRatio: f64 = 1.0;
|
---|
38 |
|
---|
39 | percentileIterator: PercentileIterator<T, U>;
|
---|
40 | recordedValuesIterator: RecordedValuesIterator<T, U>;
|
---|
41 |
|
---|
42 | constructor() {
|
---|
43 | this.identity = 0;
|
---|
44 | this.highestTrackableValue = 0;
|
---|
45 | this.lowestDiscernibleValue = 0;
|
---|
46 | this.numberOfSignificantValueDigits = 0;
|
---|
47 | this.bucketCount = 0;
|
---|
48 | this.subBucketCount = 0;
|
---|
49 | this.countsArrayLength = 0;
|
---|
50 | this.wordSizeInBytes = 0;
|
---|
51 | }
|
---|
52 | }
|
---|