Commit Graph

  • 2278694f4f Separate out api url parser andrew 2025-09-04 16:36:10 -04:00
  • 55069c0c79 Add counters for /v1/{commit,status,version} andrew 2025-09-04 15:49:54 -04:00
  • 96aae52853 Basic implementation of /commit, /version, and /status andrew 2025-09-04 15:40:17 -04:00
  • 8b6736127a Add commit pipeline design andrew 2025-09-04 13:40:03 -04:00
  • 9272048108 Outline commit pipeline andrew 2025-09-03 23:43:03 -04:00
  • b2ffe3bfab Refactor to use format for http responses andrew 2025-09-03 22:45:59 -04:00
  • 978861c430 Parse commit request andrew 2025-09-03 21:53:04 -04:00
  • 46edb7cd26 Allow listening on multiple interfaces andrew 2025-09-03 16:09:16 -04:00
  • b8eb00e313 Wrap up metrics library andrew 2025-09-03 15:43:26 -04:00
  • 18b0a642bf Round out process collector andrew 2025-09-03 15:34:55 -04:00
  • f0916d8269 Add process collector andrew 2025-09-03 14:38:10 -04:00
  • 2fa5b3e960 Instrument connections andrew 2025-09-03 13:57:23 -04:00
  • 6d480487da Use temp_arena for formatting instead of cached plan arena andrew 2025-09-03 13:23:58 -04:00
  • 54d06c654f Move PerThreadState to per-thread arenas andrew 2025-09-03 13:16:35 -04:00
  • f067f4e85b Add weaseldb_metrics_memory_bytes andrew 2025-09-03 13:06:34 -04:00
  • 0ac4c31a53 Measure per metric in render scale bench andrew 2025-09-03 12:51:49 -04:00
  • 52b0cb3e6e Remove background thread from callback bench andrew 2025-09-03 12:19:10 -04:00
  • 76193f772c Tinker with benchmarks. Looking at render performance andrew 2025-09-03 12:16:56 -04:00
  • 0e4c526094 Fix realloc bug in static_format andrew 2025-09-03 12:16:02 -04:00
  • f16cff9126 Don't copy static_text in render andrew 2025-09-03 11:54:35 -04:00
  • 13e4039ed6 Add performance note to header andrew 2025-09-03 11:18:03 -04:00
  • 17efcf318e Fix potential alignment issue and add more implementation comments andrew 2025-09-03 11:12:01 -04:00
  • b3e48b904a Add some clarifying implementation comments andrew 2025-09-03 11:01:01 -04:00
  • 721f814785 Cache RenderPlan andrew 2025-09-03 10:53:11 -04:00
  • 8763daca8e Add arena to RenderPlan andrew 2025-09-03 10:43:11 -04:00
  • a30020e960 Add Metric::registration_version andrew 2025-09-03 10:18:19 -04:00
  • 1cd34ef4a9 Fix memory leak andrew 2025-09-02 17:59:51 -04:00
  • 0583a63649 WIP separate phases. Passes but has a memory leak andrew 2025-09-02 17:51:41 -04:00
  • 08fa1f311d Use prometheus text format as LabelsKey representation andrew 2025-09-02 15:54:31 -04:00
  • 4f1dcc54d9 Replace some ArenaVector's with std::span andrew 2025-09-02 15:43:42 -04:00
  • d43e6c2be5 Fix final placement new in metric.cpp andrew 2025-09-02 15:31:57 -04:00
  • 7f562f8116 Don't null-terminate andrew 2025-09-02 15:28:32 -04:00
  • 96eb8e8b0b Fix memory leaks andrew 2025-09-02 15:25:38 -04:00
  • 7006012aeb Fix stack-use-after-scope andrew 2025-09-02 13:01:02 -04:00
  • 3d573694c4 Add ArenaAllocator::Ptr andrew 2025-09-02 12:11:17 -04:00
  • 87bbb47787 More precompute andrew 2025-09-01 17:50:34 -04:00
  • d502f66bb4 Allocate memory up front for histogram copy andrew 2025-09-01 17:06:08 -04:00
  • 31e751fe75 Change iteration order to avoid temporary map andrew 2025-09-01 16:52:40 -04:00
  • 953ec3ad43 Separate compute and format phases for render andrew 2025-09-01 15:05:27 -04:00
  • 8326c67b9c Deterministic render ordering andrew 2025-08-31 22:55:01 -04:00
  • 8b828be0a9 Advise to cache Metric instance andrew 2025-08-31 14:43:34 -04:00
  • 58649103e5 Improve metric.hpp documentation andrew 2025-08-31 14:39:24 -04:00
  • b6809d8700 Add arena usage documentation andrew 2025-08-31 14:20:29 -04:00
  • 889109f4ae Intern label sets andrew 2025-08-31 12:46:29 -04:00
  • 4b2c5b8ce8 Accept initializer_list, span, and string_view in api andrew 2025-08-31 12:31:29 -04:00
  • 93ccd2eb71 Use Arena's to manage Metric memory where appropriate andrew 2025-08-31 11:54:17 -04:00
  • b52d6e5a13 Explain thread safety in Counter::inc andrew 2025-08-30 19:14:16 -04:00
  • f560ac1736 Use snake_case andrew 2025-08-30 18:59:44 -04:00
  • 4f72840e51 Integrate render into /metrics handler andrew 2025-08-30 18:28:44 -04:00
  • ff7642195b Make benchmark metric families global andrew 2025-08-30 17:59:24 -04:00
  • 0ff197d406 Fix static initialization order fiasco andrew 2025-08-30 17:57:16 -04:00
  • affeeb674a Clarify threading model for metrics andrew 2025-08-30 17:29:39 -04:00
  • 21ddcb75fb Fix thread destroy bug andrew 2025-08-30 16:20:35 -04:00
  • dcf8af6d43 Add test demonstrating thread destruction bug andrew 2025-08-30 15:45:44 -04:00
  • 935bab9454 Make histograms atomic andrew 2025-08-29 21:05:51 -04:00
  • 50e27cced8 Add more TODOs andrew 2025-08-29 17:15:36 -04:00
  • d2762dc8da Add TODO andrew 2025-08-29 17:05:51 -04:00
  • 5592d065de Actually have contention in benchmark andrew 2025-08-29 17:05:21 -04:00
  • 91e799aae8 Use plain arrays and atomic read with intrinsics for render andrew 2025-08-29 15:10:10 -04:00
  • 4fc277393e Use std::latch sync in benchmarks too andrew 2025-08-29 14:22:33 -04:00
  • a5776004de Update potential misunderstanding about thread safety andrew 2025-08-29 14:08:41 -04:00
  • 62b37c067c Metrics implementation, WIP andrew 2025-08-29 13:43:03 -04:00
  • fac0d20ae1 Finish metrics design, I think andrew 2025-08-29 11:51:40 -04:00
  • e3a2ddbbfb Validation + callback api andrew 2025-08-29 11:31:06 -04:00
  • b6d4ae2862 Initialize atomics in metrics, update style guide on atomics andrew 2025-08-29 10:52:26 -04:00
  • 1133d1e365 Use std::bit_cast, document that gauge mutex is an implementation detail andrew 2025-08-29 10:45:19 -04:00
  • de5adb54d2 Flesh out metrics architecture more andrew 2025-08-29 10:40:19 -04:00
  • d0f2b6550a More scaffolding andrew 2025-08-28 17:32:34 -04:00
  • ca5b299da8 Make MetricKey hashable andrew 2025-08-28 17:10:56 -04:00
  • 9c89eba6c8 Metrics system scaffold andrew 2025-08-28 17:04:53 -04:00
  • ed6e6ea9fe Output trailing : for konsole integration workaround andrew 2025-08-28 14:45:40 -04:00
  • c97920c473 format utility improvements andrew 2025-08-28 14:40:01 -04:00
  • 7808896226 Add format benchmarks andrew 2025-08-28 14:20:27 -04:00
  • 404b491880 Add documentation andrew 2025-08-28 14:05:45 -04:00
  • bc0d5a7422 Add format utility andrew 2025-08-28 14:01:43 -04:00
  • 6fb57619c5 Remove inaccurate "zero-{copy,allocation}" claims andrew 2025-08-28 13:40:05 -04:00
  • f46a98249f Change to loop_iterations andrew 2025-08-28 13:34:52 -04:00
  • a73a463936 Fix Arena realloc bug andrew 2025-08-28 13:27:53 -04:00
  • a32356e298 Add ArenaVector andrew 2025-08-28 13:27:21 -04:00
  • 3d61408976 Use precise memory orderings in load_tester andrew 2025-08-27 18:13:28 -04:00
  • b6e57f58af Increase buffer size to 1 << 16 andrew 2025-08-26 22:31:42 -04:00
  • dabead7d6b Explain hypothesis for batch size 1 helping andrew 2025-08-26 17:08:20 -04:00
  • c915fed4cc Change max batch to one andrew 2025-08-26 16:54:29 -04:00
  • 431befe9bd Update threading_performance_report with new futex wake behavior andrew 2025-08-26 16:21:05 -04:00
  • a734760b60 Add documentation to StaticThreadPipeline andrew 2025-08-26 16:11:02 -04:00
  • 6e48a0ff9a Let WaitIfUpstreamIdle spin long enough to stay saturated by load_tester andrew 2025-08-26 15:37:04 -04:00
  • 6dbf29d1e1 StaticThreadPipeline andrew 2025-08-26 15:13:16 -04:00
  • 0b63e24b98 Refactor before static pipeline andrew 2025-08-26 14:11:55 -04:00
  • 1f050c861a Add operator[] to batch in thread pipeline andrew 2025-08-26 13:38:02 -04:00
  • 3c3555da7a Benchmark different batches and wait strategies andrew 2025-08-26 13:33:16 -04:00
  • 4e9e4d634c Add initial thread pipeline benchmark andrew 2025-08-26 13:11:20 -04:00
  • eaeffff620 Improve ThreadPipeline docs andrew 2025-08-26 13:10:58 -04:00
  • 6ddba37e60 Add different wait strategies to pipeline andrew 2025-08-26 12:10:26 -04:00
  • f8be6941bb Move latency_sim to tools andrew 2025-08-25 13:49:02 -04:00
  • 612497f733 Try enforcing snake_case andrew 2025-08-25 13:47:35 -04:00
  • 50d873e8eb Actually use loopIterations andrew 2025-08-25 13:18:35 -04:00
  • 5314448480 Move bench_volatile_loop to benchmarks/ andrew 2025-08-25 13:15:59 -04:00
  • 3d0c2f57cb Add arrow back to io threads in request flow diagram andrew 2025-08-25 13:11:25 -04:00
  • 0905bb66c0 Add theoretical max serial cpu times andrew 2025-08-25 13:08:12 -04:00
  • 36e1bf0e2d Add threading_performance_report.md andrew 2025-08-25 12:57:00 -04:00