)]}'
{
  "commit": "ee94d60237cbd006be5177232212f4d9fba0d0ea",
  "tree": "8640249f36e56b6112bc89e7935591cda388e9b6",
  "parents": [
    "d4f90408d1b94db463c4df20f365ecbf9a68cd48"
  ],
  "author": {
    "name": "Hubert Gruszecki",
    "email": "h.gruszecki@gmail.com",
    "time": "Wed Jan 29 00:02:14 2025 +0100"
  },
  "committer": {
    "name": "Hubert Gruszecki",
    "email": "h.gruszecki@gmail.com",
    "time": "Wed Jan 29 20:38:40 2025 +0100"
  },
  "message": "Add rate limiting and browser chart opening features\n\nThis commit introduces a rate limiting feature for both producers and\nconsumers, allowing users to specify a rate limit in bytes per second.\nThe rate limiter is implemented using a linger-based algorithm to ensure\nsmooth throughput control.\n\nAdditionally, a new command-line argument is added to open generated\ncharts in the browser automatically after the benchmark is completed.\nThis feature enhances user experience by providing immediate access to\nvisualized results.\n\nThe changes also include updates to the latency calculation logic,\nswitching from average latency to worst latency per bucket for more\naccurate performance insights.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5ab1876ec8ae97a7280d2dec89a591225dc29de3",
      "old_mode": 33188,
      "old_path": "bench/src/actors/consumer.rs",
      "new_id": "45e7340ec0847528ccb99265040f1abf17f3bccc",
      "new_mode": 33188,
      "new_path": "bench/src/actors/consumer.rs"
    },
    {
      "type": "modify",
      "old_id": "e4cc214d56ce850b522102084ca08abcedf00e9f",
      "old_mode": 33188,
      "old_path": "bench/src/actors/producer.rs",
      "new_id": "3b3e74b7a587c276e12d717dab0b2eaea8a5535e",
      "new_mode": 33188,
      "new_path": "bench/src/actors/producer.rs"
    },
    {
      "type": "modify",
      "old_id": "91c92209347ec57d78f9b0f2c2e5bdb828a8627e",
      "old_mode": 33188,
      "old_path": "bench/src/analytics/time_series/calculators/latency.rs",
      "new_id": "6c60ab8f63ee1ecb47ceb69e24054f9c8d68abc1",
      "new_mode": 33188,
      "new_path": "bench/src/analytics/time_series/calculators/latency.rs"
    },
    {
      "type": "modify",
      "old_id": "71a7ed9b29b701a8609906a9173efdc3d3504163",
      "old_mode": 33188,
      "old_path": "bench/src/args/common.rs",
      "new_id": "2986646dae544714c4acb7f1f10665a92a75ba44",
      "new_mode": 33188,
      "new_path": "bench/src/args/common.rs"
    },
    {
      "type": "modify",
      "old_id": "59376cf88b4235f74a84c090b3a758ba514d5d44",
      "old_mode": 33188,
      "old_path": "bench/src/benchmarks/consumer_group_benchmark.rs",
      "new_id": "f8f6c0075925fc523c730f0ebba328e3848328db",
      "new_mode": 33188,
      "new_path": "bench/src/benchmarks/consumer_group_benchmark.rs"
    },
    {
      "type": "modify",
      "old_id": "076e70da4a5e76a183f6aa6c1842cabb4f45780a",
      "old_mode": 33188,
      "old_path": "bench/src/benchmarks/poll_benchmark.rs",
      "new_id": "0f9213fb49df02d01f72353b22a2f21bbe1d0557",
      "new_mode": 33188,
      "new_path": "bench/src/benchmarks/poll_benchmark.rs"
    },
    {
      "type": "modify",
      "old_id": "bdfb99097338203f61eab25df832fd267442951d",
      "old_mode": 33188,
      "old_path": "bench/src/benchmarks/send_and_poll_benchmark.rs",
      "new_id": "6811687ad6c99edf22a5e3d5b919d4da9f6ed378",
      "new_mode": 33188,
      "new_path": "bench/src/benchmarks/send_and_poll_benchmark.rs"
    },
    {
      "type": "modify",
      "old_id": "6b7ffeaeb6e6382c271ed4011b63e051c364306f",
      "old_mode": 33188,
      "old_path": "bench/src/benchmarks/send_benchmark.rs",
      "new_id": "bc3b4e611dd74e4348c1ca65a5cbf6f298b1a68f",
      "new_mode": 33188,
      "new_path": "bench/src/benchmarks/send_benchmark.rs"
    },
    {
      "type": "modify",
      "old_id": "8caea1402896805f656e2faab84fdf23635bb32e",
      "old_mode": 33188,
      "old_path": "bench/src/main.rs",
      "new_id": "9acc1fdd51e169b78b9d2c9abba2163143bd6ee5",
      "new_mode": 33188,
      "new_path": "bench/src/main.rs"
    },
    {
      "type": "modify",
      "old_id": "c26574474ac62911517c23ff9655b705db81baff",
      "old_mode": 33188,
      "old_path": "bench/src/plot.rs",
      "new_id": "056ab900254220b4e2e5753e78d433c2b4b88216",
      "new_mode": 33188,
      "new_path": "bench/src/plot.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d76a77bd49a8fd908a3e0630a58285ebb35fc931",
      "new_mode": 33188,
      "new_path": "bench/src/rate_limiter/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "72e364db3c05da70bc5bb5cd5c5db42e0f3063a0",
      "old_mode": 33188,
      "old_path": "bench/src/runner.rs",
      "new_id": "72557b0888caef3698633bcafc52b8daf11ff118",
      "new_mode": 33188,
      "new_path": "bench/src/runner.rs"
    }
  ]
}
