Repository navigation
Releases
Releases · optimm/Gmeter
v0.3.1
v0.3.0
Changelog
- 999ea84 CI: allow a manual run
- 5ed9c72 Count a phase that ran even when the clock read it as zero
- bbb62c3 Docs: say Gmeter is an agent-friendly load tester, and document gmeter mcp
- 7f03757 MIT licence, a gRPC example, v3g on the roadmap
- 423ce05 Make the suite pass on Windows and macOS runners, not only on this Mac
- d30dd16 README: replace the finished roadmap checklist with what is coming next
- d65fafd Test: an HTTP/2 request to an HTTP/1 server may see a reset first
- 9daa876 Tests: assert that a phase ran, not that it took more than zero
- 9bfe510 Tests: do not pin the exact rate a search finds, and skip when the machine is too busy to trust timing
- 3cf7238 The Go package calls gRPC too: Config.GRPC, Result.Codes
- 9be4428 Website: say what k6 offers Go users, which is extensions
- 22032aa Windows builds, a Docker image, and a CI run on all three systems
- b82de24 gmeter mcp: serve the tools to an AI agent over stdio
- cba6844 mcp: a policy for what an agent may target and how much load it may ask for
- 28aa24e mcp: a server with a load_test tool, over HTTP and unary gRPC
- 1eb1970 mcp: find_capacity, check_slo, compare_runs, a run resource and progress
v0.2.0
Changelog
- 5dc18bd A public Go package: gmeter.Run, Result.Meets and FindCapacity
- dac2dd2 Client certificates: -cert and -key for mutual TLS
- 9e296e9 Per-request results and an HTML chart: -results and gmeter plot
- 4a7ff24 Website: install with Homebrew
- 86fcabf Website: plot, the Go package and client certificates; settle in-flight requests in the agent stop test
v0.1.0
Changelog
- e7f0d39 Add -endpoint-threshold to
gmeter diff, and refuse thresholds that cannot fail - 77caa21 Add -endpoints to
gmeter replay: a per-endpoint breakdown of the results - bad3f7d Add -error-threshold to gmeter diff
- f2e9cef Add -http2 to run, find and replay
- 12ed581 Add -insecure and -cacert for https targets
- 159e06e Add -phases to runs and replays, on by default
- f14a391 Add -spin flag, save it in the run info, and flag it in diff
- 730ce2e Add -stages, -arrivals and -seed
- 5335ace Add README
- 5e9c0fe Add Recorder: histogram readable while its owner writes
- f08610f Add
gmeter diff, run info in the JSON, and credential redaction - 5fc3ad5 Add
gmeter find: search for the highest rate that meets a latency target - 1213aaf Add
gmeter replay: send a traffic log at its recorded pace or a fixed rate - 1f25fa9 Add a one-page website in docs/, for GitHub Pages
- 0201b16 Add fixed-memory HDR-style latency histogram
- cbb2c62 Add gmeter -version and a release pipeline for Homebrew
- b3264e6 Add gmeter CLI
- 71e3dda Add gmeter agent: run a share of a test for a controller
- 4b2d669 Add histogram Dump/FromDump and FractionAbove
- 58fc9c2 Add hybrid sleep-then-spin pacing
- 3fe19e9 Add open-loop pacer with drift-free schedule
- bcd4b15 Add open-loop runner with corrected and service latency
- 53ac4b0 Add replay package: read JSON Lines and access-log traces
- 3ac4db4 Add run comparison: relative change, share-slower and like-for-like notes
- ae6f0db Add text and JSON reporting
- 696b5cd Add the shared-cause line to the endpoint gate, and document it
- 281c976 Add the slowest phase to the endpoint gate's verdict
- d8b897f Count bad statuses per stage; export the timer-lag threshold
- 6b35484 Document -group and per-endpoint wait p99
- 5ffbf0b Document -spin; regenerate the README samples with the new pacing
- c7cd691 Document HTTP/2, with a real comparison against HTTP/1.1
- bfa5fb4 Document
gmeter find - bec73d0 Document
gmeter replay - 9109e12 Document and test the status comparison for replays
- c2e8281 Document gmeter grpc, and point at -plaintext when TLS meets none
- 8aad639 Document how much memory a replayed trace takes
- a7ef971 Document load profiles, Poisson arrivals and the late tolerance
- cce8f0a Document phases in diff and per endpoint; v2 is complete
- 8b993f9 Document the per-endpoint breakdown
- ff7ba45 Document the per-endpoint diff
- 550033e Document the phases, and add a benchmark of what tracing costs
- 5a258df Fix literal \n in
gmeter findprogress and usage output - 901ffa2 Let a run make any call instead of an HTTP request
- a5a06e2 Load-test a unary gRPC method with gmeter grpc
- bd210bd Make the website's opening grab attention
- 3a0b38f Open the website with a plain intro to what Gmeter is
- 47280de Pad Recorder to cache lines to stop false sharing
- 66741ea Polish the website: drop glows, heavy weights and off-grid spacing
- 4fca890 Record a per-window timeline for every run
- 5690f72 Release CI: skip the two timer-precision tests with -short
- 18364ac Rename ProgressEvery to SampleEvery
- 918264f Replay: keep a trace in about half the memory
- 79f68a4 Replay: keep the status each logged request got
- 01121a9 Replay: name each request's endpoint and cap how many are reported
- a912e6e Replay: name endpoints by -group rules
- adc5ab4 Replay: warn when a short trace is cycled
- 0ac9ab9 Report per-window latency stats in progress snapshots
- c7170fb Report stages, and stop counting microsecond lateness as late
- df24cc4 Report: "where the time goes" table and "phases" in the JSON
- 1d846fa Report: compare phases in a diff
- 100d04d Report: compare phases per endpoint in a diff
- ba6a269 Report: compare the endpoints of two runs in
gmeter diff - 1d76e84 Report: compare the error rate of two runs
- a2a65f3 Report: count responses by protocol, explain protocol errors, and note a protocol change in diff
- ecc10f0 Report: expose both runs' error rates
- 9019f97 Report: judge each endpoint's error rate
- 32b4d0e Report: note when most endpoints rose together
- 20c66d7 Report: per-endpoint table and "endpoints" in the JSON
- 3609fbf Report: say how many responses differ from the log
- be3ddd6 Report: say what to do about TLS failures
- 0413483 Report: show each endpoint's wait p99, and how it moved in diff
- 5d33fec Report: where each endpoint's time goes
- 6402bf1 Run a test or a replay on several agents with -agents
- 1cbbb55 Runner: compare each response's status class with the logged one
- bc2ab0d Runner: fix a data race in the HTTP/1.1 TLS test
- 02caa64 Runner: keep each label's wait as a distribution
- 840b841 Runner: merge the results of several generators
- 2ac16e0 Runner: phases per label
- ed9dd35 Runner: replay recorded times and per-request method, target, headers and body
- f4b7729 Runner: report results per request label
- 7da35d5 Runner: say precisely when a label's corrected and service latency differ
- 6ddabfd Runner: send over HTTP/2 when asked, and count each response's protocol
- f4c5e4b Runner: split each response's corrected latency into phases
- 86d36d4 Runner: split each stage's time into phases
- 55fc84e Runner: stop the late-count test from measuring the machine
- 9c801f1 Runner: take a TLS configuration, and name TLS failures
- fff4afc Save timeline, run info and full histograms in the JSON summary
- 67b8345 Schedule profiles of stages with Poisson arrivals, and per-stage results
- b3e40f1 Send a run's result as JSON with its full distributions
- cf9faf7 Show generator health and warnings in the report
- a388da2 Show the latest window in the live progress line
- 890873a Split a test among agents and merge what they send back
- 71bbf14 Split the pacer's waiting code out of the schedule file
- 125a5b8 Track generator health: timer lag and late dispatches
- 511c923 Update README for v1a
- 4b64adc Update README for v1b
- 0fb779d find: say where the time grew between the answer and the first failure
- 2cb200e gRPC: count a call past its own deadline as a timeout, every time