📊 HistogramDataPoint describes time-varying values of a Histogram.

Contains all the information needed to represent a histogram: count, sum, bucket counts, and bucket boundaries. Essential for understanding distributions.

const miningDurationHistogramPoint: HistogramDataPoint = {
attributes: [
{ key: "block.type", value: { stringValue: "minecraft:stone" } }
],
startTimeUnixNano: "1640995200000000000",
timeUnixNano: "1640995260000000000",
count: 100,
sum: 250.5,
bucketCounts: [20, 30, 35, 15], // counts in each bucket
explicitBounds: [0.1, 0.5, 1.0], // bucket boundaries
exemplars: [],
flags: 0,
min: 0.05,
max: 1.8
};
interface HistogramDataPoint {
    attributes: KeyValue[];
    bucketCounts: number[];
    count: number;
    exemplars: EmptyJsonArray | Exemplar[];
    explicitBounds: number[];
    flags: number;
    max?: number;
    min?: number;
    startTimeUnixNano: `${number}000000`;
    sum?: number;
    timeUnixNano: `${number}000000`;
}

Properties

attributes: KeyValue[]

Attributes for this specific data point

bucketCounts: number[]

Count of observations in each bucket

count: number

Total number of observations

exemplars: EmptyJsonArray | Exemplar[]

Example values that led to this data point

explicitBounds: number[]

Upper bounds of histogram buckets

flags: number

Additional flags for this data point

max?: number

Maximum observed value (optional)

min?: number

Minimum observed value (optional)

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)