📊 ExponentialHistogramDataPoint describes time-varying values of an ExponentialHistogram.

More complex than regular histograms, these use exponentially-sized buckets for efficient representation of wide value ranges.

const memoryUsageExpHistogramPoint: ExponentialHistogramDataPoint = {
attributes: [
{ key: "process.name", value: { stringValue: "turtle-miner" } }
],
startTimeUnixNano: "1640995200000000000",
timeUnixNano: "1640995260000000000",
count: 1000,
sum: 524288000,
scale: 2,
zeroCount: 5,
positive: {
offset: 0,
bucketCounts: [10, 20, 30, 25, 15]
},
negative: {
offset: 0,
bucketCounts: []
},
flags: 0,
exemplars: [],
zeroThreshold: 0.001
};
interface ExponentialHistogramDataPoint {
    attributes: KeyValue[];
    count: number;
    exemplars: Exemplar[];
    flags: number;
    max?: number;
    min?: number;
    negative: Buckets;
    positive: Buckets;
    scale: number;
    startTimeUnixNano: `${number}000000`;
    sum?: number;
    timeUnixNano: `${number}000000`;
    zeroCount: number;
    zeroThreshold: number;
}

Properties

attributes: KeyValue[]

Attributes for this specific data point

count: number

Total number of observations

exemplars: Exemplar[]

Example values that led to this data point

flags: number

Additional flags for this data point

max?: number

Maximum observed value (optional)

min?: number

Minimum observed value (optional)

negative: Buckets

Negative value buckets

positive: Buckets

Positive value buckets

scale: number

Scale factor for bucket boundaries

startTimeUnixNano: `${number}000000`

Start time for this measurement period (nanoseconds since Unix epoch)

sum?: number

Sum of all observed values (optional)

timeUnixNano: `${number}000000`

Timestamp of this measurement (nanoseconds since Unix epoch)

zeroCount: number

Count of observations that are exactly zero

zeroThreshold: number

Threshold for considering values as zero