Commit Graph

307 Commits

Author SHA1 Message Date
andrew 889109f4ae Intern label sets 2025-08-31 12:47:35 -04:00
andrew 4b2c5b8ce8 Accept initializer_list, span, and string_view in api 2025-08-31 12:31:29 -04:00
andrew 93ccd2eb71 Use Arena's to manage Metric memory where appropriate 2025-08-31 11:54:17 -04:00
andrew b52d6e5a13 Explain thread safety in Counter::inc 2025-08-30 19:14:16 -04:00
andrew f560ac1736 Use snake_case 2025-08-30 18:59:44 -04:00
andrew 4f72840e51 Integrate render into /metrics handler 2025-08-30 18:28:44 -04:00
andrew ff7642195b Make benchmark metric families global 2025-08-30 17:59:24 -04:00
andrew 0ff197d406 Fix static initialization order fiasco 2025-08-30 17:57:16 -04:00
andrew affeeb674a Clarify threading model for metrics 2025-08-30 17:29:39 -04:00
andrew 21ddcb75fb Fix thread destroy bug 2025-08-30 16:20:35 -04:00
andrew dcf8af6d43 Add test demonstrating thread destruction bug 2025-08-30 15:45:44 -04:00
andrew 935bab9454 Make histograms atomic
E.g. count and sum should be consistent with each other
2025-08-29 21:05:51 -04:00
andrew 50e27cced8 Add more TODOs 2025-08-29 17:15:36 -04:00
andrew d2762dc8da Add TODO 2025-08-29 17:05:51 -04:00
andrew 5592d065de Actually have contention in benchmark 2025-08-29 17:05:21 -04:00
andrew 91e799aae8 Use plain arrays and atomic read with intrinsics for render 2025-08-29 15:10:10 -04:00
andrew 4fc277393e Use std::latch sync in benchmarks too 2025-08-29 14:29:15 -04:00
andrew a5776004de Update potential misunderstanding about thread safety 2025-08-29 14:08:41 -04:00
andrew 62b37c067c Metrics implementation, WIP 2025-08-29 13:43:03 -04:00
andrew fac0d20ae1 Finish metrics design, I think 2025-08-29 11:51:40 -04:00
andrew e3a2ddbbfb Validation + callback api 2025-08-29 11:31:06 -04:00
andrew b6d4ae2862 Initialize atomics in metrics, update style guide on atomics 2025-08-29 10:52:26 -04:00
andrew 1133d1e365 Use std::bit_cast, document that gauge mutex is an implementation detail 2025-08-29 10:45:19 -04:00
andrew de5adb54d2 Flesh out metrics architecture more 2025-08-29 10:40:19 -04:00
andrew d0f2b6550a More scaffolding 2025-08-28 17:32:34 -04:00
andrew ca5b299da8 Make MetricKey hashable 2025-08-28 17:10:56 -04:00
andrew 9c89eba6c8 Metrics system scaffold 2025-08-28 17:04:53 -04:00
andrew ed6e6ea9fe Output trailing : for konsole integration workaround 2025-08-28 14:45:40 -04:00
andrew c97920c473 format utility improvements 2025-08-28 14:40:01 -04:00
andrew 7808896226 Add format benchmarks 2025-08-28 14:20:27 -04:00
andrew 404b491880 Add documentation 2025-08-28 14:05:45 -04:00
andrew bc0d5a7422 Add format utility 2025-08-28 14:01:43 -04:00
andrew 6fb57619c5 Remove inaccurate "zero-{copy,allocation}" claims 2025-08-28 13:40:05 -04:00
andrew f46a98249f Change to loop_iterations 2025-08-28 13:34:52 -04:00
andrew a73a463936 Fix Arena realloc bug 2025-08-28 13:27:53 -04:00
andrew a32356e298 Add ArenaVector 2025-08-28 13:27:21 -04:00
andrew 3d61408976 Use precise memory orderings in load_tester 2025-08-27 18:13:28 -04:00
andrew b6e57f58af Increase buffer size to 1 << 16
Also improve camel case script
2025-08-26 22:31:42 -04:00
andrew dabead7d6b Explain hypothesis for batch size 1 helping 2025-08-26 17:08:20 -04:00
andrew c915fed4cc Change max batch to one 2025-08-26 16:54:29 -04:00
andrew 431befe9bd Update threading_performance_report with new futex wake behavior 2025-08-26 16:21:05 -04:00
andrew a734760b60 Add documentation to StaticThreadPipeline 2025-08-26 16:11:02 -04:00
andrew 6e48a0ff9a Let WaitIfUpstreamIdle spin long enough to stay saturated by load_tester 2025-08-26 15:38:07 -04:00
andrew 6dbf29d1e1 StaticThreadPipeline 2025-08-26 15:13:16 -04:00
andrew 0b63e24b98 Refactor before static pipeline 2025-08-26 14:11:55 -04:00
andrew 1f050c861a Add operator[] to batch in thread pipeline 2025-08-26 13:39:11 -04:00
andrew 3c3555da7a Benchmark different batches and wait strategies 2025-08-26 13:33:16 -04:00
andrew 4e9e4d634c Add initial thread pipeline benchmark 2025-08-26 13:11:20 -04:00
andrew eaeffff620 Improve ThreadPipeline docs 2025-08-26 13:10:58 -04:00
andrew 6ddba37e60 Add different wait strategies to pipeline 2025-08-26 12:30:27 -04:00