Skip to content
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

feat(wrangler): enable telemetry by default #7291

Merged
merged 3 commits into from
Dec 4, 2024
Merged

Conversation

edmundhung
Copy link
Member

@edmundhung edmundhung commented Nov 19, 2024

Fixes DEVX-1501.


Copy link

changeset-bot bot commented Nov 19, 2024

🦋 Changeset detected

Latest commit: 87f1e7d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
wrangler Minor
@cloudflare/vitest-pool-workers Patch

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

Copy link
Contributor

github-actions bot commented Nov 19, 2024

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/12167075836/npm-package-wrangler-7291

You can reference the automatically updated head of this PR with:

npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/prs/7291/npm-package-wrangler-7291

Or you can use npx with this latest build directly:

npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-wrangler-7291 dev path/to/script.js
Additional artifacts:
npx https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-create-cloudflare-7291 --no-auto-update
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-cloudflare-kv-asset-handler-7291
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-miniflare-7291
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-cloudflare-pages-shared-7291
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-cloudflare-vitest-pool-workers-7291
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-cloudflare-workers-editor-shared-7291
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-cloudflare-workers-shared-7291
npm install https://prerelease-registry.devprod.cloudflare.dev/workers-sdk/runs/12167075836/npm-package-cloudflare-workflows-shared-7291

Note that these links will no longer work once the GitHub Actions artifact expires.


[email protected] includes the following runtime dependencies:

Package Constraint Resolved
miniflare workspace:* 3.20241106.2
workerd 1.20241106.2 1.20241106.2
workerd --version 1.20241106.2 2024-11-06

Please ensure constraints are pinned, and miniflare/workerd minor versions match.

packages/wrangler/src/index.ts Outdated Show resolved Hide resolved
packages/wrangler/src/metrics/metrics-dispatcher.ts Outdated Show resolved Hide resolved
packages/wrangler/src/config/index.ts Outdated Show resolved Hide resolved
packages/wrangler/src/index.ts Outdated Show resolved Hide resolved
packages/wrangler/src/index.ts Show resolved Hide resolved
packages/wrangler/src/metrics/helpers.ts Outdated Show resolved Hide resolved
packages/wrangler/src/metrics/helpers.ts Outdated Show resolved Hide resolved
packages/wrangler/src/metrics/metrics-dispatcher.ts Outdated Show resolved Hide resolved
packages/wrangler/src/metrics/metrics-dispatcher.ts Outdated Show resolved Hide resolved
@emily-shen emily-shen marked this pull request as ready for review December 3, 2024 14:33
@emily-shen emily-shen requested review from a team as code owners December 3, 2024 14:33
Copy link
Contributor

@penalosa penalosa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small nits, but otherwise ✅

throw e;
}
}
configPath = updateConfigPath;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, but can we call the return from readRawConfig() resolvedConfigPath or something like that and avoid this reassigning?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

return process.version;
}

export function getConfigFileType(configPath: string | undefined) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This helper seems like a 1:1 passthrough?

packages/wrangler/src/metrics/helpers.ts Outdated Show resolved Hide resolved
packages/wrangler/src/metrics/metrics-config.ts Outdated Show resolved Hide resolved
* add telemetry commands

* changeset

* fix and test dates

* update changeset

* add global/project status

* default true

* remove changeset

* update wrangler telemetry status

