Commit df6803b
authored
feat(init): measure interactive prompt wait time (#1257)
## Summary
Separates human think-time from actual `sentry init` execution time.
Every real Ink prompt now emits a `ui.prompt` child span, while
automatic `--yes` and non-interactive paths remain uninstrumented.
The root transaction also gets an accumulated `wizard.user_wait_ms`
measurement, so active wizard time can be calculated as total duration
minus user wait. Workflow prompts include the active step ID (for
example `select-features`); welcome, git, and preflight prompts are
marked as `preflight`.
Feature selection now records `wizard.features.offered` before the
prompt and `wizard.features.selected` after the response. This preserves
the offered set even when the user cancels at the feature prompt or the
workflow fails later.
## Test plan
- `pnpm exec tsc --noEmit`
- `pnpm exec biome check src/lib/telemetry.ts
src/lib/init/interactive.ts src/lib/init/ui/ink-ui.ts
test/lib/telemetry.test.ts test/lib/init/interactive.test.ts
test/lib/init/ui/ink-ui-telemetry.test.ts`
- `pnpm vitest run test/lib/init`
- `pnpm vitest run test/lib/telemetry.test.ts`1 parent 39b25bd commit df6803b
6 files changed
Lines changed: 385 additions & 11 deletions
File tree
- src/lib
- init
- ui
- test/lib
- init
- ui
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
198 | 199 | | |
199 | 200 | | |
200 | 201 | | |
| 202 | + | |
201 | 203 | | |
202 | 204 | | |
203 | 205 | | |
| |||
213 | 215 | | |
214 | 216 | | |
215 | 217 | | |
216 | | - | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
217 | 221 | | |
218 | 222 | | |
219 | 223 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
59 | 63 | | |
60 | 64 | | |
61 | 65 | | |
| |||
81 | 85 | | |
82 | 86 | | |
83 | 87 | | |
| 88 | + | |
84 | 89 | | |
85 | 90 | | |
86 | 91 | | |
87 | 92 | | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
88 | 98 | | |
89 | 99 | | |
90 | 100 | | |
| |||
273 | 283 | | |
274 | 284 | | |
275 | 285 | | |
| 286 | + | |
276 | 287 | | |
277 | 288 | | |
278 | 289 | | |
| |||
305 | 316 | | |
306 | 317 | | |
307 | 318 | | |
308 | | - | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
309 | 323 | | |
310 | 324 | | |
311 | 325 | | |
| |||
356 | 370 | | |
357 | 371 | | |
358 | 372 | | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
359 | 376 | | |
360 | 377 | | |
361 | 378 | | |
| |||
401 | 418 | | |
402 | 419 | | |
403 | 420 | | |
404 | | - | |
| 421 | + | |
405 | 422 | | |
406 | 423 | | |
407 | 424 | | |
408 | 425 | | |
409 | | - | |
410 | | - | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
411 | 438 | | |
412 | 439 | | |
413 | 440 | | |
| |||
469 | 496 | | |
470 | 497 | | |
471 | 498 | | |
| 499 | + | |
472 | 500 | | |
473 | 501 | | |
474 | 502 | | |
| |||
543 | 571 | | |
544 | 572 | | |
545 | 573 | | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
546 | 582 | | |
547 | | - | |
| 583 | + | |
548 | 584 | | |
549 | 585 | | |
550 | 586 | | |
| |||
584 | 620 | | |
585 | 621 | | |
586 | 622 | | |
587 | | - | |
| 623 | + | |
588 | 624 | | |
589 | 625 | | |
590 | 626 | | |
| |||
614 | 650 | | |
615 | 651 | | |
616 | 652 | | |
617 | | - | |
| 653 | + | |
618 | 654 | | |
619 | 655 | | |
620 | 656 | | |
| |||
644 | 680 | | |
645 | 681 | | |
646 | 682 | | |
647 | | - | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
648 | 691 | | |
649 | 692 | | |
650 | 693 | | |
651 | 694 | | |
652 | | - | |
| 695 | + | |
653 | 696 | | |
654 | 697 | | |
655 | 698 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
922 | 922 | | |
923 | 923 | | |
924 | 924 | | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
925 | 992 | | |
926 | 993 | | |
927 | 994 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
| |||
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
27 | 33 | | |
28 | 34 | | |
29 | 35 | | |
| |||
270 | 276 | | |
271 | 277 | | |
272 | 278 | | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
273 | 309 | | |
274 | 310 | | |
275 | 311 | | |
| |||
336 | 372 | | |
337 | 373 | | |
338 | 374 | | |
| 375 | + | |
339 | 376 | | |
340 | 377 | | |
341 | 378 | | |
| |||
351 | 388 | | |
352 | 389 | | |
353 | 390 | | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
354 | 399 | | |
355 | 400 | | |
356 | 401 | | |
| |||
0 commit comments