Skip to content

Commit 5f67cd8

Browse files
committed
Simplify tracking of setup_ended events
1 parent 42a8861 commit 5f67cd8

File tree

2 files changed

+17
-205
lines changed

2 files changed

+17
-205
lines changed

src/plugins/setup.ts

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,7 @@ import {
1717
import { minDelay } from "../utils/promises.ts";
1818
import { updateDockerImage } from "../utils/setup.ts";
1919
import {
20-
get_setup_ended_on_image_prefetch_cancelled,
21-
get_setup_ended_on_authentication_cancelled,
22-
get_setup_ended_on_cli_setup_cancelled,
23-
get_setup_ended_on_license_setup_cancelled,
24-
get_setup_ended_completed,
20+
get_setup_ended,
2521
} from "../utils/telemetry.ts";
2622

2723
export default createPlugin(
@@ -58,10 +54,10 @@ export default createPlugin(
5854
async (progress, cancellationToken) => {
5955
/////////////////////////////////////////////////////////////////////
6056
let cliInstallSkipped: boolean = false;
61-
let authenticationSkipped: boolean = false;
57+
let cliStatus: "COMPLETED" | "SKIPPED" = "COMPLETED";
58+
let authenticationStatus: "COMPLETED" | "SKIPPED" = "COMPLETED";
6259
{
6360
const installationStartedAt = new Date().toISOString();
64-
6561
const { cancelled, skipped } = await runInstallProcess(
6662
progress,
6763
cancellationToken,
@@ -70,6 +66,7 @@ export default createPlugin(
7066
origin_trigger,
7167
);
7268
cliInstallSkipped = skipped === true;
69+
cliStatus = skipped ? "SKIPPED" : "COMPLETED";
7370
if (cancelled || cancellationToken.isCancellationRequested) {
7471
telemetry.track({
7572
name: "emulator_installed",
@@ -82,7 +79,7 @@ export default createPlugin(
8279
status: "CANCELLED",
8380
},
8481
});
85-
telemetry.track(get_setup_ended_on_cli_setup_cancelled());
82+
telemetry.track(get_setup_ended(cliStatus, "SKIPPED", "SKIPPED", "SKIPPED", "CANCELLED"));
8683
return;
8784
}
8885
}
@@ -113,14 +110,14 @@ export default createPlugin(
113110
status: "CANCELLED",
114111
},
115112
});
116-
telemetry.track(get_setup_ended_on_authentication_cancelled());
113+
telemetry.track(get_setup_ended(cliStatus, "CANCELLED", "SKIPPED", "SKIPPED", "CANCELLED", await readAuthToken()));
117114
return;
118115
}
119116
if (authenticated) {
120117
progress.report({
121118
message: "Skipping authentication...",
122119
});
123-
authenticationSkipped = true;
120+
authenticationStatus = "SKIPPED";
124121
telemetry.track({
125122
name: "auth_token_configured",
126123
payload: {
@@ -160,7 +157,7 @@ export default createPlugin(
160157
},
161158
});
162159
telemetry.track(
163-
get_setup_ended_on_authentication_cancelled(),
160+
get_setup_ended(cliStatus, "CANCELLED", "SKIPPED", "SKIPPED", "CANCELLED", await readAuthToken()),
164161
);
165162
return;
166163
}
@@ -184,7 +181,7 @@ export default createPlugin(
184181
},
185182
});
186183
telemetry.track(
187-
get_setup_ended_on_authentication_cancelled(authToken),
184+
get_setup_ended(cliStatus, "CANCELLED", "SKIPPED", "SKIPPED", "CANCELLED", authToken),
188185
);
189186
return;
190187
}
@@ -231,9 +228,7 @@ export default createPlugin(
231228
},
232229
});
233230
telemetry.track(
234-
get_setup_ended_on_license_setup_cancelled(
235-
await readAuthToken(),
236-
),
231+
get_setup_ended(cliStatus, authenticationStatus, "CANCELLED","SKIPPED", "CANCELLED",await readAuthToken()),
237232
);
238233
return;
239234
}
@@ -279,9 +274,7 @@ export default createPlugin(
279274

280275
if (cancellationToken.isCancellationRequested) {
281276
telemetry.track(
282-
get_setup_ended_on_image_prefetch_cancelled(
283-
await readAuthToken(),
284-
),
277+
get_setup_ended(cliStatus, authenticationStatus, "COMPLETED", "COMPLETED", "CANCELLED", await readAuthToken()),
285278
);
286279
return;
287280
}
@@ -311,16 +304,8 @@ export default createPlugin(
311304
});
312305
}
313306

