feat(clerk-js): Add TelemetryCollector instance to backend client#2134
Merged
Conversation
|
brkalow
commented
Nov 14, 2023
| * Determines whether or not events will be logged to the console. | ||
| * The publishableKey to associate with the collected events. | ||
| */ | ||
| verbose?: boolean; |
Member
Author
There was a problem hiding this comment.
verbose is now unused with the debug option.
SokratisVidros
approved these changes
Nov 15, 2023
dimkl
reviewed
Nov 16, 2023
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Nov 22, 2023
* feat(clerk-js): Spike out telemetry collection * feat(clerk-js): Add sampling rate and verbose option * feat(shared): Move TelemtryCollector into shared, make it isomorphic * feat(nextjs): Add telemtry collection for authMiddleware * feat(shared): Support passing multiple events to the telemetry endpoint * feat(shared): Abstract fetch into sendEvent * feat(shared): Refactor SDK metadata handling to get accurate value * feat(shared): Update endpoint, don't use no-cors * fix(nextjs): Fix merge conflict * feat(shared): Add batching to the telemetry collector * feat(shared): Add opt-out support for SDK telemetry (#2099) * feat(clerk-js): Add TelemetryCollector instance to backend client (#2134) * chore(repo): Add changeset * fix(shared): Fix tests that rely on fetch * feat(shared): Set production endpoint * feat(clerk-js): Make telemtry public, expose via isomorphicClerk * feat(shared): Add doc on the TelemetryCollector * feat(clerk-js): Support telemetry: false as a way to disable telemetry * chore(shared): Tweak comment * chore(shared): Tweak comment * fix(clerk-sdk-node): Add PACKAGE_ constants for tests * fix(fastify): Define PACKAGE_ constants in test environment * feat(shared): Refactor telemetry instrumentation to rely on helpers * feat(shared): Add telemetry notice * feat(shared): Add postinstall script * chore(shared): Add word * chore(shared): Swallow errors in postinstall * chore(repo): Allow scripts directory in subpaths-workaround * feat(shared): Adjust types to enforce the event structure from event factory methods * chore(shared): Simplify telemetry.record() API
desiprisg
pushed a commit
that referenced
this pull request
Nov 23, 2023
* feat(clerk-js): Spike out telemetry collection * feat(clerk-js): Add sampling rate and verbose option * feat(shared): Move TelemtryCollector into shared, make it isomorphic * feat(nextjs): Add telemtry collection for authMiddleware * feat(shared): Support passing multiple events to the telemetry endpoint * feat(shared): Abstract fetch into sendEvent * feat(shared): Refactor SDK metadata handling to get accurate value * feat(shared): Update endpoint, don't use no-cors * fix(nextjs): Fix merge conflict * feat(shared): Add batching to the telemetry collector * feat(shared): Add opt-out support for SDK telemetry (#2099) * feat(clerk-js): Add TelemetryCollector instance to backend client (#2134) * chore(repo): Add changeset * fix(shared): Fix tests that rely on fetch * feat(shared): Set production endpoint * feat(clerk-js): Make telemtry public, expose via isomorphicClerk * feat(shared): Add doc on the TelemetryCollector * feat(clerk-js): Support telemetry: false as a way to disable telemetry * chore(shared): Tweak comment * chore(shared): Tweak comment * fix(clerk-sdk-node): Add PACKAGE_ constants for tests * fix(fastify): Define PACKAGE_ constants in test environment * feat(shared): Refactor telemetry instrumentation to rely on helpers * feat(shared): Add telemetry notice * feat(shared): Add postinstall script * chore(shared): Add word * chore(shared): Swallow errors in postinstall * chore(repo): Allow scripts directory in subpaths-workaround * feat(shared): Adjust types to enforce the event structure from event factory methods * chore(shared): Simplify telemetry.record() API
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a
TelemetryCollectorinstance to the clerk backend client to allow collection in server environments. I also updated the collector to accept an instance'ssecretKey. Ultimately we do only collect the first 16 characters of the secret key to allow for later analysis.I'm not entirely happy with piggybacking off of the backend client like this, but for now I think it's an easy way to consistently handle server-side telemetry across our SDKs without too much extra boilerplate.
Fixes SDK-909
Checklist
npm testruns as expected.npm run buildruns as expected.Type of change
Packages affected
@clerk/backend@clerk/chrome-extension@clerk/clerk-js@clerk/clerk-expo@clerk/fastifygatsby-plugin-clerk@clerk/localizations@clerk/nextjs@clerk/clerk-react@clerk/remix@clerk/clerk-sdk-node@clerk/shared@clerk/themes@clerk/typesbuild/tooling/chore