Skip to content

Commit 7658c70

Browse files
committed
Consistency: track setup_ended for cancelled events
1 parent e961f6f commit 7658c70

File tree

2 files changed

+151
-34
lines changed

2 files changed

+151
-34
lines changed

src/plugins/setup.ts

Lines changed: 24 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ import {
1515
activateLicenseUntilValid,
1616
} from "../utils/license.ts";
1717
import { minDelay } from "../utils/promises.ts";
18+
import {
19+
get_setup_ended_on_authentication_cancelled,
20+
get_setup_ended_on_cli_setup_cancelled,
21+
get_setup_ended_on_license_setup_cancelled,
22+
} from "../utils/telemetry.ts";
1823

1924
export default createPlugin(
2025
"setup",
@@ -64,6 +69,7 @@ export default createPlugin(
6469
status: "CANCELLED",
6570
},
6671
});
72+
telemetry.track(get_setup_ended_on_cli_setup_cancelled());
6773
return;
6874
}
6975
}
@@ -76,43 +82,17 @@ export default createPlugin(
7682
const authenticated = await minDelay(checkIsAuthenticated());
7783
if (cancellationToken.isCancellationRequested) {
7884
telemetry.track({
79-
name: "setup_ended",
85+
name: "auth_token_configured",
8086
payload: {
8187
namespace: "onboarding",
82-
steps: [
83-
{
84-
name: "emulator_installed",
85-
is_first_step: true,
86-
is_last_step: false,
87-
step_order: 1,
88-
status: "COMPLETED",
89-
},
90-
{
91-
name: "auth_token_configured",
92-
is_first_step: false,
93-
is_last_step: false,
94-
step_order: 2,
95-
status: "CANCELLED",
96-
},
97-
{
98-
name: "license_setup_ended",
99-
is_first_step: false,
100-
is_last_step: false,
101-
step_order: 3,
102-
status: "SKIPPED",
103-
},
104-
{
105-
name: "aws_profile_configured",
106-
is_first_step: false,
107-
is_last_step: true,
108-
step_order: 4,
109-
status: "SKIPPED",
110-
},
111-
],
88+
origin: origin_trigger,
89+
step_order: 2,
90+
started_at: authStartedAuthAt,
91+
ended_at: new Date().toISOString(),
11292
status: "CANCELLED",
113-
auth_token: await readAuthToken(),
11493
},
11594
});
95+
telemetry.track(get_setup_ended_on_authentication_cancelled());
11696
return;
11797
}
11898
if (authenticated) {
@@ -130,6 +110,7 @@ export default createPlugin(
130110
status: "SKIPPED",
131111
},
132112
});
113+
133114
await minDelay(Promise.resolve());
134115
} else {
135116
/////////////////////////////////////////////////////////////////////
@@ -153,6 +134,9 @@ export default createPlugin(
153134
status: "CANCELLED",
154135
},
155136
});
137+
telemetry.track(
138+
get_setup_ended_on_authentication_cancelled(),
139+
);
156140
return;
157141
}
158142

@@ -174,7 +158,9 @@ export default createPlugin(
174158
status: "CANCELLED",
175159
},
176160
});
177-
161+
telemetry.track(
162+
get_setup_ended_on_authentication_cancelled(authToken),
163+
);
178164
return;
179165
}
180166
}
@@ -219,6 +205,11 @@ export default createPlugin(
219205
status: "CANCELLED",
220206
},
221207
});
208+
telemetry.track(
209+
get_setup_ended_on_license_setup_cancelled(
210+
await readAuthToken(),
211+
),
212+
);
222213
return;
223214
}
224215

src/utils/telemetry.ts

Lines changed: 127 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ type Events =
106106
},
107107
];
108108
status: "COMPLETED" | "FAILED" | "CANCELLED";
109-
auth_token: string;
109+
auth_token?: string;
110110
};
111111
}
112112
| {
@@ -213,3 +213,129 @@ export function createTelemetry(
213213
},
214214
};
215215
}
216+
217+
export function get_setup_ended_on_cli_setup_cancelled(): Events {
218+
return {
219+
name: "setup_ended",
220+
payload: {
221+
namespace: "onboarding",
222+
steps: [
223+
{
224+
name: "emulator_installed",
225+
is_first_step: true,
226+
is_last_step: false,
227+
step_order: 1,
228+
status: "CANCELLED",
229+
},
230+
{
231+
name: "auth_token_configured",
232+
is_first_step: false,
233+
is_last_step: false,
234+
step_order: 2,
235+
status: "SKIPPED",
236+
},
237+
{
238+
name: "license_setup_ended",
239+
is_first_step: false,
240+
is_last_step: false,
241+
step_order: 3,
242+
status: "SKIPPED",
243+
},
244+
{
245+
name: "aws_profile_configured",
246+
is_first_step: false,
247+
is_last_step: true,
248+
step_order: 4,
249+
status: "SKIPPED",
250+
},
251+
],
252+
status: "CANCELLED",
253+
},
254+
};
255+
}
256+
257+
export function get_setup_ended_on_authentication_cancelled(
258+
authToken: string = "",
259+
): Events {
260+
return {
261+
name: "setup_ended",
262+
payload: {
263+
namespace: "onboarding",
264+
steps: [
265+
{
266+
name: "emulator_installed",
267+
is_first_step: true,
268+
is_last_step: false,
269+
step_order: 1,
270+
status: "COMPLETED",
271+
},
272+
{
273+
name: "auth_token_configured",
274+
is_first_step: false,
275+
is_last_step: false,
276+
step_order: 2,
277+
status: "CANCELLED",
278+
},
279+
{
280+
name: "license_setup_ended",
281+
is_first_step: false,
282+
is_last_step: false,
283+
step_order: 3,
284+
status: "SKIPPED",
285+
},
286+
{
287+
name: "aws_profile_configured",
288+
is_first_step: false,
289+
is_last_step: true,
290+
step_order: 4,
291+
status: "SKIPPED",
292+
},
293+
],
294+
status: "CANCELLED",
295+
auth_token: authToken,
296+
},
297+
};
298+
}
299+
300+
export function get_setup_ended_on_license_setup_cancelled(
301+
auth_token: string,
302+
): Events {
303+
return {
304+
name: "setup_ended",
305+
payload: {
306+
namespace: "onboarding",
307+
steps: [
308+
{
309+
name: "emulator_installed",
310+
is_first_step: true,
311+
is_last_step: false,
312+
step_order: 1,
313+
status: "COMPLETED",
314+
},
315+
{
316+
name: "auth_token_configured",
317+
is_first_step: false,
318+
is_last_step: false,
319+
step_order: 2,
320+
status: "COMPLETED",
321+
},
322+
{
323+
name: "license_setup_ended",
324+
is_first_step: false,
325+
is_last_step: false,
326+
step_order: 3,
327+
status: "CANCELLED",
328+
},
329+
{
330+
name: "aws_profile_configured",
331+
is_first_step: false,
332+
is_last_step: true,
333+
step_order: 4,
334+
status: "SKIPPED",
335+
},
336+
],
337+
status: "CANCELLED",
338+
auth_token: auth_token,
339+
},
340+
};
341+
}

0 commit comments

Comments
 (0)