Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ z-scratch/

# Binary files
benchkit/cmd/benchmark/benchmark
benchkit/cmd/sweep/sweep
examples/storage/storage

# Gorums generated backup files
Expand All @@ -37,6 +38,13 @@ cmd/protoc-gen-gorums/gengorums/template_static.go.bak
go.work.sum
branch-compare-*
tmp/*
out/*
.claude/settings.local.json
.claude/agent-memory/
CLAUDE.md
scripts/bbchain-echo.sh
scripts/bbchain-ssh-config
scripts/bbchain-infocmp.sh
scripts/__pycache__/plot.cpython-314.pyc
scripts/install-bbchain-key.sh
report/dedup-eval*/*
5 changes: 5 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ gorums/
│ ├── proto/ # .proto sources for the benchkit module
│ ├── benchmark/ # Gorums workloads built on benchkit
│ ├── cmd/benchmark/ # Benchmark node binary
│ └── cmd/sweep/ # Cluster sweep orchestrator
├── examples/ # Separate module: example implementations
├── internal/ # Internal packages
├── doc/ # Documentation
Expand Down Expand Up @@ -187,6 +188,9 @@ make -B
# Install protoc-gen-gorums plugin
make installgorums

# Build benchmark tool
make benchmark

# Install required tools
make tools
```
Expand Down Expand Up @@ -259,6 +263,7 @@ Before making significant changes, consult:

- Gorums is used in performance-critical distributed systems
- Benchmarking tools are available in `benchkit/benchmark/` and `benchkit/cmd/benchmark/`
- See `doc/benchmarking.md` for benchmarking procedures
- Profile before optimizing - use Go's pprof tools

## Communication with Project Maintainer
Expand Down
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ runtime_deps := internal/stream/stream.pb.go internal/stream/stream_grpc.pb.go
benchkit_deps := benchkit/benchkit.pb.go benchkit/control.pb.go benchkit/control_gorums.pb.go
benchmark_deps := $(benchkit_deps) benchkit/benchmark/benchmark.pb.go benchkit/benchmark/benchmark_gorums.pb.go

.PHONY: all dev tools bootstrapgorums installgorums benchmark benchkit test compiletests genproto benchtest bench lint deadcode modernize goplscheck
.PHONY: all dev tools bootstrapgorums installgorums benchmark sweep test compiletests genproto benchtest bench lint deadcode modernize goplscheck

all: dev benchmark compiletests

Expand All @@ -36,6 +36,9 @@ benchmark: installgorums $(benchmark_deps)

benchkit: installgorums $(benchkit_deps)

sweep: $(benchkit_deps)
@go build -C benchkit/cmd/sweep -o sweep .

# The benchkit module's generated code is written back into the module root
# rather than next to its .proto file, so these cannot use the pattern rules.
benchkit/benchkit.pb.go: $(bk_path)/benchkit/benchkit.proto
Expand Down Expand Up @@ -171,7 +174,7 @@ goplscheck:
exit 1; \
fi

# Regenerate all Gorums and protobuf generated files across the repo (dev, benchkit, benchmark, internal/tests, examples).
# Regenerate all Gorums and protobuf generated files across the repo (dev, benchmark, internal/tests, examples).
# This will force regeneration even though the proto files have not changed.
genproto: installgorums dev
@echo "Regenerating all proto files (dev, benchkit, benchmark, internal/tests, examples)"
Expand Down
Loading
Loading