feat: add `wrangler metrics` as an alias for `wrangler telemetry` (#7284)

* add metrics alias

* tests

* use each to test alias

feat: send metrics for command start/complete/error (#7267)

* stop collecting userId in telemetry

Co-authored-by: emily-shen <[email protected]>

* implement telemetry collection

* infer errorType based on the constructor name

* implement common event properties

* log common event properties

Co-authored-by: Edmund Hung <[email protected]>

* respect metric enabled/disabled

* remove dispatcher.identify

* include SPARROW_SOURCE_KEY in PR pre-release build

* fix tests

* ensure debug log covers the request failed message

* replace SPARROW_SOURCE_KEY regardless whethe env exists

---------

Co-authored-by: Edmund Hung <[email protected]>
Co-authored-by: emily-shen <[email protected]>
Co-authored-by: Edmund Hung <[email protected]>

fix nested properties (#7300)

feat: add banner to indicate when telemetry is on (#7302)

* add banner

* abort if telemetry disable

* basic sendNewEvent tests

* banner tests

* settle promises before exiting

* remove unnecessary banner logic

* just check if version is different

feat: add some more properties to telemetry events (#7320)

* isCI and isNonInteractive

* add argsUsed and argsCombination

* don't include args if value is false

* redact arg values if string

* lint

* isNonInteractive -> isInteractive

cleanup defineCommand

test duration

log metrics request failure

add draft telemetry.md

add node and os versions

don't send wrangler metrics from c3 if disabled

don't send c3 metrics from wrangler init

add config type

add more comments to send-event

move types out of send-event.ts

add comment about applyBeforeValidation

normalize into camelcase

refactor telemetry command

update tests and some comments

normalise all args

pr feedback

update telemetry.md

use useragent to get package manager

make sendEvent/sendNewEvent sync

rename sendEvent and sendNewEvent

fix lock file

remove flushPromises

changeset

fail silently

feat(wrangler): make resources identifier optional if x-provision flag is enabled (#7377)

Fix wrangler module import under npm monorepos (#7130)

* Update import resolution for files and package exports

In an npm workspace environment, wrangler will now be able to
successfully resolve package exports.

Previously, wrangler would only be able to resolve modules in a relative
`node_modules` directory and not workspace root `node_modules`
directory.

* Use esbuild plugin

chore(wrangler): fix type errors with experimental flags (#7391)

refactor(wrangler): Explicitely pick node compat plugins for each mode (#7387)

* refactor: cleanup & simplify

* refactor(wrangler): Explicitely pick node compat plugins for each mode

* Update packages/wrangler/src/deployment-bundle/esbuild-plugins/hybrid-nodejs-compat.ts

Co-authored-by: Pete Bacon Darwin <[email protected]>

* fixup! renamed vars (review feedback)

* fixup! format

---------

Co-authored-by: Pete Bacon Darwin <[email protected]>

fix: error in angular c3 template (#7342)

* fixed: related to issues-7341
AngularAppEngine class does not have .render, instead it should be
.handle method

* added: changeset

* Tidy up changeset

* fix Angular template

- add a preview script so that it gets included in CI test
- remove unnecessary --`experimnental-local` CLI arg
- add missing `xhr2` dependency

---------

Co-authored-by: Peter Bacon Darwin <[email protected]>

[C3] Bump create-qwik from 1.10.0 to 1.11.0 in /packages/create-cloudflare/src/frameworks (#7359)

* [C3] Bump create-qwik in /packages/create-cloudflare/src/frameworks

Bumps [create-qwik](https://github.com/QwikDev/qwik/tree/HEAD/packages/create-qwik) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/QwikDev/qwik/releases)
- [Changelog](https://github.com/QwikDev/qwik/blob/[email protected]/packages/create-qwik/CHANGELOG.md)
- [Commits](https://github.com/QwikDev/qwik/commits/[email protected]/packages/create-qwik)

---
updated-dependencies:
- dependency-name: create-qwik
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* chore: update dependencies of "create-cloudflare" package

The following dependency versions have been updated:

| Dependency  | From   | To     |
| ----------- | ------ | ------ |
| create-qwik | 1.10.0 | 1.11.0 |

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Wrangler automated PR updater <[email protected]>

Remove await from user Worker fetch in router-worker (#7410)

fix: update Angular experimental Workers + Assets template (#7409)

* fix: update Angular experimental Workers + Assets template

* ci: enable tests on experimental Workers + Assets C3 templates

fix: update queues max_batch_timeout in miniflare (#7399)

* update timeout limit

* changeset

* test

* remove only

Co-authored-by: Carmen Popoviciu <[email protected]>

---------

Co-authored-by: Carmen Popoviciu <[email protected]>

refactor: move projectRoot computation to config validation (#7415)

move telemetry.md out of src

fixups

tiody up readRawConfig

Rename serve_directly to experimental_serve_directly (#7429)

chore(deps): bump the workerd-and-workers-types group across 1 directory with 2 updates (#7418)

Updates `workerd` from 1.20241106.1 to 1.20241202.2

Version Packages (#7358)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

ci: don't watch for changes on the workers-shared test:ci job (#7420)

refactor: remove missed redundant computation of `projectRoot` (#7421)

* refactor: remove missed redundant computation of `projectRoot`

* test: do not watch test files in workflow fixture test jobs

feat(wrangler): add inherit bindings support (#7385)

* feat(wrangler): add inherit bindings support

* add test

* add changeset

* rename file to bindings

Relax type on `observability.enabled` (#7436)

fix: C3 experimental template for Solid now uses correct preset (#7343)

fix: allow the asset directory to be omitted in Wrangler config for commands that don't need it (#7426)

fix: C3 experimental template for Nuxt now uses correct preset (#7332)

* fix: C3 experimental template for Nuxt now uses correct preset

* test: remove quarantine from Nuxt experimental template

using the github browser merge is always a bad idea

fix e2e
@emily-shen emily-shen merged commit f5b9cd5 into main Dec 4, 2024
31 checks passed
@emily-shen emily-shen deleted the wrangler-telemetry branch December 4, 2024 20:24
@workers-devprod workers-devprod mentioned this pull request Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
e2e Run e2e tests on a PR
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants