Beyond Line Charts • Yao Yue • YOW! 2025
Yao Yue challenges the dominance of line charts in telemetry visualization, arguing that their time-centric nature and misleading interpolations often obscure insights. She proposes a 'form follows function' approach, advocating for visualizations tailored to the data's shape, the metric's type (e.g., step charts for counters, heatmaps for histograms), and the specific, often 'timeless,' operational questions being asked. The key is to transform time-series data into more flexible formats like panel data to derive clearer, more direct answers.
For decades, the default method for visualizing service metrics has been the line chart. As an experienced reliability engineer, Yao Yue argues that while familiar, this default often hinders our ability to gain clear insights, leading to what she calls “squinting-based analysis.” The most dangerous phrase in our language is “we’ve always done it this way,” and it’s time to question this prevailing practice in observability.
The Problem with Line Charts
A line chart displays a series of data points connected by straight line segments. This seemingly innocent act of “connecting the dots” is a form of interpolation that introduces visual information—pixels—that may not represent reality. This can be distracting and obscure the actual patterns in the data.
Key issues include:
- Noise Overload: When visualizing metrics from many instances, individual noise compounds into an overwhelming visual chaos, making it nearly impossible to discern trends.
- Misleading Interpolation: For certain metric types, like gauges, the line between two points implies a smooth transition that isn’t guaranteed. The value could have fluctuated wildly between measurements.
- The Tyranny of Time: Line charts almost universally plot a metric against time. However, many critical operational questions are not primarily about time but about relationships between other variables like load, software version, or instance type.
Why Line Charts Dominate: A History Lesson
The prevalence of line charts is a direct consequence of the architecture of Time-Series Databases (TSDBs). These databases were engineered over decades to solve a specific, difficult problem: ingesting massive volumes of append-heavy telemetry data from large-scale distributed systems.
The result is a data model optimized for writes, typically a two-tiered structure:
- Metadata: The metric name and labels (e.g., instance, version) that identify a unique time series.
- Values: A time-indexed vector of data points that is highly optimized for appends.
Given this structure, the shortest and most natural path from the database to the screen is to plot the values along their time index, which gives us the line chart.
A Better Approach: Form Follows Function
To find better visualizations, we must align the presentation format with our goals. This means considering the data’s characteristics and the questions we need to answer.
1. Consider the Data Shape
When data is noisy, simple transformations can reveal the underlying signal. Instead of looking at raw, busy lines, we can apply:
- Statistical Summaries: A windowed average can smooth out noise to show a clearer trend. Plotting the min, max, and mean of a cluster of time series can reveal divergent behavior.
- Local Smoothing: Statistical techniques like local regression can denoise particularly volatile metrics like P99.9 latency, making comparisons more meaningful.
- The Power of Raw Data: Sometimes, the best approach is to remove the interpolation entirely. By visualizing data points as a scatter plot (dots), the true distribution can become apparent. An example showed that what looked like random noise on a line chart was actually a clear bifurcation of latency values after a deploy.
2. Consider the Telemetry Type
The underlying type of a metric provides strong hints for the most semantically correct visualization.
- Counters: While a raw cumulative counter is well-represented by a line chart, we almost always analyze its rate (a delta counter). The rate between two points is constant, so a step chart is a more accurate representation than a sloped line. This format also naturally accommodates visualizations of standard deviation as boxes.
- Gauges: A gauge is a spot measurement. A line connecting two points is misleading. Simply plotting the values as dots is more honest about the nature of the data and gives a better sense of the distribution of values over time.
- Histograms: A histogram measures a distribution, often visualized as multiple lines for different percentiles (P50, P99). Since each percentile is a gauge-like measurement, it can also be represented by dots. A far more powerful visualization is a heatmap, where the Y-axis shows the percentiles, the X-axis is time, and color intensity represents the value. This provides a complete picture of the distribution’s behavior at a glance.
3. Consider the Question You Are Answering
Operational questions are rarely about time itself. We ask questions like:
- “What is the maximum load we can sustain before P99 latency exceeds our SLO?”
- “Has the new software version regressed in terms of throughput?”
- “Which cloud VM SKU provides the best performance for the price (ROI)?”
These are “timeless” questions. To answer them, we must transform our data. The key is to break free from the TSDB’s time-centric model by exporting the data and reshaping it into panel data, also known as a DataFrame in the pandas library. In this format, time becomes just another column, used to align different metrics, but not necessarily the primary axis for plotting.
This allows for direct visualizations that answer the question:
- Load vs. Latency: A heatmap with load on the X-axis and latency on the Y-axis.
- Version Regression: A box plot showing the distribution of throughput for the old version versus the new version.
- ROI Analysis: A table or bar chart comparing throughput-per-dollar across different VM SKUs.
Call to Action
- For Practitioners: Understand that your telemetry data has a life beyond the TSDB. Extract it, transform it into panel data, and use the rich ecosystem of statistical and visualization tools to explore it in ways that match your questions.
- For Observability Providers: The user experience can be dramatically improved. Suggest visualizations based on metric types, make statistical summaries a one-click operation, and design databases to be open players in a larger data ecosystem, making it trivial to export data for deeper analysis.