314-
const cliStatus = cliInstallSkipped ? "SKIPPED" : "COMPLETED";
315-
const authenticationStatus = authenticationSkipped
316-
? "SKIPPED"
317-
: "COMPLETED";
318307
telemetry.track(
319-
get_setup_ended_completed(
320-
cliStatus,
321-
authenticationStatus,
322-
await readAuthToken(),
323-
),
308+
get_setup_ended(cliStatus, authenticationStatus, "COMPLETED", "COMPLETED", "COMPLETED", await readAuthToken()),
324309
);
325310
},
326311
);

src/utils/telemetry.ts

Lines changed: 5 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -214,180 +214,7 @@ export function createTelemetry(
214214
};
215215
}
216216

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-
}
342-
343-
export function get_setup_ended_on_image_prefetch_cancelled(
344-
auth_token: string,
345-
): Events {
346-
return {
347-
name: "setup_ended",
348-
payload: {
349-
namespace: "onboarding",
350-
steps: [
351-
{
352-
name: "emulator_installed",
353-
is_first_step: true,
354-
is_last_step: false,
355-
step_order: 1,
356-
status: "COMPLETED",
357-
},
358-
{
359-
name: "auth_token_configured",
360-
is_first_step: false,
361-
is_last_step: false,
362-
step_order: 2,
363-
status: "COMPLETED",
364-
},
365-
{
366-
name: "license_setup_ended",
367-
is_first_step: false,
368-
is_last_step: false,
369-
step_order: 3,
370-
status: "COMPLETED",
371-
},
372-
{
373-
name: "aws_profile_configured",
374-
is_first_step: false,
375-
is_last_step: true,
376-
step_order: 4,
377-
status: "COMPLETED",
378-
},
379-
],
380-
status: "CANCELLED",
381-
auth_token: auth_token,
382-
},
383-
};
384-
}
385-
386-
export function get_setup_ended_completed(
387-
cli_status: "COMPLETED" | "SKIPPED",
388-
authentication_status: "COMPLETED" | "SKIPPED",
389-
auth_token: string,
390-
): Events {
217+
export function get_setup_ended(cli_status: "COMPLETED" | "SKIPPED" | "CANCELLED", authentication_status: "COMPLETED" | "SKIPPED" | "CANCELLED", license_setup_status: "COMPLETED" | "SKIPPED" | "CANCELLED", aws_profile_status: "COMPLETED" | "SKIPPED" | "CANCELLED", overall_status: "CANCELLED" | "COMPLETED", auth_token: string = ""): Events {
391218
return {
392219
name: "setup_ended",
393220
payload: {
@@ -412,18 +239,18 @@ export function get_setup_ended_completed(
412239
is_first_step: false,
413240
is_last_step: false,
414241
step_order: 3,
415-
status: "COMPLETED",
242+
status: license_setup_status,
416243
},
417244
{
418245
name: "aws_profile_configured",
419246
is_first_step: false,
420247
is_last_step: true,
421248
step_order: 4,
422-
status: "COMPLETED",
249+
status: aws_profile_status
423250
},
424251
],
425-
status: "COMPLETED",
426-
auth_token: auth_token,
252+
status: overall_status,
253+
auth_token,
427254
},
428255
};
429256
}

0 commit comments

Comments
 (0)