Skip to content

Conversation

@simonswine
Copy link
Contributor

@simonswine simonswine commented Jan 9, 2026

This PR implements a complete heatmap query API for visualizing profile data distribution over time and value dimensions, with support for both individual profiles and span-level data.

Key Changes:

  • Heatmap Query Infrastructure: Adds new SelectHeatmap endpoint with proto definitions (HeatmapQuery, HeatmapReport, HeatmapSeries), query backend implementation for INDIVIDUAL and SPAN query types, and data aggregation pipeline with builder/merger components for processing parquet data into time/value buckets.
  • Exemplar Support: Each Y-axis bucket includes optional exemplar metadata (profile ID, span ID, timestamp, labels) representing the highest-value profile in that cell, enabling drill-down from aggregated visualizations to individual profiles with little-endian span ID encoding for query consistency.
  • Series Limiting & Validation: Implements TopSeries to return top-N series by total value, with input validation for step, limit, and time range parameters.

@simonswine simonswine force-pushed the 20260105_add-heatmap branch from ba47839 to eb96f68 Compare January 12, 2026 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant