-
Notifications
You must be signed in to change notification settings - Fork 759
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
WC-2695 Add better visibility for router-worker #6941
Conversation
🦋 Changeset detectedLatest commit: 3d5d8fa The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
93a0135
to
3f6da9d
Compare
A wrangler prerelease is available for testing. You can install this latest build in your project with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-wrangler-6941 You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/6941/npm-package-wrangler-6941 Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-wrangler-6941 dev path/to/script.js Additional artifacts:npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-create-cloudflare-6941 --no-auto-update npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-cloudflare-kv-asset-handler-6941 npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-miniflare-6941 npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-cloudflare-pages-shared-6941 npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-cloudflare-vitest-pool-workers-6941 npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-cloudflare-workers-editor-shared-6941 npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/11278412769/npm-package-cloudflare-workers-shared-6941 Note that these links will no longer work once the GitHub Actions artifact expires.
Please ensure constraints are pinned, and |
This commit instruments the router worker with analytics such as request time, colo metadata, error, etc, in order for us to have better visibility into the router worker. These changes were tested using gradual rollouts with a 0% version and a Cloudflare-Workers-Version-Overrides header.
3f6da9d
to
3d5d8fa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I guess this all works in Miniflare (when router worker is used for local development) because each of the new env properties can be undefined?
@@ -16,7 +29,9 @@ interface Env { | |||
export default { | |||
async fetch(request: Request, env: Env, ctx: ExecutionContext) { | |||
let sentry: ReturnType<typeof setupSentry> | undefined; | |||
const maybeSecondRequest = request.clone(); | |||
const analytics = new Analytics(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NIT: similar to the PerformanceTimer, why not pass in the env.ANALYTICS and env.ENVIRONMENT here in the constructor, rather than in the write method?
What this PR solves / how to test
Fixes #WC-2695
This commit instruments the router worker with analytics such as request time, colo metadata, error, etc, in order for us to have better visibility into the router worker.
These changes were tested using gradual rollouts with a 0% version and a Cloudflare-Workers-Version-Overrides header.
Author has addressed the following