Skip to content

Commit

Permalink
chore: added doc to README.md
Browse files Browse the repository at this point in the history
Signed-off-by: Bernd Warmuth <bernd.warmuth@dynatrace.com>
  • Loading branch information
Bernd Warmuth committed Dec 5, 2024
1 parent 3e67972 commit 1ecffec
Showing 1 changed file with 22 additions and 11 deletions.
33 changes: 22 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,17 +120,18 @@ See [here](https://javadoc.io/doc/dev.openfeature/sdk/latest/) for the Javadocs.

## 🌟 Features

| Status | Features | Description |
| ------ |-----------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| βœ… | [Providers](#providers) | Integrate with a commercial, open source, or in-house feature management tool. |
| βœ… | [Targeting](#targeting) | Contextually-aware flag evaluation using [evaluation context](https://openfeature.dev/docs/reference/concepts/evaluation-context). |
| βœ… | [Hooks](#hooks) | Add functionality to various stages of the flag evaluation life-cycle. |
| βœ… | [Logging](#logging) | Integrate with popular logging packages. |
| βœ… | [Domains](#domains) | Logically bind clients with providers. |
| βœ… | [Eventing](#eventing) | React to state changes in the provider or flag management system. |
| βœ… | [Shutdown](#shutdown) | Gracefully clean up a provider during application shutdown. |
| βœ… | [Transaction Context Propagation](#transaction-context-propagation) | Set a specific [evaluation context](https://openfeature.dev/docs/reference/concepts/evaluation-context) for a transaction (e.g. an HTTP request or a thread). |
| βœ… | [Extending](#extending) | Extend OpenFeature with custom providers and hooks. |
| Status | Features | Description |
| ------ |---------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|
| βœ… | [Providers](#providers) | Integrate with a commercial, open source, or in-house feature management tool. |
| βœ… | [Targeting](#targeting) | Contextually-aware flag evaluation using [evaluation context](https://openfeature.dev/docs/reference/concepts/evaluation-context). |
| βœ… | [Hooks](#hooks) | Add functionality to various stages of the flag evaluation life-cycle. |
| βœ… | [Tracking](#tracking) | Associate user actions with feature flag evaluations. |
| βœ… | [Logging](#logging) | Integrate with popular logging packages. |
| βœ… | [Domains](#domains) | Logically bind clients with providers. |
| βœ… | [Eventing](#eventing) | React to state changes in the provider or flag management system. |
| βœ… | [Shutdown](#shutdown) | Gracefully clean up a provider during application shutdown. |
| βœ… | [Transaction Context Propagation](#transaction-context-propagation) | Set a specific [evaluation context](https://openfeature.dev/docs/reference/concepts/evaluation-context) for a transaction (e.g. an HTTP request or a thread). |
| βœ… | [Extending](#extending) | Extend OpenFeature with custom providers and hooks. |

<sub>Implemented: βœ… | In-progress: ⚠️ | Not implemented yet: ❌</sub>

Expand Down Expand Up @@ -215,6 +216,16 @@ Once you've added a hook as a dependency, it can be registered at the global, cl
FlagEvaluationOptions.builder().hook(new ExampleHook()).build());
```

### Tracking

The [tracking API](https://openfeature.dev/specification/sections/tracking/) allows you to use OpenFeature abstractions to associate user actions with feature flag evaluations.
This is essential for robust experimentation powered by feature flags. Note that, unlike methods that handle feature flag evaluations, calling `track(...)` may throw an `IllegalArgumentException` if an empty string is passed as the `trackingEventName`.

```java
OpenFeatureAPI api = OpenFeatureAPI.getInstance();
api.getClient().track("visited-promo-page", new MutableTrackingEventDetails(99.77).add("currency", "USD"));
```

### Logging

The Java SDK uses SLF4J. See the [SLF4J manual](https://slf4j.org/manual.html) for complete documentation.
Expand Down

0 comments on commit 1ecffec

Please sign in to comment.