Conversation
|
This pull request has gone three weeks without activity. In another week, I will close it. But! If you comment or otherwise update it, I will reset the clock, and if you add the label "A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀 |
|
This pull request has gone three weeks without activity. In another week, I will close it. But! If you comment or otherwise update it, I will reset the clock, and if you add the label "A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀 |
|
how's this for activity? |
|
I'm going through our PR backlog to cut down on noise. PRs and drafts without any recent activity are being closed. If this one is still relevant, please feel free to reopen! |
Use latest real events from Empower Plant in your dev environment, with distributed tracing and linked Replays preserved.
This PR
This PR ships a dev environment script,
empower-mockssimilar toload-mocksthat takes previously captured envelopes stored in a public GCP bucket, tweaks them to have latest timestamps and unique IDs and sends into locally running ingest pipeline.Second part, currently being built, is event capture using mini-relay integrated into Empower CI and will allow
empower-mocksscript to have the most recent events, e.g. ones using latest SDK. The goal of it is to provide high-quality real data for local debugging. "Mocks" therefore is a bit of misnomer as this is actual E2E test data.--stream option
Instead of ingesting just 1 sample set of events
--stream [INTERVAL_SECONDS]option will use captured Empower events as a template to generate new events everyINTERVAL_SECONDS(default: 5) with adjusted timestamps and new IDs.Empower
Empower Plant (https://demo.sentry.io/) offers a variety of SDKs and backends, has rich context and good-looking trace waterfall graphs. Its code lives in sentry-demos/empower monorepo and is co-owned by SE and SDK Engineering teams. It has CI and will build, deploy and stream all new merged changes to our
demoorg. You can learn more in #discuss-demo channel on Slack which has documentation links at the top.Event capture
The part that captures events from
empowerand stores them in GCP bucket is still work in progress:design doc
work already done
Implementation details
We chose not to parse envelopes for simplicity and low maintenance burden. Instead whenever possible we search-and-replace values that need to be adjusted. We accept the risk of those accidentally modifying unrelated keys in the event context because this is only test data.
Expected bucket structure
Note: relies on sequential digit filenames (1,2,3,...) instead of current 3629.173098407 and like. GCP doesn't seem to have a way to browse the bucket via public HTTP. In the future we also want project folders in the bucket to match project names in empower to eliminate the need to hardcode the mapping.
Testing