summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-08incrementv0.2.40.2.4Paul Buetow
2026-03-08decrementPaul Buetow
2026-03-08incrementPaul Buetow
2026-03-08fix package namesPaul Buetow
2026-03-03chore: bump version to 0.2.3v0.2.30.2.3Paul Buetow
2026-03-03refactor(context): propagate context through db open and io scans (task 333)Paul Buetow
2026-03-03refactor(cli): move main orchestration into internal cli package (task 332)Paul Buetow
2026-03-03refactor(report): add format-specific reporter implementations (task 333)Paul Buetow
2026-03-03refactor(storage): separate DB operations into storage package (task 334)Paul Buetow
2026-02-28bump version to 0.2.2v0.2.20.2.2Paul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019ca323-dde1-73ac-97f0-cebfae5922a5 Co-authored-by: Amp <amp@ampcode.com>
2026-02-28refactor: split ImportFromDir into smaller functionsPaul Buetow
Extract per-file import logic into importFile helper. ImportFromDir reduced from 82 to 45 lines. Uses defer f.Close() for cleaner resource management. Task: 26d657e0-5d41-4953-adb7-38322618505a Amp-Thread-ID: https://ampcode.com/threads/T-019ca323-dde1-73ac-97f0-cebfae5922a5 Co-authored-by: Amp <amp@ampcode.com>
2026-02-28refactor: move integration test runner from main.go to internal packagePaul Buetow
Extract RunIntegrationTests into internal/goprecords with focused helpers: testReportFixtures, testStatsOrder, testImportExport. main.go reduced from 220 to 139 lines, with runTests now a thin 5-line wrapper. Task: 7247d93e-e4af-4e8d-8fdc-116e0b06c7d3 Amp-Thread-ID: https://ampcode.com/threads/T-019ca323-dde1-73ac-97f0-cebfae5922a5 Co-authored-by: Amp <amp@ampcode.com>
2026-02-28refactor: extract report config, flags, and rendering into internal packagePaul Buetow
Add ReportConfig, ReportFlags, RegisterReportFlags, and WriteReports to the internal goprecords package. Both runQuery and runReportFromFiles now use these shared functions, eliminating duplicated flag definitions and report-rendering loops. main.go reduced from 313 to 220 lines. Task: d8f7af80-1aca-4dea-9a20-b8f95640acb7 Amp-Thread-ID: https://ampcode.com/threads/T-019ca323-dde1-73ac-97f0-cebfae5922a5 Co-authored-by: Amp <amp@ampcode.com>
2026-02-28refactor: extract shared parseRecordLine to eliminate duplicationPaul Buetow
Extract record line parsing into a shared parseRecordLine function in types.go, replacing duplicated parsing logic in aggregate.go and db.go. Also simplifies lastKernelFromFile to use the shared function. Task: a6e5c545-a37d-41a8-8a98-f3edb28ab662 Amp-Thread-ID: https://ampcode.com/threads/T-019ca323-dde1-73ac-97f0-cebfae5922a5 Co-authored-by: Amp <amp@ampcode.com>
2026-02-20docs: add AGENTS.md and CLAUDE.md for AI agent instructionsPaul Buetow
2026-02-20test: add comprehensive unit tests for 82% coveragePaul Buetow
Added test suites: - types_test.go: Tests for Aggregate, HostAggregate, Epoch, Category, Metric, OutputFormat, word wrapping, and formatting functions - report_test.go: Tests for Reporter creation and report generation across different categories, metrics, and output formats - aggregate_test.go: Tests for file-based aggregation, context cancellation, and helper functions - db_test.go: Tests for database operations including schema creation, imports, record reset, and aggregate loading Coverage improved from 17.6% to 82.1%, exceeding the 70% target. Amp-Thread-ID: https://ampcode.com/threads/T-019c7c73-58f9-7516-958d-f30eb17a3bff Co-authored-by: Amp <amp@ampcode.com>
2026-02-20bump version to 0.2.1v0.2.1Paul Buetow
Performance improvement: - Use transactions for database imports (118x speedup) - Import time reduced from 11.2s to 0.076s Amp-Thread-ID: https://ampcode.com/threads/T-019c7c73-58f9-7516-958d-f30eb17a3bff Co-authored-by: Amp <amp@ampcode.com>
2026-02-20perf: use transactions for database imports (118x speedup)Paul Buetow
Previously, ImportFromDir was executing each of 2,587 records as individual INSERT statements, with each one creating its own transaction. This was extremely slow at ~11 seconds. Now wrap all inserts in a single database transaction, which is the standard approach for bulk data loading. This reduces import time from 11.2s to 0.076s (118x faster). Verified with: - Before: real 0m11.193s - After: real 0m0.076s Amp-Thread-ID: https://ampcode.com/threads/T-019c7c73-58f9-7516-958d-f30eb17a3bff Co-authored-by: Amp <amp@ampcode.com>
2026-02-20bump version to 0.2.0v0.2.0Paul Buetow
Major improvements: - Apply Go best practices (reorganized types, constructors, methods) - Remove obsolete files (guprecords.raku, compare-with-raku.sh) - Extract processRecordsFile helper function - Fix word-wrapping bug - Support database import/query workflow - Add database-backed uprecords Makefile target Amp-Thread-ID: https://ampcode.com/threads/T-019c7c73-58f9-7516-958d-f30eb17a3bff Co-authored-by: Amp <amp@ampcode.com>
2026-02-20refactor: apply Go best practices and remove obsolete filesPaul Buetow
- Reorganize types.go: place types and constructors before methods - Simplify main.go: improve flag handling and reduce code complexity - Extract processRecordsFile() in aggregate.go: reduce function size, ensure immediate defer - Change Reporter receivers to value semantics for read-only operations - Fix wordWrap() function: properly account for line length with leading space - Remove guprecords.raku: Go implementation is the primary version now - Remove compare-with-raku.sh: no longer needed - Update README.md and .gitignore accordingly All tests pass: go test ./... and ./goprecords test Amp-Thread-ID: https://ampcode.com/threads/T-019c7c73-58f9-7516-958d-f30eb17a3bff Co-authored-by: Amp <amp@ampcode.com>
2026-02-20Add Go implementation (goprecords)v0.1.0Paul Buetow
- cmd/goprecords: CLI with import, query, report-from-files, test - internal/goprecords: types, order, aggregate, db, report - internal/version: version constant (0.1.0) - SQLite import (repeatable: clears record table then inserts) - Magefile: Build, Test, Install, Uninstall - Table-driven unit tests; comparison script vs Raku guprecords - .gitignore: *.db, /goprecords binary Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-20updatePaul Buetow
2026-02-07add stats-order optionPaul Buetow
Allow custom section ordering for --all reports while keeping defaults and tests in place. Co-authored-by: Cursor <cursoragent@cursor.com>
2025-05-18update readme examplesPaul Buetow
2025-05-18update testsPaul Buetow
2025-05-18also show last kernelPaul Buetow
2025-01-08ignore empty stats filesPaul Buetow
2023-09-23refactor a bitPaul Buetow
2023-09-23fix testsPaul Buetow
2023-06-01fix testsPaul Buetow
2023-06-01downtime is only a quarter worth of uptimePaul Buetow
2023-04-29adjust readmePaul Buetow
2023-04-29update statsPaul Buetow
2023-04-29add include-kernel flagPaul Buetow
2023-04-29by default, exclude Kernel, as it is too verbosePaul Buetow
2023-04-02fix examplePaul Buetow
2023-04-02add more docsPaul Buetow
2023-03-30refactorPaul Buetow
2023-03-30is RO by default anywayPaul Buetow
2023-03-30update example outputPaul Buetow
2023-03-30add description outputsPaul Buetow
2023-03-29refactor to use gather/take rather than push @ret, ...Paul Buetow
2023-03-29gradual typingPaul Buetow
2023-03-29use UInt rather than NaturalPaul Buetow
2023-03-27fix testsPaul Buetow
2023-03-27add a test per output formatPaul Buetow
2023-03-27add unit testsPaul Buetow
2023-03-27add fixtures for estPaul Buetow
2023-03-27refactorPaul Buetow
2023-03-27update examplesPaul Buetow