Commit Graph

8 Commits

Author SHA1 Message Date
Todd Baert 27b3193821
chore: docs rework (#927)
Total web-docs overhaul:

- puts a helpful intro at the start, with a demo on the next page
- adds an "architecture" page which discusses in-process vs rpc
- adds a deployment page with mentions how to install/run
- adds a "reference" section which includes:
  - specs
  - protos (in the form of autogenerated markdown for easy navigation)
  - autogenerated CLI docs
- adds FAQ

---------

Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2023-09-27 13:46:39 -04:00
Kavindu Dodanduwa 175703548f
feat: otel traces for flag evaluation (#598)
## This PR

Partially address #575 by introducing **traces** for flag evaluations &
otlp **batch exporter** based on **otlp grpc** with aim to use by otel
collector.

Contents,

- Refactor telemetry builder to register `TraceProvider` [1].
- Tracers [2] for `flag_evaluator.go` & `json_evaluator.go` with passing
context to derive span [2] tree

```
flagEvaluationService
|__ jsonEvaluator
```

Note that, setting `otel-collector-uri` is essential to export collected
traces. However, flagd can still be run **without** collector uri -
<del>this results in an empty(nil) exporter with no-op behavior</del>
this results in no provider registration, making traces to use
`NoopTracerProvider`

## How to test 

1. Set up flagd with otel collector - follow documentation [4]
2. Perform flag evaluations  [5]
3. Visit Jaeger UI (typically - http://127.0.0.1:16686/) for traces 


![overview](https://user-images.githubusercontent.com/8186721/231010260-b6be4cb2-1926-4692-a911-6ae3724afe88.png)

![trace](https://user-images.githubusercontent.com/8186721/231010269-3af505a7-48c4-45c9-ae4d-cc1bc269322e.png)



[1] -
https://opentelemetry.io/docs/reference/specification/trace/api/#tracerprovider
[2] -
https://opentelemetry.io/docs/reference/specification/trace/api/#tracer
[3] -
https://opentelemetry.io/docs/reference/specification/trace/api/#span
[4] -
https://github.com/open-feature/flagd/blob/main/docs/configuration/flagd_telemetry.md#export-to-otel-collector
[5] -
https://github.com/open-feature/flagd/blob/main/docs/configuration/fractional_evaluation.md#example

---------

Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2023-04-13 11:19:21 -04:00
Kavindu Dodanduwa 494bec33dc
feat: flagd OTEL collector (#586)
## This PR

Fixes #563

Introduce configurations for flagd to connect to OTEL collector. Also,
improves how telemetry configurations are handled.

Changes include,

- Package renaming - otel to telemetry - This avoids import conflicts 

- Introduce a telemetry builder - The intention is to have a central
location to handle telemetry configurations and build telemetry
components

- Introduce a span processor builder - Provide groundwork for
https://github.com/open-feature/flagd/issues/575 (needs fallback
mechanism)


## How to test?

Consider following this guide - (doc generated from commit)
81c66b3c89/docs/configuration/flagd_telemetry.md

In short, 

- create configuration files (docker-compose yaml, collector config
yaml, Prometheus yaml )
- start collector setup (docker-compose up)
- start flagd with otel collector override for metrics (`flagd start
--uri file:/flags.json --metrics-exporter otel --otel-collector-target
localhost:4317`)

Metrics will be available at Prometheus(http://localhost:9090/graph).
Traces are still missing as we have to implement them.

---------

Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Signed-off-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com>
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
2023-04-10 07:36:57 -07:00
Adam Gardner ec5d2f6f7b
docs: Docs rework (#544)
Signed-off-by: Adam Gardner <adam@agardner.net>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2023-03-27 16:01:55 -04:00
Skye Gill fef9b87564
refactor: isolate flag state management to store (#383)
<!-- Please use this template for your pull request. -->
<!-- Please use the sections that you need and delete other sections -->

## This PR
<!-- add the description of the PR here -->

- Isolates flag state management to store package

### Related Issues
<!-- add here the GitHub issue that this PR resolves if applicable -->

Fixes #371 

### Notes
<!-- any additional notes for this PR -->

### Follow-up Tasks
<!-- anything that is related to this PR but not done here should be
noted under this section -->
<!-- if there is a need for a new issue, please link it here -->

### How to test
<!-- if applicable, add testing instructions under this section -->
I've ran [flagd's integration
tests](https://github.com/open-feature/flagd/pull/312) against this
build to ensure behaviour is as before.

---------

Signed-off-by: Skye Gill <gill.skye95@gmail.com>
2023-02-09 15:43:17 +00:00
Kavindu Dodanduwa 0391848317
chore: Image source for image (#348)
## This PR

Adds the image source content of the PR
https://github.com/open-feature/flagd/pull/310. Source can be used with
**excalidraw**

Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2023-01-30 15:32:25 -05:00
Kavindu Dodanduwa a114070850
chore: add architecture overview for recent refactoring (#310)
## This PR

Adds a component diagram for flag configuration providers and their
interactions with the runtime and other systems.

Related PR #291

---------

Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2023-01-30 14:41:55 -05:00
Michael Beemer 4a91e14306
docs: add install instructions (#143)
* add install instructions

s

Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>

* Update README.md

Co-authored-by: Todd Baert <toddbaert@gmail.com>
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>

* add note about systemd

Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>

* move configuration options link

Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>

Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Co-authored-by: Todd Baert <toddbaert@gmail.com>
2022-08-17 15:47:08 +01:00