You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BigQuery's integer type is a signed 64-bit value, while we collect
unsigned ones.
Timestamps are in milliseconds, so 9223372036854775807 (i64::MAX) ms is
about 4.5 billion years, or roughly 1/15 of the age of earth.
I think we should be fine with that for a little while longer.
So any such value _should_ not happen. But it does in 0.002% of pings
and thus data ends up in `additional_properties` instead of where it
belongs.
By clamping we might reduce that %age further. An event with that
timestamp is most likely still not useful, but maybe the others are?
One more problem is: Should we report this as an issue? If so how? Right
now we don't have the APIs to tie that back to a specific event other
then the one we own. But then our error types don't express the right
things.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,8 @@
4
4
5
5
* General
6
6
* BUGFIX: Correct `glean.database.rkv_load_error`'s category and `glean.upload.discarded_exceeding_pings_size`'s name ([bug 2009475](https://bugzilla.mozilla.org/show_bug.cgi?id=2009475))
7
+
* Event timestamps are now always clamped to the range of a signed 64-bit integer.
8
+
An overflow is recorded in the new metric `glean.error.event_timestamp_clamped` in case this happens ([#3308](https://github.com/mozilla/glean/pull/3308)).
Copy file name to clipboardExpand all lines: docs/user/user/collected-metrics/metrics.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
> If you are looking for the metrics collected by Glean.js,
6
6
> refer to the documentation over on the [`@mozilla/glean.js`](https://github.com/mozilla/glean.js/blob/main/docs/reference/metrics.md) repository.
7
-
<!-- AUTOGENERATED BY glean_parser v18.1.1. DO NOT EDIT. -->
7
+
<!-- AUTOGENERATED BY glean_parser v18.2.0. DO NOT EDIT. -->
8
8
9
9
# Metrics
10
10
@@ -17,7 +17,7 @@ This means you might have to go searching through the dependency tree to get a f
17
17
-[all-pings](#all-pings)
18
18
-[baseline](#baseline)
19
19
-[deletion-request](#deletion-request)
20
-
-[glean_internal_info](#glean_internal_info)
20
+
-[glean_client_info](#glean_client_info)
21
21
-[health](#health)
22
22
-[metrics](#metrics)
23
23
@@ -121,7 +121,7 @@ All Glean pings contain built-in metrics in the [`ping_info`](https://mozilla.gi
121
121
122
122
This ping contains no metrics.
123
123
124
-
## glean_internal_info
124
+
## glean_client_info
125
125
126
126
All Glean pings contain built-in metrics in the [`ping_info`](https://mozilla.github.io/glean/book/user/pings/index.html#the-ping_info-section) and [`client_info`](https://mozilla.github.io/glean/book/user/pings/index.html#the-client_info-section) sections.
127
127
@@ -143,6 +143,9 @@ metric information. The `health` ping is automatically sent when the
143
143
application calls Glean initialize before any operations are done on
144
144
the data path with a reason of `pre_init`.
145
145
146
+
Previously a second ping with reason `post_init` was sent.
147
+
This reason has been removed in Glean v66.2.0.
148
+
146
149
147
150
This ping includes the [client id](https://mozilla.github.io/glean/book/user/pings/index.html#the-client_info-section).
148
151
@@ -170,6 +173,7 @@ In addition to those built-in metrics, the following metrics are added to the pi
170
173
| glean.database.rkv_load_error |[string](https://mozilla.github.io/glean/book/user/metrics/string.html)|If there was an error loading the RKV database, record it. |[Bug 1815253](https://bugzilla.mozilla.org/show_bug.cgi?id=1815253)||never |1 |
171
174
| glean.database.size |[memory_distribution](https://mozilla.github.io/glean/book/user/metrics/memory_distribution.html)|The size of the database file at startup. |[Bug 1656589](https://bugzilla.mozilla.org/show_bug.cgi?id=1656589#c7)||never |1 |
172
175
| glean.database.write_time |[timing_distribution](https://mozilla.github.io/glean/book/user/metrics/timing_distribution.html)|The time it takes for a write-commit for the Glean database. |[Bug 1896193](https://bugzilla.mozilla.org/show_bug.cgi?id=1896193#c4)||never |1 |
176
+
| glean.error.event_timestamp_clamped |[counter](https://mozilla.github.io/glean/book/user/metrics/counter.html)|The number of times we had to clamp an event timestamp for exceeding the range of a signed 64-bit integer (9223372036854775807). |[Bug 1873482](https://bugzilla.mozilla.org/show_bug.cgi?id=1873482)||2026-06-30 |1 |
173
177
| glean.error.io |[counter](https://mozilla.github.io/glean/book/user/metrics/counter.html)|The number of times we encountered an IO error when writing a pending ping to disk. |[Bug 1686233](https://bugzilla.mozilla.org/show_bug.cgi?id=1686233#c2)||never |1 |
174
178
| glean.error.preinit_tasks_overflow |[counter](https://mozilla.github.io/glean/book/user/metrics/counter.html)|The number of tasks that overflowed the pre-initialization buffer. Only sent if the buffer ever overflows. In Version 0 this reported the total number of tasks enqueued. |[Bug 1609482](https://bugzilla.mozilla.org/show_bug.cgi?id=1609482#c3)||never |1 |
175
179
| glean.health.data_directory_info |[object](https://mozilla.github.io/glean/book/user/metrics/object.html) |Information about the data directories and files used by FOG. Structure is an array of objects, each containing the following properties: - `dir_name`: The name of the directory. This is the subdirectory name relative to the FOG data directory and should only include "db", "events", and "pending_pings". - `dir_exists`: Whether the directory exists. This should only be false on the first run of FOG, or if the directory was deleted. - `dir_created`: The creation time of the directory, in seconds since the unix epoch. If the directory does not exist, this will be `null` and if the time cannot be determined, it will default to `0`. - `dir_modified`: The last modification time of the directory, in seconds since the unix epoch. If the directory does not exist, this will be `null` and if the time cannot be determined, it will default to `0`. - `file_count`: The number of files in the directory. If the directory does not exist, this will be `0`. - `error_message`: If there was an error accessing the directory, this will contain a brief description of the error. If there was no error, this will be null. - `files`: An array of objects, each containing: - `file_name`: The name of the file. Could be `data.safe.bin`, `events.safe.bin`, or A UUID representing the doc-id of a pending ping. - `file_created`: The creation time of the file, in seconds since the epoch. If the file does not exist, this will be `null` and if the time cannot be determined, it will default to `0`. - `file_modified`: The last modification time of the file, in seconds since the epoch. If the file does not exist, this will be `null` and if the time cannot be determined, it will default to `0`. - `file_size`: The size of the file in bytes. This can be just about any size but a `0` value indicates the file is empty. - `error_message`: If there was an error accessing the file, this will contain a brief description of the error. If there was no error, this will be null. |[Bug 1982711](https://bugzilla.mozilla.org/show_bug.cgi?id=1982711#c3)||never |1 |
@@ -255,5 +259,5 @@ In addition to those built-in metrics, the following metrics are added to the pi
255
259
256
260
Data categories are [defined here](https://wiki.mozilla.org/Firefox/Data_Collection).
257
261
258
-
<!-- AUTOGENERATED BY glean_parser v18.1.1. DO NOT EDIT. -->
262
+
<!-- AUTOGENERATED BY glean_parser v18.2.0. DO NOT EDIT. -->
0 commit comments