Introduction
Flagr is an open source Go service that delivers the right experience to the right entity and monitors the impact. It provides feature flags, experimentation (A/B testing), and dynamic configuration. It has clear swagger REST APIs for flags management and flag evaluation.
Documentation
Quick demo
Try it with Docker.
# Start the docker container
docker pull checkr/flagr
docker run -it -p 18000:18000 checkr/flagr
# Open the Flagr UI
open localhost:18000
Or try it on https://try-flagr.herokuapp.com, it may take a while for a cold start.
curl --request POST \
--url https://try-flagr.herokuapp.com/api/v1/evaluation \
--header 'content-type: application/json' \
--data '{
"entityID": "127",
"entityType": "user",
"entityContext": {
"state": "NY"
},
"flagID": 1,
"enableDebug": true
}'
Flagr Evaluation Performance
Tested with vegeta
. For more details, see benchmarks.
Requests [total, rate] 56521, 2000.04
Duration [total, attack, wait] 28.2603654s, 28.259999871s, 365.529µs
Latencies [mean, 50, 95, 99, max] 371.632µs, 327.991µs, 614.918µs, 1.385568ms, 12.50012ms
Bytes In [total, mean] 23250552, 411.36
Bytes Out [total, mean] 8308587, 147.00
Success [ratio] 100.00%
Status Codes [code:count] 200:56521
Error Set:
Flagr UI
Client Libraries
Language | Clients |
---|---|
Go | goflagr |
Javascript | jsflagr |
Python | pyflagr |
Ruby | rbflagr |