From ceb0ee278480bf682b03061f1caaf7e854fc688b Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Fri, 31 Jan 2025 09:00:51 -0800 Subject: [PATCH 1/7] chore: Issue template + readme updates. --- ...telemetry-browser-telemetry--bug_report.md | 36 ++++++++++++ ...metry-browser-telemetry-feature_request.md | 19 +++++++ .../telemetry/browser-telemetry/README.md | 56 ++++++++++++++++++- 3 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/package-telemetry-browser-telemetry--bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/package-telemetry-browser-telemetry-feature_request.md diff --git a/.github/ISSUE_TEMPLATE/package-telemetry-browser-telemetry--bug_report.md b/.github/ISSUE_TEMPLATE/package-telemetry-browser-telemetry--bug_report.md new file mode 100644 index 0000000000..53c4b692d4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/package-telemetry-browser-telemetry--bug_report.md @@ -0,0 +1,36 @@ +--- +name: '@launchdarkly/browser-telemetry Bug Report' +about: Create a report to help us improve +title: '' +labels: 'package: telemetry/browser-telemerty, bug' +assignees: '' +--- + +**Is this a support request?** +This issue tracker is maintained by LaunchDarkly SDK developers and is intended for feedback on the code in this library. If you're not sure whether the problem you are having is specifically related to this library, or to the LaunchDarkly service overall, it may be more appropriate to contact the LaunchDarkly support team; they can help to investigate the problem and will consult the SDK team if necessary. You can submit a support request by going [here](https://support.launchdarkly.com/) and clicking "submit a request", or by emailing support@launchdarkly.com. + +Note that issues filed on this issue tracker are publicly accessible. Do not provide any private account information on your issues. If your problem is specific to your account, you should submit a support request as described above. + +**Describe the bug** +A clear and concise description of what the bug is. + +**To reproduce** +Steps to reproduce the behavior. + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Logs** +If applicable, add any log output related to your problem. + +**SDK version** +The version of this SDK that you are using. + +**Language version, developer tools** +For instance, Go 1.11 or Ruby 2.5.3. If you are using a language that requires a separate compiler, such as C, please include the name and version of the compiler too. + +**OS/platform** +For instance, Ubuntu 16.04, Windows 10, or Android 4.0.3. If your code is running in a browser, please also include the browser type and version. + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/package-telemetry-browser-telemetry-feature_request.md b/.github/ISSUE_TEMPLATE/package-telemetry-browser-telemetry-feature_request.md new file mode 100644 index 0000000000..08327687d6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/package-telemetry-browser-telemetry-feature_request.md @@ -0,0 +1,19 @@ +--- +name: '@launchdarkly/browser-telemetry Feature Request' +about: Create a report to help us improve +title: '' +labels: 'package: telemetry/browser-telemetry, feature' +assignees: '' +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I would love to see the SDK [...does something new...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context about the feature request here. diff --git a/packages/telemetry/browser-telemetry/README.md b/packages/telemetry/browser-telemetry/README.md index 816ee4d6d2..71d2318122 100644 --- a/packages/telemetry/browser-telemetry/README.md +++ b/packages/telemetry/browser-telemetry/README.md @@ -5,7 +5,12 @@ > [!WARNING] > This is an alpha version. The API is not stabilized and will introduce breaking changes. -TODO Add badges + +[![NPM][browser-telemetry-npm-badge]][browser-telemetry-npm-link] +[![Actions Status][browser-telemetry-ci-badge]][browser-telemetry-ci] +[![Documentation][browser-telemetry-ghp-badge]][browser-telemetry-ghp-link] +[![NPM][browser-telemetry-dm-badge]][browser-telemetry-npm-link] +[![NPM][browser-telemetry-dt-badge]][browser-telemetry-npm-link] ## LaunchDarkly overview @@ -15,11 +20,47 @@ TODO Add badges ## Compatibility -TODO +This package is compatible with the `launchdarkly-js-client-sdk` version 3.4.0 and later. ## Setup -TODO +### For error metric collection only + +``` +import { initialize } from "launchdarkly-js-client-sdk"; +import { initTelemetry, register } from "@launchdarkly/browser-telemetry"; + +// Initialize the telemetry as early as possible in your application. +// Errors can be missed if they occur before the telemetry is initialized. +// For metrics only breadcrumbs and stack traces are not required. +initTelemetry({breadcrumbs: false, stack: false}); + +// Initialize the LaunchDarkly client. +const client = initialize('sdk-key', context); + +// Register the client with the telemetry instance. +register(client); +``` + +### For error monitoring + metric collection + +``` +import { initialize } from "launchdarkly-js-client-sdk"; +import { initTelemetry, register, inspectors } from "@launchdarkly/browser-telemetry"; + +// Initialize the telemetry as early as possible in your application. +// Errors can be missed if they occur before the telemetry is initialized. +initTelemetry(); + +// Initialize the LaunchDarkly client. +const client = initialize('sdk-key', context, { + // Inspectors allows the telemetry SDK to capture feature flag information. + inspectors: inspectors(), +}); + +// Register the client with the telemetry instance. +register(client); +``` ## Contributing @@ -39,3 +80,12 @@ We encourage pull requests and other contributions from the community. Check out - [docs.launchdarkly.com](https://docs.launchdarkly.com/ 'LaunchDarkly Documentation') for our documentation and SDK reference guides - [apidocs.launchdarkly.com](https://apidocs.launchdarkly.com/ 'LaunchDarkly API Documentation') for our API documentation - [blog.launchdarkly.com](https://blog.launchdarkly.com/ 'LaunchDarkly Blog Documentation') for the latest product updates + +[browser-telemetry-ci-badge]: https://github.com/launchdarkly/js-core/actions/workflows/browser-telemetry.yml/badge.svg +[browser-telemetry-ci]: https://github.com/launchdarkly/js-core/actions/workflows/browser-telemetry.yml +[browser-telemetry-npm-badge]: https://img.shields.io/npm/v/@launchdarkly/browser-telemetry.svg?style=flat-square +[browser-telemetry-npm-link]: https://www.npmjs.com/package/@launchdarkly/browser-telemetry +[browser-telemetry-ghp-badge]: https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8 +[browser-telemetry-ghp-link]: https://launchdarkly.github.io/js-core/packages/telemetry/browser-telemetry/docs/ +[browser-telemetry-dm-badge]: https://img.shields.io/npm/dm/@launchdarkly/browser-telemetry.svg?style=flat-square +[browser-telemetry-dt-badge]: https://img.shields.io/npm/dt/@launchdarkly/browser-telemetry.svg?style=flat-square \ No newline at end of file From 856bb29d164f1c3ce7d5745c25c359a92affdd0e Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Fri, 31 Jan 2025 09:05:14 -0800 Subject: [PATCH 2/7] mend --- packages/telemetry/browser-telemetry/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/telemetry/browser-telemetry/README.md b/packages/telemetry/browser-telemetry/README.md index 71d2318122..7e3bd72233 100644 --- a/packages/telemetry/browser-telemetry/README.md +++ b/packages/telemetry/browser-telemetry/README.md @@ -5,7 +5,6 @@ > [!WARNING] > This is an alpha version. The API is not stabilized and will introduce breaking changes. - [![NPM][browser-telemetry-npm-badge]][browser-telemetry-npm-link] [![Actions Status][browser-telemetry-ci-badge]][browser-telemetry-ci] [![Documentation][browser-telemetry-ghp-badge]][browser-telemetry-ghp-link] @@ -88,4 +87,4 @@ We encourage pull requests and other contributions from the community. Check out [browser-telemetry-ghp-badge]: https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8 [browser-telemetry-ghp-link]: https://launchdarkly.github.io/js-core/packages/telemetry/browser-telemetry/docs/ [browser-telemetry-dm-badge]: https://img.shields.io/npm/dm/@launchdarkly/browser-telemetry.svg?style=flat-square -[browser-telemetry-dt-badge]: https://img.shields.io/npm/dt/@launchdarkly/browser-telemetry.svg?style=flat-square \ No newline at end of file +[browser-telemetry-dt-badge]: https://img.shields.io/npm/dt/@launchdarkly/browser-telemetry.svg?style=flat-square From a732346dc87f006432733a5e9d7c9b9c9f5e6d5b Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:07:34 -0800 Subject: [PATCH 3/7] Update packages/telemetry/browser-telemetry/README.md Co-authored-by: Molly --- packages/telemetry/browser-telemetry/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/telemetry/browser-telemetry/README.md b/packages/telemetry/browser-telemetry/README.md index 7e3bd72233..c7606f0210 100644 --- a/packages/telemetry/browser-telemetry/README.md +++ b/packages/telemetry/browser-telemetry/README.md @@ -30,7 +30,7 @@ import { initialize } from "launchdarkly-js-client-sdk"; import { initTelemetry, register } from "@launchdarkly/browser-telemetry"; // Initialize the telemetry as early as possible in your application. -// Errors can be missed if they occur before the telemetry is initialized. +// Errors will be missed if they occur before the telemetry is initialized. // For metrics only breadcrumbs and stack traces are not required. initTelemetry({breadcrumbs: false, stack: false}); From 2c5c33f5950d58ed6f276e959939f7e8954bc7c0 Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:07:59 -0800 Subject: [PATCH 4/7] Update packages/telemetry/browser-telemetry/README.md Co-authored-by: Molly From 7d69c93bedde606c3b5e259c42f7deccdc7c4a7b Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:08:42 -0800 Subject: [PATCH 5/7] Update packages/telemetry/browser-telemetry/README.md Co-authored-by: Molly From ba86f41ff44be0d146c94774273df11ac64cc0e2 Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:08:53 -0800 Subject: [PATCH 6/7] Update packages/telemetry/browser-telemetry/README.md Co-authored-by: Molly --- packages/telemetry/browser-telemetry/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/telemetry/browser-telemetry/README.md b/packages/telemetry/browser-telemetry/README.md index c7606f0210..0bc1607ea7 100644 --- a/packages/telemetry/browser-telemetry/README.md +++ b/packages/telemetry/browser-telemetry/README.md @@ -31,7 +31,7 @@ import { initTelemetry, register } from "@launchdarkly/browser-telemetry"; // Initialize the telemetry as early as possible in your application. // Errors will be missed if they occur before the telemetry is initialized. -// For metrics only breadcrumbs and stack traces are not required. +// For metrics only, breadcrumbs and stack traces are not required. initTelemetry({breadcrumbs: false, stack: false}); // Initialize the LaunchDarkly client. From 9fb625382546ad66b4f2c4d5a8e60a25d88db489 Mon Sep 17 00:00:00 2001 From: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:09:33 -0800 Subject: [PATCH 7/7] Update packages/telemetry/browser-telemetry/README.md Co-authored-by: Molly --- packages/telemetry/browser-telemetry/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/telemetry/browser-telemetry/README.md b/packages/telemetry/browser-telemetry/README.md index 0bc1607ea7..32f9acf14f 100644 --- a/packages/telemetry/browser-telemetry/README.md +++ b/packages/telemetry/browser-telemetry/README.md @@ -48,7 +48,7 @@ import { initialize } from "launchdarkly-js-client-sdk"; import { initTelemetry, register, inspectors } from "@launchdarkly/browser-telemetry"; // Initialize the telemetry as early as possible in your application. -// Errors can be missed if they occur before the telemetry is initialized. +// Errors will be missed if they occur before the telemetry is initialized. initTelemetry(); // Initialize the LaunchDarkly client.