Skip to content

FMEPRD-212 Initial Batch of Feature Management FAQs Consolidation #10888

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,8 @@ The **control** treatment is a reserved treatment in FME. You cannot create a tr

* **The SDK evaluated an unsupported targeting rule.** FME SDKs are distributed as versioned packages to be consumed by applications. As new targeting rules are added to feature flags in Harness FME, the FME SDKs are also updated to support the new targeting rules. If an SDK encounters a new targeting rule that it cannot evaluate, it returns the **control** treatment for that feature flag evaluation. In this case, a special FME feature flag evaluation impression is generated with a targeting rule label of "targeting rule type unsupported by sdk". This impression is sent to Harness cloud and can be seen in Live tail in Data hub.

:::info[SDK upgrade may be needed for SemVer rules support]
SemVer (Semantic Version) targeting rules are supported by FME SDKs rolled out in May 2024 or later. Refer to this [FAQ doc](/docs/feature-management-experimentation/feature-management/faqs/does-my-sdk-version-support-semver) to see minimum FME SDK versions for SemVer support.
:::
SemVer (Semantic Version) targeting rules are supported by FME SDKs and customer-deployed components. See [Target with custom attributes](/docs/feature-management-experimentation/feature-management/target-with-custom-attributes#supported-sdks-and-customer-deployed-components-for-semver-matcher) to verify the minimum FME SDK and customer-deployed component versions for SemVer support.

:::tip[Tip]
When evaluating which treatment to show to a customer, we recommend handling the *control* treatment in the same way as the default treatment.
When evaluating which treatment to show to a customer, Harness recommends handling the *control* treatment in the same way as the default treatment.
:::

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,17 @@ title: Impressions
sidebar_label: Impressions
description: ""
sidebar_position: 18
redirect_from:
- /docs/feature-management-experimentation/feature-management/faqs/is-the-feature-flag-impression-toggle-supported
---

<p>
<button hidden style={{borderRadius:'8px', border:'1px', fontFamily:'Courier New', fontWeight:'800', textAlign:'left'}}> help.split.io link: https://help.split.io/hc/en-us/articles/360020585192-Impressions </button>
</p>

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

## Overview

Impressions occur whenever a visitor is assigned a feature flag treatment (i.e., variation). Impressions are valuable for debugging the FME SDK and for feature monitoring and experimentation. Impressions are generated by SDKs each time `getTreatment` is called. They are periodically sent back to Harness servers where they are stored and can be accessed for later use.
Expand All @@ -30,9 +35,9 @@ Each impression contains these fields.
| Traffic type ID and name | Traffic type associated to the feature flag evaluated. |
| Treatment | Treatment that was returned. |

# Tracking impressions
## Tracking impressions

Impressions are tracked by each Harnes FME SDK and periodically sent to Harness backend servers.
Impressions are tracked by each Harness FME SDK and are periodically sent to Harness backend servers.

## Toggle impression tracking on or off

Expand Down Expand Up @@ -70,12 +75,57 @@ To turn impression tracking on or off:

When impression tracking is off, you will see "Impression tracking off" at the top right of the feature flag definition page. The arrows will also be grayed out (shown with tooltip) on the the feature flag definition card.

![](./static/impressions-tracking-visual-cues.png)
![](static/impressions-tracking-visual-cues-1.png)

### Supported SDKs and customer-deployed components for impression tracking

The impression tracking toggle only works with supported FME SDKs and customer-deployed components. If the SDK you are using does not support the toggle, impressions will still be sent to Harness servers—even if impression tracking is turned off for the feature flag definition.

:::info[Impression tracking toggle and SDK compatibility]
See [this page](/docs/feature-management-experimentation/feature-management/faqs/is-the-feature-flag-impression-toggle-supported) to verify compatibility of FME SDK or optional infrastructure. Older SDK versions that do not support the **Impression tracking** toggle will not detect the toggle on/off setting and will send impressions to Harness servers.
![](./static/impressions-tracking-visual-cues-1.png)

:::info
If you are using an older SDK or customer-deployed component version that does not support the toggle, Harness recommend upgrading to a supported version to ensure that impression tracking behavior aligns with your feature flag settings.
:::

Use the following tables to verify that your SDK or customer-deployed component version supports the impression tracking toggle.

<Tabs queryString="impression-tracking">
<TabItem value="client-sdks" label="Client-side SDKs">

| **Client-side SDK** | **Version that supports SemVer** |
|---------------------|----------------------------------|
| Android SDK | 5.1.0 and later |
| Browser SDK | 1.1.0 and later |
| iOS SDK | 3.1.0 and later |
| JavaScript SDK | 11.1.0 and later |
| React Native SDK | 1.1.0 and later |

</TabItem>

<TabItem value="server-sdks" label="Server-side SDKs">

| **Server-side SDK** | **Version that supports SemVer** |
|----------------------------|----------------------------------|
| Elixir Thin Client SDK | See SplitD version |
| Go SDK | 6.7.0 and later |
| Java SDK | 4.12.0 and later |
| Node.js SDK | 11.1.0 and later |
| PHP Thin Client SDK | See SplitD version |
| Python SDK | 10.2.0 and later |
| Ruby SDK | 8.5.0 and later |

</TabItem>

<TabItem value="infra" label="Customer-deployed Components">

| **Component** | **Version that supports SemVer** |
|---------------------|----------------------------------|
| Split Daemon | 1.5.0 and later |
| Split Synchronizer | 5.10.0 and later |

</TabItem>
</Tabs>

## Viewing impressions in Harness

You can view incoming impressions in [Live tail](/docs/feature-management-experimentation/feature-management/live-tail) within a feature flag's page or the Data hub, and export them based on query criteria in the Data hub's [Data export tab](/docs/feature-management-experimentation/feature-management/export-data). If you do not see impressions arriving in Harness, ensure that your SDK is installed and functioning as expected. Tips for this are included in the [Live tail](/docs/feature-management-experimentation/feature-management/live-tail) article. Contact us at [[email protected]](mailto:[email protected]) if you have any issues.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
---
title: Create a segment
sidebar_label: Create a segment
description: ""
description: "Learn how to create, delete, and manage segments in Harness FME."
sidebar_position: 6
redirect_from:
- /docs/feature-management-experimentation/feature-management/faqs/how-to-delete-a-segment-with-all-its-keys
---

<p>
Expand Down Expand Up @@ -154,8 +156,9 @@ Replace `filename.csv` with the name of your CSV file.

![](./static/create-a-segment-search.png)

:::info[How to append user IDs to a Large segment?]
A segment is a list of user IDs. For a Large segment you can append new user IDs to the existing list, by following these steps:
### Append user IDs to a Large segment

A segment is a list of user IDs. To append new user IDs to an existing list for a Large segment:

1. Export the user IDs in the Large segment.

Expand All @@ -164,7 +167,29 @@ A segment is a list of user IDs. For a Large segment you can append new user IDs
2. Edit the exported CSV file and insert the new user IDs.

3. Upload the edited CSV file using the **[File import for Large segments](#file-import-for-large-segments)** steps.
:::

## Deleting a segment

You can delete a segment with all of its keys instead of deleting each segment key individually.

Follow these steps to delete all keys from the segment and delete the segment:

1. Locate the down arrow on top of the checkboxes column.
1. Click on it to display two menu items.

![](https://help.split.io/hc/article_attachments/15726171868813)

1. Select all records from there. The **Delete** button appears.

![](https://help.split.io/hc/article_attachments/15726281778445)

1. Once the keys are deleted, delete the segment definition by clicking on the Ellipses icon in the **Definition** section and selecting **Delete definition**.

![](https://help.split.io/hc/article_attachments/15726343693453)

1. Click on the Ellipses icon above **Owners** and select **Delete**.

![](https://help.split.io/hc/article_attachments/15726349353613)

## CSV import file format

Expand Down
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.
Loading