-
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