TestData CSV File scenario available files
CSV File selects from a set of built-in CSV data files with the Drop percent field to randomly exclude a percentage of data points. Available files: flight_info_by_state.csv, population_by_state.csv, gdp_per_capita.csv, js_libraries.csv, ohlc_dogecoin.csv, weight_height.csv, browser_marketshare.csv, automobiles.csv.
TestData CSV Metric Values scenario
CSV Metric Values generates time-series data from comma-separated values entered in the String Input field. Values are evenly distributed across the selected time range. Default: 1,20,90,30,5,0. For example, with default values and a 6-hour time range, the six values are spread across the range at equal intervals.
TestData data source overview and purpose
The TestData data source uses scenarios to generate simulated data instead of a traditional query language. Each scenario produces a different type of data suited for testing specific visualizations, behaviors, or edge cases. TestData includes 30 scenarios covering time series, logs, traces, graphs, streaming, and error simulation. Use scenarios to prototype dashboards without connecting to a real data source, reproduce bugs with controlled deterministic data, test panel behavior with edge cases like empty results or timestamps outside the visible range, validate alerting pipelines using predictable patterns, and simulate streaming to verify how panels handle real-time data updates.
TestData scenarios that run only in browser
Some scenarios run entirely in the browser and don't send queries to the backend: Streaming Client, Grafana Live, Grafana API, Steps, and No Data Points. These scenarios cannot be used with Grafana Alerting or in any context that requires server-side evaluation.
TestData shared query options for all scenarios
Every scenario displays a Scenario drop-down to select the data generation type, listed alphabetically. Most scenarios show an Alias field for optional display name supporting special values __server_names and __house_locations to use built-in name sets. When the scenario defines a default, a String Input text field is shown. Some scenarios expose additional shared controls: Labels available for Random Walk and Predictable Pulse using key=value syntax with support for $seriesIndex in a value to insert the series index; Drop percent available for CSV Content and CSV File to drop a random percentage (0-100) of data points from the result.
TestData Random Walk scenario options
Random Walk generates random walk time-series data as the default scenario with the following options: Series count (number of series to generate, default 1), Start value (initial value for the walk, default auto/random), Min (minimum value the walk can reach, default none), Max (maximum value the walk can reach, default none), Spread (controls how far each step can deviate, default 1), Noise (adds noise to each data point, default 0), Drop (%) (percentage of points to randomly exclude, default 0).
TestData Random Walk Table scenario
Random Walk Table generates random walk data in table format with columns for Time, Value, Min, Max, Info, and State. The State column uses an enum field with values Unknown, Up, and Down. Optionally includes null values when withNil is enabled.
TestData Random Walk (with error) scenario
Random Walk (with error) generates random walk time-series data and also returns an error in the response. Use this to test how panels handle data responses that contain both data and errors.
TestData Predictable Pulse scenario options
Predictable Pulse generates a predictable pulse wave based on absolute time from the epoch, making it reproducible across runs. Options: Step (seconds between data points, default 60), On Count (number of data points at the start of each cycle using the on value, default 3), Off Count (number of data points in each cycle using the off value, default 3), On Value (value for on data points, can be a number, null, or nan, default 2), Off Value (value for off data points, can be a number, null, or nan, default 1). The wave cycles at Step * (On Count + Off Count) seconds with timestamps aligned evenly on the step interval. With defaults (Step=60, On Count=3, Off Count=3), the wave completes a full cycle every 6 minutes with the on value (2) holding for the first 3 data points, then the off value (1) for the next 3.
TestData Predictable CSV Wave scenario options
Predictable CSV Wave generates one or more predictable waves from CSV-defined values. Each wave cycles through its comma-separated values at a fixed time step. Options: Values (comma-separated numeric values for the wave supporting null and nan, default 0,0,2,2,1,1), Step (seconds between data points, default 60), Name (optional name for the series), Labels (optional labels in key=value format). Click the + button on the last wave row to add another wave, click the - button on any other row to remove it.
TestData Simulation scenario options
Simulation runs a simulation engine that generates data continuously and supports streaming data through Grafana Live. Options: Simulation (simulation type: Flight for circling flight path, Sine for sine wave, or Tank for fill and drain a water tank), Stream (toggle to stream data through Grafana Live instead of returning a static result), Interval (tick frequency in Hz, default 10), Last (toggle to return only the most recent value instead of the full time range), UID (optional unique identifier allowing multiple instances of the same simulation type to run concurrently).
TestData USA generated data scenario options
USA generated data generates data with US state dimensions useful for testing geo-map visualizations and multi-dimensional data. Options: Mode (data format: values-as-rows, values-as-fields, values-as-labeled-fields, timeseries, or timeseries-wide), Period (time period for data generation, default 30m), Fields (fields to include: foo, bar, baz, default all), States (US state codes to include such as CA, NY, TX, default all 50 states plus DC).
TestData CSV Content scenario
CSV Content provides a text editor where you paste or type CSV data directly. The first row is treated as headers. Use the Drop percent field to randomly exclude a percentage of data points. Example: entering Time,Temperature,Humidity headers with rows like 2024-01-01 00:00:00,22.5,45 creates a time series with two value columns.
TestData Steps scenario
Steps provides a CSV text area (the same editor as CSV Content) for defining step-function data. The default content is a, b, c. This scenario is handled entirely in the browser.
TestData Raw Frames scenario
Raw Frames provides a JSON editor for defining data frames directly. The editor accepts the Grafana data frame JSON format and includes paste helpers for panel JSON and raw query results.
TestData Load Apache Arrow Data scenario
Load Apache Arrow Data loads data from a base64-encoded Apache Arrow payload entered in the String Input text area. Use this to test Arrow format rendering.
TestData Table Static scenario
Table Static generates a static table with predefined columns: Time, Message, Description, and Value.
TestData Logs scenario options
Logs generates simulated log data with random log levels, container IDs, and hostnames. Options: Lines (number of log lines to generate, default 10, maximum 10000), Level (toggle to include a separate level column in the data instead of embedding it in messages).
TestData Node Graph scenario options
Node Graph generates data for the Node Graph visualization. Options: Data type (type of graph data: random, response_small, response_medium, random edges, or feature_showcase), Count (number of nodes to generate, available for random and random edges types), Seed (seed value for reproducible random generation, available for random and random edges types).
TestData Flame Graph scenario options
Flame Graph generates data for the Flame Graph visualization. Options: Diff profile (toggle to generate a differential flame graph comparing two profiles).
TestData Trace scenario options
Trace generates simulated distributed trace data. Options: Span count (number of spans in the generated trace).
TestData Annotations scenario
Annotations generates synthetic annotation data points. These annotations are created entirely in the browser and are useful for testing how panels display annotation markers and overlays. They don't query an external source or persist data. Options: Count (number of annotations to generate, default 10).
TestData Exponential heatmap bucket data scenario
Exponential heatmap bucket data generates heatmap data with exponentially distributed bucket boundaries (1, 2, 4, 8, 16, ...). Use this to test heatmap panels with exponential distributions.
TestData Linear heatmap bucket data scenario
Linear heatmap bucket data generates heatmap data with linearly distributed bucket boundaries (0, 10, 20, 30, ...). Use this to test heatmap panels with linear distributions.
TestData Streaming Client scenario options
Streaming Client generates streaming data directly from the browser client. Options: Type (stream type: Signal, Logs, Fetch, Traces, or Watch). Additional fields depend on the selected type: Signal includes Speed (ms), Spread, Noise, Bands; Logs, Traces, Watch include Speed (ms) only; Fetch includes URL of a remote CSV endpoint to stream incrementally.
TestData Grafana Live scenario options and channels
Grafana Live connects to a Grafana Live channel that streams random data from the server. Options: Channel (the live channel to subscribe to). Available channels: random-2s-stream (random stream with points every 2s), random-flakey-stream (stream that returns data at random intervals), random-labeled-stream (value with moving labels), random-20Hz-stream (random stream with points at 20 Hz).
TestData Grafana API scenario endpoints
Grafana API fetches data from internal Grafana API endpoints and returns the result as a data frame. This scenario runs in the browser. Options: Endpoint (the API endpoint to query). Available endpoints: Data Sources (lists configured data sources), Search (returns dashboard search results), Annotations (returns annotations).
TestData Conditional Error scenario options
Conditional Error produces an error or data depending on the String Input and Error type fields. When the String Input field is empty, the scenario triggers the selected error type. When the field contains CSV values (default 1,20,90,30,5,0), it returns time-series data like the CSV Metric Values scenario, regardless of the error type. Options: Error type (type of error to simulate: Server panic for backend panic, Frontend exception for uncaught error in the browser, or Frontend observable for error emitted through the query observable). To trigger an error, clear the String Input field and select the error type you want to test.
TestData Error with source scenario options
Error with source returns an error with a configurable source classification. Options: Error source (source of the error: Plugin for plugin error or Downstream for downstream service error). Use this to test how Grafana differentiates between plugin errors and downstream errors in alerting and error handling.
TestData No Data Points scenario
No Data Points returns an empty result with no data points. Use this to test how panels display when there's no data.
TestData Data points Outside Range scenario
Data points Outside Range returns a single data point with a timestamp one hour before the query time range. Use this to test how panels handle data outside the visible range.
TestData Slow Query scenario
Slow Query introduces a configurable delay before returning random walk data. Set the delay duration in the String Input field using Go duration syntax (for example, 5s, 1m, 500ms). Default: 5s.
TestData Query Metadata scenario
Query Metadata returns a table with query metadata including the current user's username. Use this to verify that query context information is available.
Use Grafana data source for testing shared queries
When configuring shared queries and no data source is available, you can use the Grafana data source, which returns a random time series suitable for testing purposes.