Skip to content

Commit

Permalink
draft: benchmark info logs
Browse files Browse the repository at this point in the history
  • Loading branch information
Keksoj committed Feb 8, 2024
1 parent a75010c commit 62ac884
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 2 deletions.
42 changes: 42 additions & 0 deletions .github/workflows/bench_logs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import subprocess
import logging
import time

def bench_logs(color: bool, target: str, iterations: int, level: str):
logging.info("🎯 Initalize environnment")

start = time.time()

try:
sozu = subprocess.Popen(
[
"BENCH_LOG_COLOR={color}",
"BENCH_LOG_TARGET={target}",
"BENCH_LOG_ITERS={iterations}",
"BENCH_LOG_FILTER={level}",
"./bench-logger", "start", "-c", "bench.toml", "> /dev/null"
],
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
)
except subprocess.CalledProcessError as e:
logging.error(f"🚨 Command failed with return code {e.returncode}")

elapsed_time = time.time() - start

logging.info("🪓 Destroy environment")

try:
subprocess.run(["kill", str(sozu.pid)])
except subprocess.CalledProcessError as e:
logging.error(f"🚨 Failed to destroy environnement {e.returncode}")

logging.info("benching logs, with color: {color}, to {target}, level {level}, {iterations} iterations. Time: {elapsed}")

logging.basicConfig(encoding='utf-8', level=logging.INFO)
logging.info("💣 Launching benchmark")

bench_logs(true, "stdout", 1000000, "debug")
bench_logs(true, "stdout", 1000000, "trace")
bench_logs(true, "udp", 1000000, "debug")
bench_logs(true, "udp", 1000000, "trace")
24 changes: 22 additions & 2 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,22 @@ jobs:
- name: Build Sozu
run: cargo build --release

- name: Build Sozu bench logger (for benchmarking)
run: cargo build --release --example bench_logger

- name: 📤 Upload sozu
uses: actions/upload-artifact@v4
with:
name: sozu
path: target/release/sozu


- name: 📤 Upload sozu logs example
uses: actions/upload-artifact@v4
with:
name: random-logs
path: target/release/examples/bench_logger


bench:
name: Benchmark 🎯
runs-on: ubuntu-latest
Expand All @@ -110,6 +120,11 @@ jobs:
with:
name: sozu
path: .github/workflows
- name: 📥 Download sozu bench logger
uses: actions/download-artifact@v4
with:
name: bench-logger
path: .github/workflows

- name: Host mapping sozu.io domains
run: |
Expand Down Expand Up @@ -158,4 +173,9 @@ jobs:
- name: ⚡ Launch bench
working-directory: .github/workflows
run:
python bench.py
python bench.py

- name: Bench the logs
working-directory: .github/workflows
run:
python bench_logs.py

0 comments on commit 62ac884

Please sign in to comment.