pprof — Annotated Source Listing (txt)
Line-level profile output: two routines with per-source-line flat and cumulative cost, a dot for lines that cost nothing, and units that switch between seconds and milliseconds within one column. Source lines keep their real tabs, which most column parsers do not survive.
Total: 20.56s
ROUTINE ======================== shop/pricing.applyDiscount in /src/pricing/discount.go
4.12s 4.12s (flat, cum) 20.04% of Total
. . 38:// applyDiscount reduces every line by the campaign rate.
. . 39:func applyDiscount(cart *Cart, rate float64) {
40ms 40ms 40: if rate <= 0 {
. . 41: return
. . 42: }
1.92s 1.92s 43: for _, line := range cart.Lines {
1.61s 1.61s 44: line.Total = round(line.Total * (1 - rate))
550ms 550ms 45: cart.Total += line.Total
. . 46: }
. . 47:}
ROUTINE ======================== shop/cache.Get in /src/cache/cache.go
1.44s 1.44s (flat, cum) 7.00% of Total
. . 21:func (c *Cache) Get(key string) ([]byte, bool) {
980ms 980ms 22: c.mu.RLock()
460ms 460ms 23: defer c.mu.RUnlock()
. . 24: v, ok := c.m[key]
. . 25: return v, ok
. . 26:}
Specifications
- Routines
- 2
- Annotated Lines
- 19
- Units Mixed
- s and ms
- Dot Means Zero
- true
- Has Tabs In Source
- true
- Hottest Line
- 44 (1.61s)
Testing contract
Reference control- Scenario
- Attribute cost back to source lines from this listing.
- Expected result
- Line 44 of discount.go is identified as the hottest at 1.61s, the mixed s and ms units normalise to one scale, and dot-marked lines are read as zero rather than skipped.
What is a .txt file?
TXT is a plain-text file containing unformatted character data with no styling or structure beyond line breaks. Its interpretation depends on character encoding, most commonly UTF-8, and on line-ending convention. It is the most universal and portable text container.
How to use this file
Use an example TXT to test encoding detection, line-ending (LF versus CRLF) handling, and any tool that reads or streams raw text input.
How to use this file for testing
“pprof — Annotated Source Listing (txt)” is a deterministic Novus Examples fixture for Observability, Performance testing, Log parsing. Structured and plain-text telemetry with known timestamps, levels, request identifiers, and error states for testing log ingestion, correlation, dashboards, and alert pipelines.
Documented properties for this file: TXT · 1,103 bytes. 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.
Telemetry fixtures use fixed trace IDs, span IDs, and timestamps so ingestion is reproducible run to run. Point your collector, parser, or query layer at the file and assert the documented span tree, metric families, or severity mix; service and host names are invented.
Related files
- txtCPU Profile — Folded Stacks, Baseline (txt)A CPU profile in the folded-stack format every flamegraph tool reads: one line per unique stack, frames separated by semicolons, then a space and a sample count. Twelve stacks up to seven frames deep, with the runtime's GC and scheduler work included as real profiles have.

- txtProfile — 200-Frame Recursive Stack (txt)A recursive-descent parser profiled mid-recursion: stacks up to 204 frames deep where one frame repeats 200 times, on lines over 3,000 characters. Flamegraph renderers with a fixed depth limit truncate this silently, and line-length limits split it into nonsense.

- txtWall-Clock Profile — Per-Thread Folded Stacks (txt)A 30-second wall-clock profile with the thread name as the root frame, so time blocked in reads is visible instead of invisible. Off-CPU time dominates — the shape that tells you a service is waiting, not computing, which a CPU profile alone cannot show.

- jsonlStructured Log — High-Cardinality Label Fields (jsonl)Every record carries five fields that are unique to it — session, customer, device, pod name and container ID. Harmless as log text, ruinous the moment they are promoted to indexed labels, which is the mistake this fixture exists to make measurable.

- jsonlStructured Log — One Oversized Record Between Normal Ones (jsonl)A single record of about 75 KB — a request body accidentally logged — sitting between two ordinary ones. Most shippers cap a line at 16 or 64 KB and either split it into invalid JSON fragments or drop the records around it; this file makes which one happen visible.

- txtAllocation Profile — Folded Stacks Weighted in Bytes (txt)An allocation profile in the same folded syntax as the CPU profiles, but weighted in bytes rather than samples. The format carries no unit, so a viewer that assumes samples renders 65 MB of allocation as 68 million samples — which is what this fixture is for.

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