Load Test — Per-Request Log (CSV)
Three hundred individual request records with timestamp, scenario, status and duration — the raw log a percentile calculation has to be computed from rather than read off. A handful of 4xx and 5xx responses are mixed in so an error-rate calculation has something to find.
timestamp,scenario,method,path,status,duration_ms,bytes_sent,bytes_received
2026-08-07T09:00:00Z,GET_/v1/cart,GET,/v1/cart,500,197.3,736,705
2026-08-07T09:00:01Z,POST_/v1/cart/items,POST,/v1/cart/items,200,292.3,433,4591
2026-08-07T09:00:02Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,125.8,740,4094
2026-08-07T09:00:03Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,242.6,457,4363
2026-08-07T09:00:04Z,GET_/v1/cart,GET,/v1/cart,200,21.9,837,3273
2026-08-07T09:00:05Z,POST_/v1/cart/items,POST,/v1/cart/items,200,227.9,848,4365
2026-08-07T09:00:06Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,58.5,215,357
2026-08-07T09:00:07Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,1029.1,736,4364
2026-08-07T09:00:08Z,GET_/v1/cart,GET,/v1/cart,200,260.4,644,4768
2026-08-07T09:00:09Z,POST_/v1/cart/items,POST,/v1/cart/items,200,123.7,490,3331
2026-08-07T09:00:10Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,80.3,673,751
2026-08-07T09:00:11Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,277.7,405,731
2026-08-07T09:00:12Z,GET_/v1/cart,GET,/v1/cart,200,244.9,491,2257
2026-08-07T09:00:13Z,POST_/v1/cart/items,POST,/v1/cart/items,200,390.9,614,4419
2026-08-07T09:00:14Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,68.2,888,4067
2026-08-07T09:00:15Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,278.0,597,1026
2026-08-07T09:00:16Z,GET_/v1/cart,GET,/v1/cart,200,54.3,675,3405
2026-08-07T09:00:17Z,POST_/v1/cart/items,POST,/v1/cart/items,200,254.7,667,4509
2026-08-07T09:00:18Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,106.7,483,4689
2026-08-07T09:00:19Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,934.5,810,274
2026-08-07T09:00:20Z,GET_/v1/cart,GET,/v1/cart,200,86.1,256,3818
2026-08-07T09:00:21Z,POST_/v1/cart/items,POST,/v1/cart/items,200,48.7,406,4716
2026-08-07T09:00:22Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,162.5,414,1265
2026-08-07T09:00:23Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,766.0,818,4687
2026-08-07T09:00:24Z,GET_/v1/cart,GET,/v1/cart,200,186.3,483,2349
2026-08-07T09:00:25Z,POST_/v1/cart/items,POST,/v1/cart/items,200,100.1,699,2011
2026-08-07T09:00:26Z,GET_/v1/checkout/session,GET,/v1/checkout/session,500,94.0,712,2249
2026-08-07T09:00:27Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,861.2,568,1977
2026-08-07T09:00:28Z,GET_/v1/cart,GET,/v1/cart,200,163.2,222,3061
2026-08-07T09:00:29Z,POST_/v1/cart/items,POST,/v1/cart/items,200,159.6,464,2605
2026-08-07T09:00:30Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,164.8,746,3640
2026-08-07T09:00:31Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,335.6,369,774
2026-08-07T09:00:32Z,GET_/v1/cart,GET,/v1/cart,200,262.2,466,4287
2026-08-07T09:00:33Z,POST_/v1/cart/items,POST,/v1/cart/items,200,264.8,817,1887
2026-08-07T09:00:34Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,17.8,585,2278
2026-08-07T09:00:35Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,747.9,568,4004
2026-08-07T09:00:36Z,GET_/v1/cart,GET,/v1/cart,200,47.3,640,898
2026-08-07T09:00:37Z,POST_/v1/cart/items,POST,/v1/cart/items,200,323.5,819,1344
2026-08-07T09:00:38Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,81.5,346,3492
2026-08-07T09:00:39Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,457.4,603,1980
2026-08-07T09:00:40Z,GET_/v1/cart,GET,/v1/cart,200,238.5,840,3503
2026-08-07T09:00:41Z,POST_/v1/cart/items,POST,/v1/cart/items,200,196.7,654,2558
2026-08-07T09:00:42Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,166.3,274,1156
2026-08-07T09:00:43Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,922.1,284,4517
2026-08-07T09:00:44Z,GET_/v1/cart,GET,/v1/cart,200,87.6,680,1776
2026-08-07T09:00:45Z,POST_/v1/cart/items,POST,/v1/cart/items,200,267.2,703,2590
2026-08-07T09:00:46Z,GET_/v1/checkout/session,GET,/v1/checkout/session,200,15.8,373,3282
2026-08-07T09:00:47Z,POST_/v1/checkout/pay,POST,/v1/checkout/pay,200,169.0,309,3491
2026-08-07T09:00:48Z,GET_/v1/cart,GET,/v1/cart,200,107.8,452,2221Specifications
- Seed
- 61200
- Rows
- 300
- Columns
- 8
- Delimiter
- ,
- Header
- true
- Scenarios
- 4
- Status Codes
- 200, 429, 500, 503
- Line Endings
- LF
Testing contract
Expected to pass- Scenario
- Compute percentile latencies and an error rate from a raw request log.
- Expected result
- 300 rows parse with numeric duration_ms, and every row whose status is not 200 counts toward the error rate rather than being filtered out.
What is a .csv file?
CSV (Comma-Separated Values) is a plain-text tabular format where rows are lines and fields are separated by commas, with quoting rules for values that contain delimiters, quotes, or newlines. It has no formal type system and depends on encoding and dialect conventions. It is the most portable format for tabular data exchange.
How to use this file
Use an example CSV to test parsers against quoting and embedded-delimiter edge cases, header handling, encoding detection, and import pipelines into databases or spreadsheets.
How to use this file for testing
“Load Test — Per-Request Log (CSV)” is a deterministic Novus Examples fixture for Performance testing, CSV parsing, Time-series data. Documented size, row-count, duration, and resolution ladders for measuring parser, renderer, converter, and upload performance without relying on private production data.
Documented properties for this file: seed 61200 · 300 rows · 8 columns · LF. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Test and coverage reports document their totals (suites, cases, passes, failures, skips, covered lines) in the spec table. Point your CI dashboard, coverage gate, or report converter at the file and assert those counts survive; format twins carry identical numbers so a conversion can be scored exactly.
Code examples
import pandas as pd
df = pd.read_csv("load-test-requests.csv")
print(df.head())
print(df.dtypes)Related files
- csvFlaky Detection — Per-Test Failure-Rate Summary (CSV)The aggregate answer key for the 40-build history in this group: runs, passes, failures and failure rate per test, with each test labelled stable or flaky. Use it to score a detector rather than eyeballing 240 JSONL records.

