circuit
An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.
File Explorer
Download Latest Version (.zip)- build.yml
- fuzz.yml
- bench_test.go
- circuit_test.go
- closer.go
- closer_test.go
- config.go
- config_test.go
- doc.go
- example_test.go
- opener.go
- opener_test.go
- regression_test.go
- closers.go
- closers_test.go
- doc.go
- doc.go
- main.go
- main_test.go
- atomic.go
- atomic_test.go
- bench_test.go
- doc.go
- fuzz_test.go
- regression_test.go
- rolling_bucket.go
- rolling_bucket_test.go
- rolling_counter.go
- rolling_counter_test.go
- rolling_percentile.go
- rolling_percentile_test.go
- rolling_stress_test.go
- timedcheck.go
- timedcheck_test.go
- clock.go
- clock_test.go
- evar.go
- evar_test.go
- testhelp.go
- testhelp_test.go
- doc.go
- example_test.go
- metriceventstream.go
- metriceventstream_test.go
- regression_test.go
- doc.go
- example_test.go
- responsetime.go
- responsetime_test.go
- doc.go
- regression_test.go
- rolling.go
- rolling_test.go
- doc.go
- .gitignore
- .golangci.yml
- circuit.go
- circuit_bench_test.go
- circuit_property_test.go
- circuit_regression_test.go
- circuit_stress_test.go
- circuit_test.go
- closers.go
- closers_test.go
- config.go
- config_test.go
- doc.go
- errors.go
- errors_test.go
- example_test.go
- expvar_test.go
- go.mod
- go.sum
- gowrapper.go
- gowrapper_test.go
- LICENSE.txt
- Makefile
- manager.go
- manager_stress_test.go
- manager_test.go
- metrics.go
- README.md
- renovate.json
- UPGRADE_GUIDE.md
# Installation Guide
git clone https://github.com/cep21/circuit
Downloads the entire project code from GitHub to your computer.
cd circuit
Moves into the project folder you just downloaded.
2. Go
Medium Recommendedgo run example/main.go
Runs the Go program directly without a separate build step.
Pulled directly from this repo's README.
3. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make # fast dev loop: build + test + lint (~5s)
Compiles the code based on the generated build configuration to produce an executable.
make ci # everything CI runs β use before submitting a PR (~1min)
Compiles the code based on the generated build configuration to produce an executable.
make fuzz # active fuzzing (FUZZTIME per target, default 30s)
Compiles the code based on the generated build configuration to produce an executable.
make help # full target list
Compiles the code based on the generated build configuration to produce an executable.
Pulled directly from this repo's README.
