Spec: Extension telemetry#6110
Conversation
979539a to
e052efc
Compare
cd81150 to
59d030b
Compare
cba3392 to
ab37c52
Compare
ab37c52 to
3d8110a
Compare
3d8110a to
6d0e503
Compare
6d0e503 to
975f60c
Compare
975f60c to
9dfd5a2
Compare
9dfd5a2 to
ad4d53e
Compare
ad4d53e to
b2385b1
Compare
b2385b1 to
722025b
Compare
| @@ -0,0 +1,140 @@ | |||
| ## How to work these tasks | |||
|
|
|||
| The whole capability is verified by two table-driven integration tests on the real command harness (`internal/cmd/tests`, `NewGlobalTestState`), one per surface: `TestRunReportsExtensions` for `k6 run` and `TestSubcommandReportsUsage` for `k6 x`. Nothing is mocked; extensions register through the normal paths and both the catalog and the report endpoint are local HTTP servers. | |||
There was a problem hiding this comment.
The whole capability is verified by two table-driven integration tests on the real command harness (
internal/cmd/tests,NewGlobalTestState), one per surface:TestRunReportsExtensionsfork6 runandTestSubcommandReportsUsagefork6 x.
Is this text explaining what the AI will need to implement later? It confused me to see such concrete and detailed technical references that aren't really there yet.
Nothing is mocked; extensions register through the normal paths and both the catalog and the report endpoint are local HTTP servers.
Does this mean that we'll have artificial data mixed with real data in BQ?
There was a problem hiding this comment.
The task list is for the implementer, so everything it names is what the implementation will have. Fair point, though, it makes it read like the tests are already there. I'll reword it. BQ: Every test points to a local test server, so reports never leave the test process. Hopefully made that clearer now 🙇
722025b to
47cb6c9
Compare
47cb6c9 to
0a303f6
Compare
What?
Proposes how k6 should report which catalog extensions a test uses.
k6/x/*) and subcommand (k6 x <name>) extensions.k6 xalready has it) to avoid reporting private extensions.Why?
We have no idea which extensions users run. Now that there are binary provisioning and an extension catalog, we want to gather data to decide which extensions to promote, maintain, or retire.
Note
Spec and design only; the implementation lands in a separate PR. Every test name, function, and file reference in these docs is what that PR will create, not existing code (
file:lineanchors point at today's code).Where to review what:
proposal.md: scope and impact.spec.md: the behavior, as GIVEN/WHEN/THEN acceptance criteria. Most review value is here.design.md: the decisions and trade-offs. Disagreements go here.tasks.md: the implementer's step-by-step plan. Skim it unless you care about the build order.The described tests point the report endpoint at a local test server, so no test data ever reaches BQ.
Related PR(s)/Issue(s)