Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 1.43 KB

File metadata and controls

45 lines (32 loc) · 1.43 KB

Feature Flag Service

This project provides an web interface for creating and updating feature flags and a GRPC service for fetching the status of flags by their name. Each runs on their own port but are in the same Release.

Running

To run individually and not part of the demo the Release can be built with mix:

MIX_ENV=prod mix release

Then start Postgres with docker compose

docker compose up

And run the Release:

PHX_SERVER=1 FEATURE_FLAG_SERVICE_PORT=4000 FEATURE_FLAG_GRPC_SERVICE_PORT=4001 _build/prod/rel/featureflagservice/bin/featureflagservice start_iex

Instrumentation

Traces of interaction with the web interface is provided by the OpenTelemetry Phoenix instrumentation with Spans for database queries added through the Ecto instrumentation.

The GRPC service uses grpcbox and uses the grpcbox interceptor for instrumentation.

Building Protos

A copy of the protos from pb/demo.proto are kept in proto/demo.proto and rebar3 grpc_regen will update the corresponding Erlang module src/ffs_demo_pb.erl.