Skip to content

Commit d5ba82b

Browse files
authored
feat(DENG-10183): Add 11 installation first seen fields to metrics_cl… (#8443)
* feat(DENG-10183): Add 11 installation first seen fields to metrics_clients_daily since they only come in metrics ping and not in baseline * feat(DENG-10183): Add schema file
1 parent b3e5d51 commit d5ba82b

File tree

2 files changed

+156
-1
lines changed

2 files changed

+156
-1
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
fields:
2+
- name: submission_date
3+
type: DATE
4+
mode: NULLABLE
5+
description: The date when the telemetry ping is received on the server side.
6+
- name: client_id
7+
type: STRING
8+
mode: NULLABLE
9+
description: A unique identifier (UUID) for the client.
10+
- name: sample_id
11+
type: INTEGER
12+
mode: NULLABLE
13+
description: A number, 0-99, that samples by client_id and allows filtering data
14+
for analysis. It is a pipeline-generated artifact that should match between pings.
15+
- name: normalized_channel
16+
type: STRING
17+
mode: NULLABLE
18+
- name: n_metrics_ping
19+
type: INTEGER
20+
mode: NULLABLE
21+
- name: days_sent_metrics_ping_bits
22+
type: INTEGER
23+
mode: NULLABLE
24+
- name: profile_group_id
25+
type: STRING
26+
mode: NULLABLE
27+
description: A UUID uniquely identifying the profile group, not shared with other telemetry data.
28+
- name: search_with_ads_count_all
29+
type: INTEGER
30+
mode: NULLABLE
31+
description: Number of searches with ads on client's last seen date in last 28 days.
32+
- name: search_count_all
33+
type: INTEGER
34+
mode: NULLABLE
35+
description: Number of searches on client's last seen date in last 28 days.
36+
- name: ad_clicks_count_all
37+
type: INTEGER
38+
mode: NULLABLE
39+
description: Number of ad clicks on client's last seen date in last 28 days.
40+
- name: apple_model_id
41+
type: STRING
42+
mode: NULLABLE
43+
description: The hw.model of the hardware running this software. Mac only. e.g. "MacBookPro14,1"
44+
- name: default_search_engine
45+
type: STRING
46+
mode: NULLABLE
47+
- name: xpcom_abi
48+
type: STRING
49+
mode: NULLABLE
50+
description: |-
51+
A string tag identifying the binary ABI of the current processor and compiler vtable. This is taken from the TARGET_XPCOM_ABI configure variable.
52+
It may not be available on all platforms, especially unusual processor or compiler combinations.
53+
For example: x86-msvc, ppc-gcc3
54+
This value should almost always be used in combination with the operating system.
55+
- name: installation_first_seen_admin_user
56+
type: BOOLEAN
57+
mode: NULLABLE
58+
description: Whether the installer is running from an elevated admin user.
59+
- name: installation_first_seen_default_path
60+
type: BOOLEAN
61+
mode: NULLABLE
62+
description: Whether the default path was used; optional, present if installer_type is "full"
63+
- name: installation_first_seen_failure_reason
64+
type: STRING
65+
mode: NULLABLE
66+
description: |-
67+
Only sent if unable to collect firstSeen data.
68+
Can have value "NotFoundError" if file not found or other values depending on the failure reason.
69+
- name: installation_first_seen_from_msi
70+
type: BOOLEAN
71+
mode: NULLABLE
72+
description: Whether this was an MSI install; optional, present if installer_type is "full".
73+
- name: installation_first_seen_install_existed
74+
type: BOOLEAN
75+
mode: NULLABLE
76+
description: Whether there was already an install in this location.
77+
- name: installation_first_seen_installer_type
78+
type: STRING
79+
mode: NULLABLE
80+
description: The type of installer used to install Firefox. The value is one of "stub", "full", or "msix".
81+
- name: installation_first_seen_other_inst
82+
type: BOOLEAN
83+
mode: NULLABLE
84+
description: Whether there was already any non-MSIX install on this system.
85+
- name: installation_first_seen_other_msix_inst
86+
type: BOOLEAN
87+
mode: NULLABLE
88+
description: Whether there was already any MSIX install on this system.
89+
- name: installation_first_seen_profdir_existed
90+
type: BOOLEAN
91+
mode: NULLABLE
92+
description: Whether the top-level profile directory existed.
93+
- name: installation_first_seen_silent
94+
type: BOOLEAN
95+
mode: NULLABLE
96+
description: Whether this was a silent install; optional, present if installer_type is "full".
97+
- name: installation_first_seen_version
98+
type: STRING
99+
mode: NULLABLE
100+
description: The application version installed by the installer (not necessarily the current version)

sql_generators/glean_usage/templates/metrics_clients_daily.query.sql

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,62 @@
268268
`moz-fx-data-shared-prod.udf.mode_last`(
269269
ARRAY_AGG(metrics.string.search_engine_default_engine_id ORDER BY submission_timestamp ASC)
270270
) AS default_search_engine,
271-
ANY_VALUE(metrics.string.xpcom_abi) AS xpcom_abi
271+
ANY_VALUE(metrics.string.xpcom_abi) AS xpcom_abi,
272+
ARRAY_AGG(
273+
metrics.boolean.installation_first_seen_admin_user RESPECT NULLS
274+
ORDER BY
275+
submission_timestamp
276+
)[SAFE_OFFSET(0)] AS installation_first_seen_admin_user,
277+
ARRAY_AGG(
278+
metrics.boolean.installation_first_seen_default_path RESPECT NULLS
279+
ORDER BY
280+
submission_timestamp
281+
)[SAFE_OFFSET(0)] AS installation_first_seen_default_path,
282+
ARRAY_AGG(
283+
metrics.string.installation_first_seen_failure_reason RESPECT NULLS
284+
ORDER BY
285+
submission_timestamp
286+
)[SAFE_OFFSET(0)] AS installation_first_seen_failure_reason,
287+
ARRAY_AGG(
288+
metrics.boolean.installation_first_seen_from_msi RESPECT NULLS
289+
ORDER BY
290+
submission_timestamp
291+
)[SAFE_OFFSET(0)] AS installation_first_seen_from_msi,
292+
ARRAY_AGG(
293+
metrics.boolean.installation_first_seen_install_existed RESPECT NULLS
294+
ORDER BY
295+
submission_timestamp
296+
)[SAFE_OFFSET(0)] AS installation_first_seen_install_existed,
297+
ARRAY_AGG(
298+
metrics.string.installation_first_seen_installer_type RESPECT NULLS
299+
ORDER BY
300+
submission_timestamp
301+
)[SAFE_OFFSET(0)] AS installation_first_seen_installer_type,
302+
ARRAY_AGG(
303+
metrics.boolean.installation_first_seen_other_inst RESPECT NULLS
304+
ORDER BY
305+
submission_timestamp
306+
)[SAFE_OFFSET(0)] AS installation_first_seen_other_inst,
307+
ARRAY_AGG(
308+
metrics.boolean.installation_first_seen_other_msix_inst RESPECT NULLS
309+
ORDER BY
310+
submission_timestamp
311+
)[SAFE_OFFSET(0)] AS installation_first_seen_other_msix_inst,
312+
ARRAY_AGG(
313+
metrics.boolean.installation_first_seen_profdir_existed RESPECT NULLS
314+
ORDER BY
315+
submission_timestamp
316+
)[SAFE_OFFSET(0)] AS installation_first_seen_profdir_existed,
317+
ARRAY_AGG(
318+
metrics.boolean.installation_first_seen_silent RESPECT NULLS
319+
ORDER BY
320+
submission_timestamp
321+
)[SAFE_OFFSET(0)] AS installation_first_seen_silent,
322+
ARRAY_AGG(
323+
metrics.string.installation_first_seen_version RESPECT NULLS
324+
ORDER BY
325+
submission_timestamp
326+
)[SAFE_OFFSET(0)] AS installation_first_seen_version
272327
{% endif -%}
273328
FROM
274329
`moz-fx-data-shared-prod.{{ dataset }}.metrics` AS m

0 commit comments

Comments
 (0)