- csvMetric Range Export — Long (Tidy) CSV (csv)The same 90 samples as the query_range response, exported one row per observation with both epoch and ISO 8601 timestamps. The long layout every dataframe library prefers, and half of a reshaping pair.

- csvMetric Range Export — Wide (Pivoted) CSV (csv)The same 90 samples pivoted to one column per service and one row per timestamp — the layout a spreadsheet chart expects. Paired with the long-format export so a reshape can be scored in both directions.

- promPrometheus Exposition — 2,000-Series Cardinality Explosion (prom)A single metric family blown up to 2,000 series by two unbounded labels — customer_id and session_id — which is the most common way a metrics bill and a TSDB both fall over. A load fixture for scrape parsing and a worked example for cardinality-limit rules.

- csvROC Curve Points (CSV)An ROC curve as CSV — decision threshold with the corresponding false-positive and true-positive rates, monotonic from (0,0) to (1,1). A fixture for testing chart tools and AUC calculators.

- csvSLO Error Budget — 28-Day Burndown Export (csv)A day-by-day burndown of the availability SLO defined in the OpenSLO fixture: achieved ratio, budget consumed and remaining, and one-hour and six-hour burn rates. Consumption is monotonic across the window, which is the invariant a burn-rate chart must not violate.

Generated by generation/testing.py. Free for any use, no attribution required — license.