Feature monitoring

LaunchDarkly observability features are available for early access

LaunchDarkly’s observability features are publicly available in early access.

They currently require the LaunchDarkly observability plugins and the JavaScript SDK. If you are interested participating in the Early Access Program for our upcoming observability plugins for server-side SDKs, sign up here.

Overview

This topic explains how to use feature monitoring to evaluate the performance of a feature flag. Feature monitoring gives you visibility into whether a newly-released flag variation is having any negative impacts on user experience by monitoring front-end LaunchDarkly metrics, including including front-end errors, Largest Contentful Paint, Interaction to Next Paint, and Cumulative Layout Shift.

This functionality is available through an observability plugin to LaunchDarkly client-side SDKs. You can enable these when you initialize the LaunchDarkly client in your app. To learn how, read about LaunchDarkly’s Observability plugin.

To learn how to view information about flag evaluations, read Flag evaluations. To learn how to view incoming flag events, read Live events.

Feature monitoring charts

To view feature monitoring charts, navigate to the “System-wide” section of a flag’s Monitoring tab:

The total errors chart on a flag monitoring tab.

The system-wide charts on a flag's monitoring tab.

These charts are system-wide, which means that they measure changes related to all flags withing the project. Therefore, any metric changes aren’t necessarily directly related to your specific flag change. For example, if you rolled out two new variations of two different flags at the same time, and you saw a spike in errors, you might not know which flag change caused the error spike.

Vertical dotted lines indicate a flag change, and can help you associate flag changes with changes to system-wide metrics. Hover on a dotted line to view the flag change.

For example, the spike in INP time here may be due to changing the default variation for this flag:

An INP chart with an associated flag change.

An INP chart with an associated flag change.

Total errors

Total errors measures the number of front-end errors users encountered in your app. The event key is $ld:telemetry:error.

Largest Contentful Paint

This feature is available to customers on select plans

The Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) charts are available to customers on a Guardian plan. To learn more, read about our pricing. To upgrade your plan, contact Sales.

Largest Contentful Paint (LCP) measures how quickly a website renders the largest piece of visible content of a webpage. It uses the “Average Largest Contentful Paint (LCP) per context (LaunchDarkly)” metric autogenerated from observability events. The event key is $ld:telemetry:metric:lcp.

Interaction to Next Paint

Interaction to Next Paint (INP) measures how quickly a website responds to user interactions. It uses the “Average Interaction to Next Paint (INP) per context (LaunchDarkly)” metric autogenerated from observability events. The event key is $ld:telemetry:metric:inp.

Cumulative Layout Shift

Cumulative Layout Shift (CLS) measures how much content on a page shifts unexpectedly while loading. It uses the “Average Cumulative Layout Shift (CLS) per context (LaunchDarkly)” metric autogenerated from observability events. The event key is $ld:telemetry:metric:cls.

Share feature monitoring charts

To share a direct link to a chart, click the three-dot overflow menu and select “Copy link”:

The three-dot overflow menu on a system-wide chart.

The three-dot overflow menu on a system-wide chart.

To save a .png version of a chart, click the three-dot overflow menu and select “Save as PNG.”

Flag history

You can use the Flag history tab to view recent changes and help associate flag changes with any changes to system-wide metrics.

You can also view a flag’s change history by clicking the clock icon from any page. To learn more, read Change history.