Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
0011f2d
Revert "Remove feature flag documentation from issue details page (#1…
cmanallen Nov 6, 2024
0dc00d1
Add feature flag documentation to issue-details page
cmanallen Nov 6, 2024
1cf3e8e
Fix spelling
cmanallen Nov 8, 2024
b0bbf64
Add more docs
cmanallen Nov 8, 2024
5a0e779
Clean up sentence
cmanallen Nov 8, 2024
1800bb4
Merge branch 'master' into cmanallen/add-issue-details-docs
cmanallen Nov 11, 2024
f00a3fa
Point to 'Change Tracking Integration' heading
cmanallen Nov 11, 2024
22d9ec4
Update docs/product/issues/issue-details/index.mdx
cmanallen Nov 11, 2024
920a532
Merge branch 'cmanallen/add-issue-details-docs' of https://github.com…
cmanallen Nov 11, 2024
cd6ecee
Clean up
cmanallen Nov 11, 2024
de57663
Add comma
cmanallen Nov 12, 2024
2e6e233
Another comma
cmanallen Nov 12, 2024
acb2b71
Fix wording
cmanallen Nov 12, 2024
4243227
Formatting
cmanallen Nov 13, 2024
1b0e3d4
Use correct naming
cmanallen Nov 13, 2024
db5797d
Formatting and naming corrections
cmanallen Nov 13, 2024
22a253e
Fix wording
cmanallen Nov 13, 2024
b5976c1
Clean up redundant documentation
cmanallen Nov 14, 2024
dc5b2e5
Add OpenFeature integration docs
cmanallen Nov 15, 2024
b26e949
Fix namespacing
cmanallen Nov 15, 2024
8e0051d
Remove extraneous information
cmanallen Nov 15, 2024
4cd2f65
Remove unused images
cmanallen Nov 15, 2024
097e4d1
docs(flags): add index flag docs for python
michellewzhang Nov 19, 2024
d8a6795
:add beta label
michellewzhang Nov 20, 2024
6bd4dad
docs(flags): add product index page for feature flags
Nov 27, 2024
0bb8b8e
add link to js
Nov 27, 2024
9254bba
add info about second step
michellewzhang Nov 27, 2024
0ef3d1f
new link
michellewzhang Nov 27, 2024
bf215f8
docs(flags): add js index page
michellewzhang Nov 27, 2024
8eddd68
Simplify language specific documentation
cmanallen Nov 30, 2024
00bdf22
Add prereqs
cmanallen Nov 30, 2024
e6da619
Simplify language
cmanallen Nov 30, 2024
4912ba9
Merge branches 'mz/js-main' and 'mz/python-main' into cmanallen/conso…
cmanallen Nov 30, 2024
cdb050e
Update instructions
cmanallen Nov 30, 2024
88185d6
Merge branch 'mz/ff-index' into cmanallen/consolidate-ff-docs
cmanallen Nov 30, 2024
a802fe9
Merge branch 'cmanallen/openfeature-integration-docs' into cmanallen/…
cmanallen Nov 30, 2024
1b77eef
Add LaunchDarkly documentation
cmanallen Nov 30, 2024
89f2523
Merge branch 'cmanallen/add-issue-details-docs' into cmanallen/consol…
cmanallen Nov 30, 2024
e056c39
Misc updates
cmanallen Dec 1, 2024
749e07f
Cross link change tracking
cmanallen Dec 1, 2024
aa00323
Wording
cmanallen Dec 1, 2024
cb10216
De-dupe prerelease alert
cmanallen Dec 1, 2024
840c8bf
Wording
cmanallen Dec 1, 2024
74f5c55
Fix urls
cmanallen Dec 1, 2024
cf2e160
Fix urls
cmanallen Dec 1, 2024
508f25f
Remove trailing slash
cmanallen Dec 1, 2024
6cc14db
Remove trailing slash
cmanallen Dec 1, 2024
3ab0ace
Remove trailing slash
cmanallen Dec 1, 2024
9e800c1
Add exposition
cmanallen Dec 1, 2024
d8b31b0
Reorganize includes
cmanallen Dec 1, 2024
6ebb3d1
Re-word description
cmanallen Dec 1, 2024
3740542
Remove change tracking include
cmanallen Dec 1, 2024
f7e656d
Use platform-includes rather than regular includes since I can't make…
cmanallen Dec 1, 2024
2ab3dbb
Update links
cmanallen Dec 1, 2024
74b5262
Wording and styles
cmanallen Dec 1, 2024
8182477
Hard code change tracking documentation
cmanallen Dec 1, 2024
8fae723
Reintroduce enable change tracking template
cmanallen Dec 1, 2024
e49e493
Wording
cmanallen Dec 1, 2024
2645fec
More language
cmanallen Dec 1, 2024
1e46d9e
Wording
cmanallen Dec 1, 2024
bcfed7b
Update version requirement
cmanallen Dec 2, 2024
07ce47d
Remove closed beta message
cmanallen Dec 2, 2024
570eef8
Indent installation instructions
cmanallen Dec 2, 2024
3c5845b
Add install and configure heading
cmanallen Dec 2, 2024
911624a
Add evaluation tracking note
cmanallen Dec 2, 2024
64a4b1a
Move python after user feedback
cmanallen Dec 2, 2024
5ab81f0
s/LaunchDarkly/OpenFeature
cmanallen Dec 2, 2024
c0cf29b
Fix link
cmanallen Dec 2, 2024
d30f40e
Remove options section
cmanallen Dec 2, 2024
17bde53
Link directly to the integration
cmanallen Dec 2, 2024
7848850
Wording
cmanallen Dec 2, 2024
d7d99c6
Capitalization
cmanallen Dec 2, 2024
edaf723
Change order
cmanallen Dec 2, 2024
5e1d399
Fix commas
cmanallen Dec 2, 2024
fe48814
Capitalization
cmanallen Dec 2, 2024
b4db6e7
Remove word
cmanallen Dec 2, 2024
39405a6
Wording
cmanallen Dec 2, 2024
dca8e06
Merge branch 'cmanallen/consolidate-ff-docs' of https://github.com/ge…
cmanallen Dec 2, 2024
19001cb
Move feature flags to the bottom
cmanallen Dec 2, 2024
b01d851
Remove reference to releases
cmanallen Dec 2, 2024
7273956
Remove redundant link
cmanallen Dec 2, 2024
c84b3fd
Capitalization
cmanallen Dec 2, 2024
4eaf357
Feedback
cmanallen Dec 2, 2024
647fa56
Add next steps include
cmanallen Dec 2, 2024
28d7b3f
Add supported list
cmanallen Dec 2, 2024
9bba3b8
Add DSN to examples
cmanallen Dec 2, 2024
ab1eb40
Remove metrics comment
cmanallen Dec 2, 2024
4b732fa
Update next-steps text
cmanallen Dec 2, 2024
4df3cb4
Fix casing
cmanallen Dec 2, 2024
d43968d
Remove supported section
cmanallen Dec 2, 2024
815af0b
Fix nits
cmanallen Dec 2, 2024
4a8663b
Use correct name
cmanallen Dec 2, 2024
a675ddd
Use a bullet list
cmanallen Dec 2, 2024
b0d0cb5
Remove word
cmanallen Dec 2, 2024
d3c93e9
Ordering
cmanallen Dec 2, 2024
9928928
Link
cmanallen Dec 2, 2024
ab05155
Wording
cmanallen Dec 2, 2024
c1e4b07
Wording
cmanallen Dec 2, 2024
63e2ba6
Reword
cmanallen Dec 2, 2024
9c445d3
Wording
cmanallen Dec 2, 2024
a2fcb6d
Add Install, Configure, Verify, and Support Notes section for js inte…
aliu39 Dec 2, 2024
f7c670a
[getsentry/action-github-commit] Auto commit
getsantry[bot] Dec 2, 2024
ab4356f
Wording
cmanallen Dec 2, 2024
daf487a
Revert js change
cmanallen Dec 2, 2024
91b6f88
Revert yarn
cmanallen Dec 2, 2024
11e9502
[getsentry/action-github-commit] Auto commit
getsantry[bot] Dec 2, 2024
f564cc2
[getsentry/action-github-commit] Auto commit
getsantry[bot] Dec 2, 2024
8e02180
Merge branch 'master' into cmanallen/consolidate-ff-docs
cmanallen Dec 2, 2024
fb1ff75
Merge branch 'cmanallen/consolidate-ff-docs' of https://github.com/ge…
cmanallen Dec 2, 2024
d69bf09
Better url
cmanallen Dec 2, 2024
6af548d
Wording
cmanallen Dec 2, 2024
94f6320
Add notice
cmanallen Dec 2, 2024
93483d7
Remove extraneous docs
cmanallen Dec 3, 2024
d60a56a
Remove extraneous docs
cmanallen Dec 3, 2024
82fde33
Add magic url
cmanallen Dec 3, 2024
8ec9626
Copy
cmanallen Dec 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 33 additions & 2 deletions docs/organization/integrations/feature-flag/launchdarkly/index.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,43 @@
---
title: LaunchDarkly
sidebar_order: 1
description: Learn about Sentry's LaunchDarkly integration. LaunchDarkly enables organizations to use Sentry errors as a metric in their LaunchDarkly experiments.
description: Learn about Sentry's LaunchDarkly integrations.
---

