docs: add tracking sections (#1068)
- adds tracking to all relevant READMEs --------- Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
This commit is contained in:
parent
62f7668959
commit
e131faffad
|
|
@ -54,6 +54,7 @@ In addition to the feature provided by the [web sdk](https://openfeature.dev/doc
|
|||
- [Re-rendering with Context Changes](#re-rendering-with-context-changes)
|
||||
- [Re-rendering with Flag Configuration Changes](#re-rendering-with-flag-configuration-changes)
|
||||
- [Suspense Support](#suspense-support)
|
||||
- [Tracking](#tracking)
|
||||
- [Testing](#testing)
|
||||
- [FAQ and troubleshooting](#faq-and-troubleshooting)
|
||||
- [Resources](#resources)
|
||||
|
|
@ -274,11 +275,32 @@ function Fallback() {
|
|||
// component to render before READY.
|
||||
return <p>Waiting for provider to be ready...</p>;
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
This can be disabled in the hook options (or in the [OpenFeatureProvider](#openfeatureprovider-context-provider)).
|
||||
|
||||
#### Tracking
|
||||
|
||||
The tracking API allows you to use OpenFeature abstractions and objects to associate user actions with feature flag evaluations.
|
||||
This is essential for robust experimentation powered by feature flags.
|
||||
For example, a flag enhancing the appearance of a UI component might drive user engagement to a new feature; to test this hypothesis, telemetry collected by a [hook](#hooks) or [provider](#providers) can be associated with telemetry reported in the client's `track` function.
|
||||
|
||||
The React SDK includes a hook for firing tracking events in the <OpenFeatureProvider> context in use:
|
||||
|
||||
```tsx
|
||||
function MyComponent() {
|
||||
|
||||
// get a tracking function for this <OpenFeatureProvider>.
|
||||
const { track } = useTrack();
|
||||
|
||||
// call the tracking event
|
||||
// can be done in render, useEffect, or in handlers, depending on your use case
|
||||
track(eventName, trackingDetails);
|
||||
|
||||
return <>...</>;
|
||||
}
|
||||
```
|
||||
|
||||
### Testing
|
||||
|
||||
The React SDK includes a built-in context provider for testing.
|
||||
|
|
|
|||
|
|
@ -102,8 +102,9 @@ See [here](https://open-feature.github.io/js-sdk/modules/_openfeature_server_sdk
|
|||
| ✅ | [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](/docs/reference/concepts/evaluation-context) for a transaction (e.g. an HTTP request or a thread) |
|
||||
| ✅ | [Tracking](#tracking) | Associate user actions with feature flag evaluations, particularly for A/B testing. |
|
||||
| ✅ | [Shutdown](#shutdown) | Gracefully clean up a provider during application shutdown. |
|
||||
| ✅ | [Extending](#extending) | Extend OpenFeature with custom providers and hooks. |
|
||||
|
||||
<sub>Implemented: ✅ | In-progress: ⚠️ | Not implemented yet: ❌</sub>
|
||||
|
|
@ -289,6 +290,21 @@ app.use((req: Request, res: Response, next: NextFunction) => {
|
|||
})
|
||||
```
|
||||
|
||||
### Tracking
|
||||
|
||||
The tracking API allows you to use OpenFeature abstractions and objects to associate user actions with feature flag evaluations.
|
||||
This is essential for robust experimentation powered by feature flags.
|
||||
For example, a flag enhancing the appearance of a UI component might drive user engagement to a new feature; to test this hypothesis, telemetry collected by a [hook](#hooks) or [provider](#providers) can be associated with telemetry reported in the client's `track` function.
|
||||
|
||||
```ts
|
||||
// flag is evaluated
|
||||
await client.getBooleanValue('new-feature', false);
|
||||
|
||||
// new feature is used and track function is called recording the usage
|
||||
useNewFeature();
|
||||
client.track('new-feature-used');
|
||||
```
|
||||
|
||||
### Shutdown
|
||||
|
||||
The OpenFeature API provides a close function to perform a cleanup of all registered providers.
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ See [here](https://open-feature.github.io/js-sdk/modules/_openfeature_web_sdk.ht
|
|||
| ✅ | [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. |
|
||||
| ✅ | [Tracking](#tracking) | Associate user actions with feature flag evaluations, particularly for A/B testing. |
|
||||
| ✅ | [Shutdown](#shutdown) | Gracefully clean up a provider during application shutdown. |
|
||||
| ✅ | [Extending](#extending) | Extend OpenFeature with custom providers and hooks. |
|
||||
|
||||
|
|
@ -281,6 +282,21 @@ client.addHandler(ProviderEvents.Error, (eventDetails) => {
|
|||
});
|
||||
```
|
||||
|
||||
### Tracking
|
||||
|
||||
The tracking API allows you to use OpenFeature abstractions and objects to associate user actions with feature flag evaluations.
|
||||
This is essential for robust experimentation powered by feature flags.
|
||||
For example, a flag enhancing the appearance of a UI component might drive user engagement to a new feature; to test this hypothesis, telemetry collected by a [hook](#hooks) or [provider](#providers) can be associated with telemetry reported in the client's `track` function.
|
||||
|
||||
```ts
|
||||
// flag is evaluated
|
||||
client.getBooleanValue('new-feature', false);
|
||||
|
||||
// new feature is used and track function is called recording the usage
|
||||
useNewFeature();
|
||||
client.track('new-feature-used');
|
||||
```
|
||||
|
||||
### Shutdown
|
||||
|
||||
The OpenFeature API provides a close function to perform a cleanup of all registered providers.
|
||||
|
|
|
|||
Loading…
Reference in New Issue