Skip to content

Flagr is a feature flagging, A/B testing and dynamic configuration microservice

License

Notifications You must be signed in to change notification settings

ImagineLearning/Flagr-Source

 
 

Repository files navigation

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

About

Flagr is a feature flagging, A/B testing and dynamic configuration microservice

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 73.4%
  • Vue 20.1%
  • Shell 4.3%
  • Makefile 0.8%
  • JavaScript 0.8%
  • Dockerfile 0.4%
  • HTML 0.2%