## Evaluation Tracking

Sentry can track flag evaluations as they happen within your application. Flag evaluations will appear in the "Feature Flag" section of Issue Details page as a table, with "suspect" flag predictions highlighted in yellow. Learn more about how to interact with feature flag insights within the Sentry UI by reading the [Issue Details page documentation](/product/issues/issue-details/#feature-flags).

### Set Up Evaluation Tracking

To set up evaluation tracking visit one of our supported languages pages:
* [JavaScript](/platforms/javascript/configuration/integrations/launchdarkly/)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this link isn't working, not sure what it should be yet...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i expected this to work but its seems like it's not:

Suggested change
* [JavaScript](/platforms/javascript/configuration/integrations/launchdarkly/)
* [JavaScript](/platforms/javascript/integrations/launchdarkly/)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* [JavaScript](/platforms/javascript/configuration/integrations/launchdarkly/)
* [JavaScript](/platforms/javascript/feature-flags/)

* [Python](/platforms/python/integrations/launchdarkly/)

## Change Tracking

Sentry can track changes to feature flag definitions and report suspicious feature flag edits.

### Set Up Change Tracking

Enabling Change Tracking is a two step process. To get started visit the [feature-flags settings page](https://sentry.io/orgredirect/organizations/:orgslug/settings/feature-flags/) in a new tab. Then follow the steps listed below.

1. **Register the webhook URL**.
- Under the "Integrate Feature Flag Service" heading a Sentry webhook URL has been provided.
- Copy the Sentry webhook URL revealed in the fly out and paste it into LaunchDarkly within their [webhook integration UI](https://app.launchdarkly.com/settings/integrations/webhooks/new).
2. **Set the Signing Secret**.
- In the LaunchDarkly webhook UI check the box that says "Sign this webhook".
- Copy the signing secret in the revealed input box and paste it into the input box labeled "Secret" on the Sentry fly out.
- Save the secret by clicking "Save Secret" in the Sentry fly out.
- Save the webhook by clicking "Save Settings" in LaunchDarkly.

Once saved Sentry will now accept and authenticate all inbound hooks to your organization's feature flag webhook endpoint.

## Metrics Integration

This integration is maintained and supported by the company that created it. For more details or questions, feel free to contact rrosefigura@launchdarkly.com.

## Install and Configure
### Install and Configure

<Note>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
title: LaunchDarkly
description: "Learn how to use Sentry with LaunchDarkly."
notSupported:
- javascript.aws-lambda
- javascript.azure-functions
- javascript.bun
- javascript.capacitor
- javascript.cloudflare
- javascript.connect
- javascript.cordova
- javascript.deno
- javascript.electron
- javascript.express
- javascript.fastify
- javascript.gcp-functions
- javascript.hapi
- javascript.koa
- javascript.nestjs
- javascript.nodejs
- javascript.wasm
---

<PlatformContent includePath="feature-flags/prerelease-alert" />

<Alert level="info">

This integration only works inside a browser environment.

</Alert>

The [LaunchDarkly](https://launchdarkly.com/) integration tracks feature flag evaluations produced by the LaunchDarkly SDK. These evaluations are held in memory, and in the event an error occurs, sent to Sentry for review and analysis. **At the moment, we only support boolean flag evaluations.**

_Import names: `Sentry.launchDarklyIntegration` and `Sentry.buildLaunchDarklyFlagUsedHandler`_

## Install

Install [`@sentry/browser`](https://www.npmjs.com/package/@sentry/browser) and [`launchdarkly-js-client-sdk`](https://www.npmjs.com/package/launchdarkly-js-client-sdk) from npm.

## Configure

```JavaScript
import * as Sentry from '@sentry/browser';
import * as LaunchDarkly from 'launchdarkly-js-client-sdk';

Sentry.init({
dsn: "___PUBLIC_DSN___",
integrations: [Sentry.launchDarklyIntegration()]
});

const ldClient = LaunchDarkly.initialize(
'my-client-ID',
{kind: 'user', key: 'my-user-context-key'},
{inspectors: [Sentry.buildLaunchDarklyFlagUsedHandler()]}
);
```

Learn more about the [LaunchDarkly SDK](https://docs.launchdarkly.com/sdk/client-side/javascript). At the moment, **we aren't officially supporting framework-specific LaunchDarkly SDKs.** However, you may reuse the setup code for [React](https://www.npmjs.com/package/launchdarkly-react-client-sdk) and [client-side Node.js](https://www.npmjs.com/package/launchdarkly-node-client-sdk).

## Verify

The integration is tested by evaluating a feature flag with your LaunchDarkly SDK before capturing an exception.

```JavaScript
import * as Sentry from '@sentry/browser';
import * as LaunchDarkly from 'launchdarkly-js-client-sdk';

// Evaluate a flag with a default value, with the ldClient from the Configure step.
// You may have to wait for your client to initialize before doing this.
ldClient?.variation("hello", false);

Sentry.captureException(Exception("Something went wrong!"))
```

Visit the Sentry website and confirm that your error event has recorded the feature flag "hello" and its value "false".

<PlatformContent includePath="feature-flags/next-steps" />
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
---
title: OpenFeature
description: "Learn how to use Sentry with OpenFeature."
notSupported:
- javascript.aws-lambda
- javascript.azure-functions
- javascript.bun
- javascript.capacitor
- javascript.cloudflare
- javascript.connect
- javascript.cordova
- javascript.deno
- javascript.electron
- javascript.express
- javascript.fastify
- javascript.gcp-functions
- javascript.hapi
- javascript.koa
- javascript.nestjs
- javascript.nodejs
- javascript.wasm
---

<PlatformContent includePath="feature-flags/prerelease-alert" />

<Alert level="info">

This integration only works inside a browser environment.

</Alert>

The [OpenFeature](https://openfeature.dev/) integration tracks feature flag evaluations produced by the OpenFeature SDK. These evaluations are held in memory, and in the event an error occurs, sent to Sentry for review and analysis. **At the moment, we only support boolean flag evaluations.**

_Import name: `Sentry.openFeatureIntegration` and `Sentry.OpenFeatureIntegrationHook`_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this meant to be shown to the user?
SCR-20241202-ijcl

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aliu39 Is this meant to be shown to the user?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our code example already includes import * as Sentry from '@sentry/browser'; which is what's being talked about here. So maybe that has to go away. Using the import statement within the code example is annoying because @sentry/browser is not the only place to import from, could be @sentry/react for example.

@lizokm maybe you have a preference. I see the Import name: convention is used in a lot of places, so that seems to be it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using the import statement within the code example is annoying because @sentry/browser is not the only place to import from, could be @sentry/react for example.

I agree with this!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That makes sense to me. Let's leave it. I think it would flow better if we moved it under the first paragraph though.


## Install

Install [`@sentry/browser`](https://www.npmjs.com/package/@sentry/browser) and [`@openfeature/web-sdk`](https://www.npmjs.com/package/@openfeature/web-sdk) from npm.

## Configure

```JavaScript
import * as Sentry from '@sentry/browser';
import { OpenFeature } from '@openfeature/web-sdk';

Sentry.init({
dsn: "___PUBLIC_DSN___",
integrations: [Sentry.openFeatureIntegration()]
});

OpenFeature.setProvider(new MyProviderOfChoice());

// Option 1: track all OpenFeature evaluations.
OpenFeature.addHooks(new Sentry.OpenFeatureIntegrationHook());

// Option 2: only track evaluations by a specific client.
const client = OpenFeature.getClient();
client.addHooks(new Sentry.OpenFeatureIntegrationHook());
```

Learn more about OpenFeature providers [here](https://openfeature.dev/docs/reference/concepts/provider).

## Verify

The integration is tested by evaluating a feature flag with your OpenFeature SDK before capturing an exception.

```JavaScript
import * as Sentry from '@sentry/browser';
import { OpenFeature } from '@openfeature/web-sdk';

// Evaluate a flag with a default value. If you added the hook to a client in
// the Configure step, make sure to use the same client here.
const client = OpenFeature.getClient();
const result = client.getBooleanValue('hello', false);

Sentry.captureException(Exception("Something went wrong!"))
```

Visit the Sentry website and confirm that your error event has recorded the feature flag "hello" and its value "false".

<PlatformContent includePath="feature-flags/next-steps" />
37 changes: 37 additions & 0 deletions docs/platforms/javascript/common/feature-flags/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: Set Up Feature Flags
sidebar_order: 7000
notSupported:
- javascript.aws-lambda
- javascript.azure-functions
- javascript.bun
- javascript.capacitor
- javascript.cloudflare
- javascript.connect
- javascript.cordova
- javascript.deno
- javascript.electron
- javascript.express
- javascript.fastify
- javascript.gcp-functions
- javascript.hapi
- javascript.koa
- javascript.nestjs
- javascript.nodejs
- javascript.wasm
description: With Feature Flags, Sentry tracks feature flag evaluations in your application, keeps an audit log feature flag changes, and reports any suspicious updates that may have caused an error.
---

<PlatformContent includePath="feature-flags/prerelease-alert" />

## Prerequisites

* You have the <PlatformLink to="/">JavaScript SDK installed</PlatformLink> (version 8.41.0-beta.1).

## Enable Evaluation Tracking

Evaluation tracking requires enabling an SDK integration. Integrations are provider specific. Documentation for supported providers is listed below.
- [OpenFeature](/platforms/javascript/configuration/integrations/openfeature/)
- [LaunchDarkly](/platforms/javascript/configuration/integrations/launchdarkly/)
Comment on lines +34 to +35
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these links arn't working either

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that page is broken i think. the links should work when its fixed.


<PlatformContent includePath="feature-flags/enable-change-tracking" />
20 changes: 20 additions & 0 deletions docs/platforms/python/feature-flags/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Set Up Feature Flags
sidebar_order: 7000
description: With Feature Flags, Sentry tracks feature flag evaluations in your application, keeps an audit log feature flag changes, and reports any suspicious updates that may have caused an error.
---

<PlatformContent includePath="feature-flags/prerelease-alert" />

## Prerequisites

* You have the <PlatformLink to="/">Python SDK installed</PlatformLink> (version 2.18.0 or higher).

## Enable Evaluation Tracking

Evaluation tracking requires enabling an SDK integration. Integrations are provider specific. Documentation for supported providers is listed below.

- [OpenFeature](/platforms/python/integrations/openfeature/)
- [LaunchDarkly](/platforms/python/integrations/launchdarkly/)

<PlatformContent includePath="feature-flags/enable-change-tracking" />
8 changes: 6 additions & 2 deletions docs/platforms/python/integrations/launchdarkly/index.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
---
title: LaunchDarkly
description: "Learn about the LaunchDarkly integration and how to add it to your integrations list."
description: "Learn how to use Sentry with LaunchDarkly."
---

The [LaunchDarkly](https://launchdarkly.com/) integration tracks feature flag evaluations produced by the LaunchDarkly SDK. These evaluations are held in memory and, in the event an error occurs, sent to Sentry for review and analysis.
<PlatformContent includePath="feature-flags/prerelease-alert" />

The [LaunchDarkly](https://launchdarkly.com/) integration tracks feature flag evaluations produced by the LaunchDarkly SDK. These evaluations are held in memory and sent to Sentry for review and analysis if an error occurs. **At the moment, we only support boolean flag evaluations.**

## Install

Expand Down Expand Up @@ -44,3 +46,5 @@ sentry_sdk.capture_exception(Exception("Something went wrong!"))
```

Visit the Sentry website and confirm that your error event has recorded the feature flag "hello" and its value "false".

<PlatformContent includePath="feature-flags/next-steps" />
10 changes: 7 additions & 3 deletions docs/platforms/python/integrations/openfeature/index.mdx
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
---
title: OpenFeature
description: "Learn about the OpenFeature integration and how to add it to your integrations list."
description: "Learn how to use Sentry with OpenFeature."
---

The [OpenFeature](https://openfeature.dev/) integration tracks feature flag evaluations produced by the OpenFeature SDK. These evaluations are held in memory and, in the event an error occurs, sent to Sentry for review and analysis.
<PlatformContent includePath="feature-flags/prerelease-alert" />

The [OpenFeature](https://openfeature.dev/) integration tracks feature flag evaluations produced by the OpenFeature SDK. These evaluations are held in memory and sent to Sentry for review and analysis if an error occurs. **At the moment, we only support boolean flag evaluations.**

## Install

Expand All @@ -19,7 +21,7 @@ Add `OpenFeatureIntegration()` to your `integrations` list:

```python
import sentry_sdk
from sentry_sdk.integrations.OpenFeature import OpenFeatureIntegration
from sentry_sdk.integrations.openfeature import OpenFeatureIntegration

sentry_sdk.init(
dsn="___PUBLIC_DSN___",
Expand All @@ -44,3 +46,5 @@ sentry_sdk.capture_exception(Exception("Something went wrong!"))
```

Visit the Sentry website and confirm that your error event has recorded the feature flag "hello" and its value "false".

<PlatformContent includePath="feature-flags/next-steps" />
28 changes: 28 additions & 0 deletions docs/product/explore/feature-flags/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: "Feature Flags"
sidebar_order: 100
description: "Learn how to set up and interact with Sentry's feature flag evaluation tracking and feature flag change tracking."
---

<PlatformContent includePath="feature-flags/prerelease-alert" />

Enabling a feature flag integration provides deep insights into the state of your application prior to an error. A list of flags and their evaluation results are displayed on each error event in the order of evaluation. Integrating Sentry with your feature flag provider enables Sentry to correlate feature flag changes with new error events and mark certain changes as suspicious.

## Evaluation Tracking

Flag evaluations will appear in the "Feature Flag" section of Issue Details page as a table, with "suspect" flag predictions highlighted in yellow. Learn more about how to interact with feature flag insights within the Sentry UI by reading the [Issue Details page documentation](/product/issues/issue-details/#feature-flags).
Comment on lines +12 to +13
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Flag evaluations will appear in the "Feature Flag" section of Issue Details page as a table, with "suspect" flag predictions highlighted in yellow. Learn more about how to interact with feature flag insights within the Sentry UI by reading the [Issue Details page documentation](/product/issues/issue-details/#feature-flags).
Flag evaluations will appear in the "Feature Flag" section of the **Issue Details** page as a table, with "suspect" flag predictions highlighted in yellow. You can navigate to the **Issue Details** page by clicking any issue on the [**Issues**](https://sentry.io/orgredirect/organizations/:orgslug/issues/) page.
Learn more about how to interact with feature flag insights within the Sentry UI by reading our [Issue Details docs](/product/issues/issue-details/#feature-flags).


### Set Up Evaluation Tracking

To set up evaluation tracking visit your provider's integration documentation page:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, but we're not linking to the integration page here?

Maybe we should say something like "Evaluation tracking is currently available for LaunchDarkly and the OpenFeature API. See the supported SDKs and set up instructions below."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to this. I'd tweak wording slightly to: "Evaluation-tracking is currently available for LaunchDarkly and the OpenFeature API. See all supported SDKs and their set up instructions below:"

* [JavaScript](/platforms/javascript/feature-flags/)
* [Python](/platforms/python/feature-flags/)

## Change Tracking

Change tracking enables Sentry to listen for additions, removals, and modifications to your feature flags. On change, we'll record the change event in the audit log. The audit log appears in the "event volume" chart and presents itself as a "release" line. If the change is responsible for a new error event, we'll notify you by marking the feature flag as "suspect" on the Issue Details page. Learn more about how to interact with feature flag insights within the Sentry UI by reading the [Issue Details documentation](/product/issues/issue-details/#feature-flags).

Comment on lines +22 to +24
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Change tracking enables Sentry to listen for additions, removals, and modifications to your feature flags. On change, we'll record the change event in the audit log. The audit log appears in the "event volume" chart and presents itself as a "release" line. If the change is responsible for a new error event, we'll notify you by marking the feature flag as "suspect" on the Issue Details page. Learn more about how to interact with feature flag insights within the Sentry UI by reading the [Issue Details documentation](/product/issues/issue-details/#feature-flags).
Change tracking enables Sentry to listen for additions, removals, and modifications to your feature flags. On change, we'll record the change event in the audit log. The audit log appears in the "event volume" chart and presents itself as a "release" line. If the change is responsible for a new error event, we'll notify you by marking the feature flag as "suspect" on the Issue Details page.
Sentry tracks changes such as additions, removals, and modifications to your feature flags, logging them in the audit log, which appears as a "release" line in the event volume chart. If a change causes a new error, Sentry will mark the feature flag as "suspect" on the **Issue Details** page.
Learn more about feature flag insights by reading about the [Issue Details page](/product/issues/issue-details/#feature-flags).

### Set Up Change Tracking

To set up change tracking visit your provider's integration documentation page:
* [LaunchDarkly](/organization/integrations/feature-flag/launchdarkly/#change-tracking)
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
12 changes: 12 additions & 0 deletions docs/product/issues/issue-details/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -142,3 +142,15 @@ The Contexts section contains related key/value items (not just strings) that yo
The issue details page only displays context for the individual event, and context cannot be searched. If you require searching for your data, use [Tags](#tags) instead.

You can set up your own context items to collect useful debugging information in your next event, as described in <PlatformLink to="/enriching-events/context/">Structured Context</PlatformLink>.

## Feature Flags

Enabling one or more of our [evaluation tracking integrations](/product/explore/feature-flags/#evaluation-tracking) will reveal the feature flag evaluation table. Here you can see an ordered list (in order of evaluation) of all the flags evaluated and their evaluation results prior to the error event.

![Feature Flag Table](./img/ff-table.png)

Enabling a [change tracking integration](/product/explore/feature-flags/#change-tracking) will enable annotations on the event volume chart. These lines mark feature flag changes and can help identify regressions caused by a feature flag definition change.

![Feature Flag Release Chart](./img/ff-release.png)

Enabling both a change tracking integration and a evaluation tracking integration will enable suspect feature flag detection. Sentry will attempt to identify feature flags which might have caused an error event and highlight them for review.
Comment on lines +147 to +156
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Enabling one or more of our [evaluation tracking integrations](/product/explore/feature-flags/#evaluation-tracking) will reveal the feature flag evaluation table. Here you can see an ordered list (in order of evaluation) of all the flags evaluated and their evaluation results prior to the error event.
![Feature Flag Table](./img/ff-table.png)
Enabling a [change tracking integration](/product/explore/feature-flags/#change-tracking) will enable annotations on the event volume chart. These lines mark feature flag changes and can help identify regressions caused by a feature flag definition change.
![Feature Flag Release Chart](./img/ff-release.png)
Enabling both a change tracking integration and a evaluation tracking integration will enable suspect feature flag detection. Sentry will attempt to identify feature flags which might have caused an error event and highlight them for review.
Once you've set up one or more of our [evaluation-tracking integrations](/product/explore/feature-flags/#evaluation-tracking), a feature flag evaluation table will appear on your **Issue Details** page. This table shows flags and their results in the order they were evaluated before an error occurred.
![Feature Flag Table](./img/ff-table.png)
When you enable a [change-tracking integration](/product/explore/feature-flags/#change-tracking), you'll also see annotations on the event volume chart indicating feature flag changes. This helps identify regressions linked to those changes.
![Feature Flag Release Chart](./img/ff-release.png)
Using both features enables suspect flag detection and highlights flags that may have caused errors for review.

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Change Tracking

Sentry can track changes to feature flag definitions and report suspicious feature flag edits. To enable the change tracking integration click the "Set Up Integration" button on the feature flag table contained within the Issue Details page. This will trigger a fly out which will guide you through the two step process.

Comment on lines +3 to +4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Sentry can track changes to feature flag definitions and report suspicious feature flag edits. To enable the change tracking integration click the "Set Up Integration" button on the feature flag table contained within the Issue Details page. This will trigger a fly out which will guide you through the two step process.
Sentry can track changes to feature flag definitions and report suspicious feature flag edits. To enable the change-tracking integration, click the "Set Up Integration" button on the feature flag table, which you'll find on the **Issue Details** page. This will trigger a flyout that will guide you through the two-step process.
You can navigate to the **Issue Details** page by clicking any issue on the [**Issues**](https://sentry.io/orgredirect/organizations/:orgslug/issues/) page.

![Integration UI](./img/ff-integration-ui.png)

Under the "Integrate Feature Flag Service" heading a Sentry webhook URL has been provided. Additionally, a link to LaunchDarkly's webhook registration interface has been provided. Paste the Sentry webhook URL into the input box labeled "URL" within the LaunchDarkly webhook registration UI.

Next a signing secret must be created. Check the box that says "Sign this webhook". This will reveal an input element which contains your signing secret. Copy and paste this signing secret into the input box labeled "Secret" on the Sentry fly out. Click "Save Secret" in the Sentry UI, then click "Save Settings" in the LaunchDarkly UI, and you're done. Sentry will now accept and authenticate all inbound hooks to your organization's feature flag webhook endpoint.
Comment on lines +7 to +9
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Under the "Integrate Feature Flag Service" heading a Sentry webhook URL has been provided. Additionally, a link to LaunchDarkly's webhook registration interface has been provided. Paste the Sentry webhook URL into the input box labeled "URL" within the LaunchDarkly webhook registration UI.
Next a signing secret must be created. Check the box that says "Sign this webhook". This will reveal an input element which contains your signing secret. Copy and paste this signing secret into the input box labeled "Secret" on the Sentry fly out. Click "Save Secret" in the Sentry UI, then click "Save Settings" in the LaunchDarkly UI, and you're done. Sentry will now accept and authenticate all inbound hooks to your organization's feature flag webhook endpoint.
Under the "Integrate Feature Flag Service" section, you'll find a Sentry webhook URL and a link to LaunchDarkly's webhook registration interface.
1. **Register the Webhook:** Paste the Sentry webhook URL into the "URL" field in the LaunchDarkly [webhook integration UI](https://app.launchdarkly.com/settings/integrations/webhooks/new).
2. **Set the Signing Secret:**
- Check the "Sign this webhook" box to reveal the signing secret.
- Copy the secret and paste it into the "Secret" field in Sentry's configuration.
- Click "Save Secret" in Sentry and "Save Settings" in LaunchDarkly.
Once saved, Sentry will authenticate all incoming webhooks to your feature flag endpoint.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## Enable Change Tracking

Change tracking requires registering a Sentry webhook with your feature flag provider. Set up varies by provider and is documented in detail [here](/product/explore/feature-flags/#change-tracking).
6 changes: 6 additions & 0 deletions platform-includes/feature-flags/next-steps/_default.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<Alert level="warning" title="Next Steps">

- **Track feature flag evaluations in other parts of your codebase.** If needed, you can set up evaluation tracking for more than one SDK. [Read the docs](/product/explore/feature-flags/#set-up-evaluation-tracking) to learn more.
- **Set up your change tracking webhook.** In order to take full advantage of the feature flag capabilities Sentry offers there is an additional setup step needed. Your feature flag provider needs to notify Sentry when a feature flag definition has changed. A Sentry webhook URL can be registered with your provider. Learn [how](/product/explore/feature-flags/#set-up-change-tracking).

</Alert>
5 changes: 5 additions & 0 deletions platform-includes/feature-flags/prerelease-alert/_default.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Alert level="info" title="Currently in Beta">

Feature flag change tracking and feature flag evaluation tracking is currently in open beta.

</Alert>
Loading