mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 21:01:08 +00:00
Bug 1874923 - Update Glean to 56.1.0 r=janerik,supply-chain-reviewers,mach-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D199093
This commit is contained in:
parent
94b5f6b41c
commit
c314357a6d
8
Cargo.lock
generated
8
Cargo.lock
generated
@ -2281,9 +2281,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "glean"
|
||||
version = "56.0.0"
|
||||
version = "56.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bd4421c9e77e098f774ce712128179069dd6a56904d3b95c9cf35b8418e3d6a"
|
||||
checksum = "e12e51799c1e40ba51f24e0ff232d35ea321403920bea31dc11de1afaeb541ef"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"crossbeam-channel",
|
||||
@ -2301,9 +2301,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "glean-core"
|
||||
version = "56.0.0"
|
||||
version = "56.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a39d53b7dd7b0b81325273cd601f7ae19fba48e0916413c72952a3cf2b82293e"
|
||||
checksum = "3f7570206325e7a20c45b60bf63f1f5b69c2ce0ee79ca0dc774e7c39eaab19aa"
|
||||
dependencies = [
|
||||
"android_logger",
|
||||
"bincode",
|
||||
|
@ -60,7 +60,7 @@ allprojects {
|
||||
topsrcdir = gradle.mozconfig.topsrcdir
|
||||
topobjdir = gradle.mozconfig.topobjdir
|
||||
|
||||
gleanVersion = "56.0.0"
|
||||
gleanVersion = "56.1.0"
|
||||
if (gleanVersion != getRustVersionFor("glean")) {
|
||||
throw new StopExecutionException("Mismatched Glean version, expected: ${gleanVersion}," +
|
||||
" found ${getRustVersionFor("glean")}")
|
||||
|
8
gfx/wr/Cargo.lock
generated
8
gfx/wr/Cargo.lock
generated
@ -996,9 +996,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "glean"
|
||||
version = "56.0.0"
|
||||
version = "56.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bd4421c9e77e098f774ce712128179069dd6a56904d3b95c9cf35b8418e3d6a"
|
||||
checksum = "e12e51799c1e40ba51f24e0ff232d35ea321403920bea31dc11de1afaeb541ef"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"crossbeam-channel",
|
||||
@ -1016,9 +1016,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "glean-core"
|
||||
version = "56.0.0"
|
||||
version = "56.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a39d53b7dd7b0b81325273cd601f7ae19fba48e0916413c72952a3cf2b82293e"
|
||||
checksum = "3f7570206325e7a20c45b60bf63f1f5b69c2ce0ee79ca0dc774e7c39eaab19aa"
|
||||
dependencies = [
|
||||
"android_logger",
|
||||
"bincode",
|
||||
|
@ -52,7 +52,7 @@ svg_fmt = "0.4"
|
||||
tracy-rs = "0.1.2"
|
||||
derive_more = { version = "0.99", default-features = false, features = ["add_assign"] }
|
||||
etagere = "0.2.6"
|
||||
glean = "56.0.0"
|
||||
glean = "56.1.0"
|
||||
firefox-on-glean = { version = "0.1.0", optional = true }
|
||||
swgl = { path = "../swgl", optional = true }
|
||||
topological-sort = "0.1"
|
||||
|
@ -25,7 +25,7 @@ tracy-rs = "0.1.2"
|
||||
log = "0.4"
|
||||
lazy_static = "1"
|
||||
fxhash = "0.2.1"
|
||||
glean = { version = "56.0.0", optional = true }
|
||||
glean = { version = "56.1.0", optional = true }
|
||||
firefox-on-glean = { version = "0.1.0", optional = true }
|
||||
serde = { optional = true, version = "1.0", features = ["serde_derive"] }
|
||||
|
||||
|
@ -93,7 +93,7 @@ vendored:third_party/python/wheel
|
||||
vendored:third_party/python/zipp
|
||||
# glean-sdk may not be installable if a wheel isn't available
|
||||
# and it has to be built from source.
|
||||
pypi-optional:glean-sdk==56.0.0:telemetry will not be collected
|
||||
pypi-optional:glean-sdk==56.1.0:telemetry will not be collected
|
||||
# Mach gracefully handles the case where `psutil` is unavailable.
|
||||
# We aren't (yet) able to pin packages in automation, so we have to
|
||||
# support down to the oldest locally-installed version (5.4.2).
|
||||
|
@ -1,17 +1,6 @@
|
||||
|
||||
# cargo-vet imports lock
|
||||
|
||||
[[unpublished.qcms]]
|
||||
version = "0.3.0"
|
||||
audited_as = "0.2.0"
|
||||
|
||||
[[publisher.aho-corasick]]
|
||||
version = "0.7.20"
|
||||
when = "2022-11-22"
|
||||
user-id = 189
|
||||
user-login = "BurntSushi"
|
||||
user-name = "Andrew Gallant"
|
||||
|
||||
[[publisher.aho-corasick]]
|
||||
version = "1.1.0"
|
||||
when = "2023-09-18"
|
||||
@ -54,13 +43,6 @@ user-id = 1258
|
||||
user-login = "padenot"
|
||||
user-name = "Paul Adenot"
|
||||
|
||||
[[publisher.authenticator]]
|
||||
version = "0.4.0-alpha.23"
|
||||
when = "2023-10-05"
|
||||
user-id = 175410
|
||||
user-login = "jschanck"
|
||||
user-name = "John Schanck"
|
||||
|
||||
[[publisher.authenticator]]
|
||||
version = "0.4.0-alpha.24"
|
||||
when = "2023-11-29"
|
||||
@ -223,29 +205,15 @@ user-login = "jrmuizel"
|
||||
user-name = "Jeff Muizelaar"
|
||||
|
||||
[[publisher.glean]]
|
||||
version = "55.0.0"
|
||||
when = "2023-10-23"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.glean]]
|
||||
version = "56.0.0"
|
||||
when = "2023-11-30"
|
||||
version = "56.1.0"
|
||||
when = "2024-01-17"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.glean-core]]
|
||||
version = "55.0.0"
|
||||
when = "2023-10-23"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.glean-core]]
|
||||
version = "56.0.0"
|
||||
when = "2023-11-30"
|
||||
version = "56.1.0"
|
||||
when = "2024-01-17"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
@ -313,13 +281,6 @@ user-id = 1
|
||||
user-login = "alexcrichton"
|
||||
user-name = "Alex Crichton"
|
||||
|
||||
[[publisher.libc]]
|
||||
version = "0.2.146"
|
||||
when = "2023-06-06"
|
||||
user-id = 2915
|
||||
user-login = "Amanieu"
|
||||
user-name = "Amanieu d'Antras"
|
||||
|
||||
[[publisher.libc]]
|
||||
version = "0.2.150"
|
||||
when = "2023-11-05"
|
||||
@ -411,32 +372,12 @@ user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.prio]]
|
||||
version = "0.12.1"
|
||||
when = "2023-04-13"
|
||||
user-id = 101233
|
||||
user-login = "le-automaton"
|
||||
|
||||
[[publisher.prio]]
|
||||
version = "0.15.3"
|
||||
when = "2023-10-03"
|
||||
user-id = 213776
|
||||
user-login = "divviup-github-automation"
|
||||
|
||||
[[publisher.proc-macro2]]
|
||||
version = "1.0.66"
|
||||
when = "2023-07-16"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.proc-macro2]]
|
||||
version = "1.0.69"
|
||||
when = "2023-10-09"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.proc-macro2]]
|
||||
version = "1.0.74"
|
||||
when = "2024-01-02"
|
||||
@ -451,13 +392,6 @@ user-id = 5946
|
||||
user-login = "jrmuizel"
|
||||
user-name = "Jeff Muizelaar"
|
||||
|
||||
[[publisher.quote]]
|
||||
version = "1.0.28"
|
||||
when = "2023-05-25"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.quote]]
|
||||
version = "1.0.35"
|
||||
when = "2024-01-02"
|
||||
@ -465,13 +399,6 @@ user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.regex]]
|
||||
version = "1.7.1"
|
||||
when = "2023-01-09"
|
||||
user-id = 189
|
||||
user-login = "BurntSushi"
|
||||
user-name = "Andrew Gallant"
|
||||
|
||||
[[publisher.regex]]
|
||||
version = "1.9.4"
|
||||
when = "2023-08-26"
|
||||
@ -486,13 +413,6 @@ user-id = 189
|
||||
user-login = "BurntSushi"
|
||||
user-name = "Andrew Gallant"
|
||||
|
||||
[[publisher.regex-syntax]]
|
||||
version = "0.6.28"
|
||||
when = "2022-11-05"
|
||||
user-id = 189
|
||||
user-login = "BurntSushi"
|
||||
user-name = "Andrew Gallant"
|
||||
|
||||
[[publisher.regex-syntax]]
|
||||
version = "0.7.5"
|
||||
when = "2023-08-26"
|
||||
@ -535,34 +455,6 @@ user-id = 2915
|
||||
user-login = "Amanieu"
|
||||
user-name = "Amanieu d'Antras"
|
||||
|
||||
[[publisher.serde]]
|
||||
version = "1.0.163"
|
||||
when = "2023-05-11"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde]]
|
||||
version = "1.0.192"
|
||||
when = "2023-11-07"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde]]
|
||||
version = "1.0.193"
|
||||
when = "2023-11-21"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde]]
|
||||
version = "1.0.194"
|
||||
when = "2024-01-02"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde]]
|
||||
version = "1.0.195"
|
||||
when = "2024-01-06"
|
||||
@ -577,34 +469,6 @@ user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde_derive]]
|
||||
version = "1.0.163"
|
||||
when = "2023-05-10"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde_derive]]
|
||||
version = "1.0.192"
|
||||
when = "2023-11-07"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde_derive]]
|
||||
version = "1.0.193"
|
||||
when = "2023-11-21"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde_derive]]
|
||||
version = "1.0.194"
|
||||
when = "2024-01-02"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.serde_derive]]
|
||||
version = "1.0.195"
|
||||
when = "2024-01-06"
|
||||
@ -640,20 +504,6 @@ user-id = 2017
|
||||
user-login = "mbrubeck"
|
||||
user-name = "Matt Brubeck"
|
||||
|
||||
[[publisher.syn]]
|
||||
version = "2.0.18"
|
||||
when = "2023-05-26"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.syn]]
|
||||
version = "2.0.39"
|
||||
when = "2023-11-06"
|
||||
user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.syn]]
|
||||
version = "2.0.46"
|
||||
when = "2024-01-02"
|
||||
@ -661,13 +511,6 @@ user-id = 3618
|
||||
user-login = "dtolnay"
|
||||
user-name = "David Tolnay"
|
||||
|
||||
[[publisher.termcolor]]
|
||||
version = "1.2.0"
|
||||
when = "2023-01-15"
|
||||
user-id = 189
|
||||
user-login = "BurntSushi"
|
||||
user-name = "Andrew Gallant"
|
||||
|
||||
[[publisher.termcolor]]
|
||||
version = "1.4.0"
|
||||
when = "2023-11-14"
|
||||
@ -731,173 +574,54 @@ user-id = 1139
|
||||
user-login = "Manishearth"
|
||||
user-name = "Manish Goregaokar"
|
||||
|
||||
[[publisher.uniffi]]
|
||||
version = "0.24.3"
|
||||
when = "2023-08-01"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.uniffi]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
user-id = 127697
|
||||
user-login = "bendk"
|
||||
|
||||
[[publisher.uniffi_bindgen]]
|
||||
version = "0.24.3"
|
||||
when = "2023-08-01"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.uniffi_bindgen]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi_bindgen]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
user-id = 127697
|
||||
user-login = "bendk"
|
||||
|
||||
[[publisher.uniffi_build]]
|
||||
version = "0.24.3"
|
||||
when = "2023-08-01"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.uniffi_build]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi_build]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
user-id = 127697
|
||||
user-login = "bendk"
|
||||
|
||||
[[publisher.uniffi_checksum_derive]]
|
||||
version = "0.24.3"
|
||||
when = "2023-08-01"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.uniffi_checksum_derive]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi_checksum_derive]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
user-id = 127697
|
||||
user-login = "bendk"
|
||||
|
||||
[[publisher.uniffi_core]]
|
||||
version = "0.24.3"
|
||||
when = "2023-08-01"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.uniffi_core]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi_core]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
user-id = 127697
|
||||
user-login = "bendk"
|
||||
|
||||
[[publisher.uniffi_macros]]
|
||||
version = "0.24.3"
|
||||
when = "2023-08-01"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.uniffi_macros]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi_macros]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
user-id = 127697
|
||||
user-login = "bendk"
|
||||
|
||||
[[publisher.uniffi_meta]]
|
||||
version = "0.24.3"
|
||||
when = "2023-08-01"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.uniffi_meta]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi_meta]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
user-id = 127697
|
||||
user-login = "bendk"
|
||||
|
||||
[[publisher.uniffi_testing]]
|
||||
version = "0.24.3"
|
||||
when = "2023-08-01"
|
||||
user-id = 48
|
||||
user-login = "badboy"
|
||||
user-name = "Jan-Erik Rediger"
|
||||
|
||||
[[publisher.uniffi_testing]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi_testing]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
user-id = 127697
|
||||
user-login = "bendk"
|
||||
|
||||
[[publisher.uniffi_udl]]
|
||||
version = "0.25.2"
|
||||
when = "2023-11-20"
|
||||
user-id = 111105
|
||||
user-login = "mhammond"
|
||||
user-name = "Mark Hammond"
|
||||
|
||||
[[publisher.uniffi_udl]]
|
||||
version = "0.25.3"
|
||||
when = "2023-12-07"
|
||||
@ -918,13 +642,6 @@ user-id = 189
|
||||
user-login = "BurntSushi"
|
||||
user-name = "Andrew Gallant"
|
||||
|
||||
[[publisher.warp]]
|
||||
version = "0.3.3"
|
||||
when = "2022-09-27"
|
||||
user-id = 359
|
||||
user-login = "seanmonstar"
|
||||
user-name = "Sean McArthur"
|
||||
|
||||
[[publisher.warp]]
|
||||
version = "0.3.6"
|
||||
when = "2023-09-27"
|
||||
@ -939,13 +656,6 @@ user-id = 1
|
||||
user-login = "alexcrichton"
|
||||
user-name = "Alex Crichton"
|
||||
|
||||
[[publisher.wasm-encoder]]
|
||||
version = "0.33.1"
|
||||
when = "2023-09-18"
|
||||
user-id = 1
|
||||
user-login = "alexcrichton"
|
||||
user-name = "Alex Crichton"
|
||||
|
||||
[[publisher.wasm-encoder]]
|
||||
version = "0.38.0"
|
||||
when = "2023-11-20"
|
||||
@ -953,13 +663,6 @@ user-id = 1
|
||||
user-login = "alexcrichton"
|
||||
user-name = "Alex Crichton"
|
||||
|
||||
[[publisher.wasm-smith]]
|
||||
version = "0.12.17"
|
||||
when = "2023-09-18"
|
||||
user-id = 1
|
||||
user-login = "alexcrichton"
|
||||
user-name = "Alex Crichton"
|
||||
|
||||
[[publisher.wasm-smith]]
|
||||
version = "0.13.0"
|
||||
when = "2023-11-20"
|
||||
@ -967,13 +670,6 @@ user-id = 1
|
||||
user-login = "alexcrichton"
|
||||
user-name = "Alex Crichton"
|
||||
|
||||
[[publisher.wast]]
|
||||
version = "65.0.1"
|
||||
when = "2023-09-18"
|
||||
user-id = 1
|
||||
user-login = "alexcrichton"
|
||||
user-name = "Alex Crichton"
|
||||
|
||||
[[publisher.wast]]
|
||||
version = "69.0.0"
|
||||
when = "2023-11-20"
|
||||
@ -1044,19 +740,6 @@ I am employed by a member of the Bytecode Alliance and plan to continue doing
|
||||
so and will actively maintain this crate over time.
|
||||
"""
|
||||
|
||||
[[audits.bytecode-alliance.wildcard-audits.wasmparser]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 1 # Alex Crichton (alexcrichton)
|
||||
start = "2020-07-13"
|
||||
end = "2024-04-14"
|
||||
notes = """
|
||||
This is a Bytecode Alliance authored crate maintained in the `wasm-tools`
|
||||
repository of which I'm one of the primary maintainers and publishers for.
|
||||
I am employed by a member of the Bytecode Alliance and plan to continue doing
|
||||
so and will actively maintain this crate over time.
|
||||
"""
|
||||
|
||||
[[audits.bytecode-alliance.wildcard-audits.wast]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
@ -1264,12 +947,6 @@ criteria = "safe-to-deploy"
|
||||
version = "0.2.5"
|
||||
notes = "I am the author of this crate."
|
||||
|
||||
[[audits.bytecode-alliance.audits.libc]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "0.2.146 -> 0.2.147"
|
||||
notes = "Only new type definitions and updating others for some platforms, no major changes"
|
||||
|
||||
[[audits.bytecode-alliance.audits.memoffset]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
@ -1429,18 +1106,6 @@ criteria = "safe-to-deploy"
|
||||
version = "0.1.1"
|
||||
notes = "No unsafe usage or ambient capabilities"
|
||||
|
||||
[[audits.embark-studios.audits.thiserror]]
|
||||
who = "Johan Andersson <opensource@embark-studios.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "1.0.40"
|
||||
notes = "Wrapper over implementation crate, found no unsafe or ambient capabilities used"
|
||||
|
||||
[[audits.embark-studios.audits.thiserror-impl]]
|
||||
who = "Johan Andersson <opensource@embark-studios.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "1.0.40"
|
||||
notes = "Found no unsafe or ambient capabilities used"
|
||||
|
||||
[[audits.embark-studios.audits.yaml-rust]]
|
||||
who = "Johan Andersson <opensource@embark-studios.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
@ -1480,12 +1145,6 @@ criteria = "safe-to-deploy"
|
||||
version = "0.3.1"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromiumos/third_party/rust_crates/+/refs/heads/main/cargo-vet/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.h2]]
|
||||
who = "ChromeOS"
|
||||
criteria = "safe-to-run"
|
||||
version = "0.3.14"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromiumos/third_party/rust_crates/+/refs/heads/main/cargo-vet/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.google.audits.http]]
|
||||
who = "ChromeOS"
|
||||
criteria = "safe-to-run"
|
||||
@ -1596,13 +1255,6 @@ criteria = "safe-to-run"
|
||||
version = "0.3.0"
|
||||
aggregated-from = "https://chromium.googlesource.com/chromiumos/third_party/rust_crates/+/refs/heads/main/cargo-vet/audits.toml?format=TEXT"
|
||||
|
||||
[[audits.isrg.wildcard-audits.prio]]
|
||||
who = "David Cook <dcook@divviup.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 101233 # le-automaton
|
||||
start = "2020-09-28"
|
||||
end = "2024-03-23"
|
||||
|
||||
[[audits.isrg.wildcard-audits.prio]]
|
||||
who = "David Cook <dcook@divviup.org>"
|
||||
criteria = "safe-to-deploy"
|
||||
@ -1696,78 +1348,6 @@ who = "Brandon Pitman <bran@bran.land>"
|
||||
criteria = "safe-to-deploy"
|
||||
delta = "0.10.7 -> 0.10.8"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2021-11-22"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi_bindgen]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2021-11-22"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi_build]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2021-11-22"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi_checksum_derive]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2023-11-20"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi_core]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2023-11-20"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi_macros]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2021-11-22"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi_meta]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2023-11-20"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi_testing]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2023-11-20"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.uniffi_udl]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
user-id = 111105 # Mark Hammond (mhammond)
|
||||
start = "2023-11-20"
|
||||
end = "2024-11-28"
|
||||
aggregated-from = "https://raw.githubusercontent.com/mozilla/glean/main/supply-chain/audits.toml"
|
||||
|
||||
[[audits.mozilla.wildcard-audits.zeitstempel]]
|
||||
who = "Jan-Erik Rediger <jrediger@mozilla.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
|
@ -1,6 +1,6 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: glean-parser
|
||||
Version: 10.0.3
|
||||
Version: 11.0.1
|
||||
Summary: Parser tools for Mozilla's Glean telemetry
|
||||
Home-page: https://github.com/mozilla/glean_parser
|
||||
Author: The Glean Team
|
||||
@ -10,11 +10,11 @@ Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: Natural Language :: English
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Description-Content-Type: text/markdown
|
||||
License-File: LICENSE
|
||||
License-File: AUTHORS.md
|
||||
@ -43,7 +43,7 @@ code for various integrations, linting and coverage testing.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Python 3.7 (or later)
|
||||
- Python 3.8 (or later)
|
||||
|
||||
The following library requirements are installed automatically when
|
||||
`glean_parser` is installed by `pip`.
|
||||
@ -79,6 +79,18 @@ $ glean_parser check < ping.json
|
||||
|
||||
## Unreleased
|
||||
|
||||
## 11.0.1
|
||||
|
||||
- Fix javascript_server template to include non-event metric parameters in #record call for event metrics ([#643](https://github.com/mozilla/glean_parser/pull/643))
|
||||
- events: Increase extra key limit to 50 ([Bug 1869429](https://bugzilla.mozilla.org/show_bug.cgi?id=1869429))
|
||||
|
||||
## 11.0.0
|
||||
|
||||
- Add updated logging logic for Ruby Server ([#642](https://github.com/mozilla/glean_parser/pull/642))
|
||||
- Add support for event metric type in server-side JavaScript outputter ([DENG-1736](https://mozilla-hub.atlassian.net/browse/DENG-1736))
|
||||
- BREAKING CHANGE: Dropped support for Python 3.7 ([#638](https://github.com/mozilla/glean_parser/pull/638))
|
||||
- Add official support for Python 3.11+ ([#638](https://github.com/mozilla/glean_parser/pull/638))
|
||||
|
||||
## 10.0.3
|
||||
|
||||
- Warn about empty or TODO-tagged data reviews in the list ([#634](https://github.com/mozilla/glean_parser/pull/634))
|
@ -1,9 +1,9 @@
|
||||
glean_parser/__init__.py,sha256=bJljD052_0y-efcBhYpllICVCXOMHLcXRLNyrvfgt5A,533
|
||||
glean_parser/__main__.py,sha256=7kIBMO-kL7boJxYrKp3CkRr4xX4_ct4BqCiCvtg2jjU,8631
|
||||
glean_parser/__main__.py,sha256=Rw0PpuQtAvdHJMK1YLozeZkc6x1yjeNZwidu4faovdk,8633
|
||||
glean_parser/coverage.py,sha256=2IwC4XMDtDamMkBFoYilmqJzW4gyypq65YVCur8SNas,4405
|
||||
glean_parser/data_review.py,sha256=BweeeTkNNS6HrIDkztawhbDByrk_-Avxpg7YeST3VAs,2152
|
||||
glean_parser/javascript.py,sha256=w4ZhNBHBKWYk0h3t7G0Ud2tR__hRqzn9dlEXNKLdQrA,11230
|
||||
glean_parser/javascript_server.py,sha256=a-mpoSZ_ZnDWtRGKIVxH6NxSUST42yP9vJU85kQcRKE,6004
|
||||
glean_parser/javascript_server.py,sha256=SDV9tPL1uZMyS1VSyo5lOFuNPFHZu-PZxr1vhND-GzM,7971
|
||||
glean_parser/kotlin.py,sha256=5z8_74xlqvHDsedwZhGf1_qb7swPEgIZumkJIuj3ef8,12598
|
||||
glean_parser/lint.py,sha256=STqdgyOhR4Q3fHivSizgn9bOOyqrNHhzjaqyJxz6qzI,19948
|
||||
glean_parser/markdown.py,sha256=GkCr1CrV6mnRQseT6FO1-JJ7Eup8X3lxUfRMBTxXpe4,9066
|
||||
@ -19,26 +19,26 @@ glean_parser/translation_options.py,sha256=Lxzr6G7MP0tC_ZYlZXftS4j0SLiqO-5mGVTEc
|
||||
glean_parser/util.py,sha256=X5YFAU4kWdDJjMsJzXH-QJVSjUJc_qvXktiM-dJSfzo,16004
|
||||
glean_parser/validate_ping.py,sha256=0TNvILH6dtzJDys3W8Kqorw6kk03me73OCUDtpoHcXU,2118
|
||||
glean_parser/schemas/metrics.1-0-0.schema.yaml,sha256=cND3cvi6iBfPUVmtfIBQfGJV9AALpbvN7nu8E33_J-o,19566
|
||||
glean_parser/schemas/metrics.2-0-0.schema.yaml,sha256=wAlXT7hKZDzF1P8yyIftkmIhrcRhJ1XEjZV0FUTIks8,25849
|
||||
glean_parser/schemas/metrics.2-0-0.schema.yaml,sha256=sfrARxefWy1WN5HxUKjwjN8lGobbPds5l7Y46VHfP1g,25849
|
||||
glean_parser/schemas/pings.1-0-0.schema.yaml,sha256=hwCnsKpEysmrmVp-QHGBArEkVY3vaU1rVsxlTwhAzws,4315
|
||||
glean_parser/schemas/pings.2-0-0.schema.yaml,sha256=l-nIuyXJ9-D0X_U6hzGVbhIBhtZDg-rGau-RDrhgpng,4705
|
||||
glean_parser/schemas/tags.1-0-0.schema.yaml,sha256=OGXIJlvvVW1vaqB_NVZnwKeZ-sLlfH57vjBSHbj6DNI,1231
|
||||
glean_parser/templates/data_review.jinja2,sha256=jeYU29T1zLSyu9fKBBFu5BFPfIw8_hmOUXw8RXhRXK8,3287
|
||||
glean_parser/templates/javascript.buildinfo.jinja2,sha256=4mXiZCQIk9if4lxlA05kpSIL4a95IdwGwqle2OqqNAs,474
|
||||
glean_parser/templates/javascript.jinja2,sha256=cT_bG-jC6m4afECXmcsqHwiiHjRuVtJnfv90OD2Mwxw,2669
|
||||
glean_parser/templates/javascript_server.jinja2,sha256=XbYhHWZQ2zkAZyzwLTvfbyV4xLrG97hMh5yRoybF-6c,5773
|
||||
glean_parser/templates/javascript_server.jinja2,sha256=H991yQOKJMwSgM0bLEA-Q5Z15LWsfEPh6bTYz_owSCU,9423
|
||||
glean_parser/templates/kotlin.buildinfo.jinja2,sha256=X0lk2SNu5OIIj2i6mUyF9CWFQIonLgfqkgT5fA-5G6c,920
|
||||
glean_parser/templates/kotlin.geckoview.jinja2,sha256=MJOgtoDXmBjE9pwk-G6T89y36RZuMbDWM_-DBN_gFJo,5099
|
||||
glean_parser/templates/kotlin.jinja2,sha256=3DqUMXJRkmTvSp_5IRyvGmw5iXYWdox7coMFe3YDxcc,5247
|
||||
glean_parser/templates/markdown.jinja2,sha256=vAHHGGm28HRDPd3zO_wQMAUZIuxE9uQ7hl3NpXxcKV4,3425
|
||||
glean_parser/templates/qmldir.jinja2,sha256=m6IGsp-tgTiOfQ7VN8XW6GqX0gJqJkt3B6Pkaul6FVo,156
|
||||
glean_parser/templates/ruby_server.jinja2,sha256=_gcGMe9Gb3eVj7QeXEBRkYBYn3NWK3_K9e0k6jcElNM,6609
|
||||
glean_parser/templates/ruby_server.jinja2,sha256=vm4BEenOqzomQNTLFfMOzlWHARnsWUjTBbnR-v2cadI,6247
|
||||
glean_parser/templates/rust.jinja2,sha256=pdbjq_JGm8XWHsVXk0m2xZ5Pd-Y9T_zxJfZKBoT0ERU,3635
|
||||
glean_parser/templates/swift.jinja2,sha256=NfZdvrG8LGT4H2AWk-vB_GDTMcpW1XZJcApO4OF5AYE,4874
|
||||
glean_parser-10.0.3.dist-info/AUTHORS.md,sha256=yxgj8MioO4wUnrh0gmfb8l3DJJrf-l4HmmEDbQsbbNI,455
|
||||
glean_parser-10.0.3.dist-info/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
|
||||
glean_parser-10.0.3.dist-info/METADATA,sha256=pwF-0xZEus2muTqypVlVlOTV1uz--Bx6chSQaQPrP68,30127
|
||||
glean_parser-10.0.3.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92
|
||||
glean_parser-10.0.3.dist-info/entry_points.txt,sha256=mf9d3sv8BwSjjR58x9KDnpVkONCnv3fPQC2NjJl15Xg,68
|
||||
glean_parser-10.0.3.dist-info/top_level.txt,sha256=q7T3duD-9tYZFyDry6Wv2LcdMsK2jGnzdDFhxWcT2Z8,13
|
||||
glean_parser-10.0.3.dist-info/RECORD,,
|
||||
glean_parser-11.0.1.dist-info/AUTHORS.md,sha256=yxgj8MioO4wUnrh0gmfb8l3DJJrf-l4HmmEDbQsbbNI,455
|
||||
glean_parser-11.0.1.dist-info/LICENSE,sha256=HyVuytGSiAUQ6ErWBHTqt1iSGHhLmlC8fO7jTCuR8dU,16725
|
||||
glean_parser-11.0.1.dist-info/METADATA,sha256=z5yLEYgY4EV1e_cHNQhenhkwK5ryURgljfTfaYK-NYs,30877
|
||||
glean_parser-11.0.1.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
||||
glean_parser-11.0.1.dist-info/entry_points.txt,sha256=mf9d3sv8BwSjjR58x9KDnpVkONCnv3fPQC2NjJl15Xg,68
|
||||
glean_parser-11.0.1.dist-info/top_level.txt,sha256=q7T3duD-9tYZFyDry6Wv2LcdMsK2jGnzdDFhxWcT2Z8,13
|
||||
glean_parser-11.0.1.dist-info/RECORD,,
|
@ -1,5 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.41.3)
|
||||
Generator: bdist_wheel (0.42.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
@ -303,12 +303,14 @@ def coverage(coverage_file, metrics_files, format, output, allow_reserved):
|
||||
)
|
||||
def data_review_request(bug, metrics_files):
|
||||
"""
|
||||
Generate a skeleton Data Review Request for all metrics in metrics_files
|
||||
whose bug_numbers fields contain the provided bug string.
|
||||
Generate a skeleton Data Review Request for all metrics in METRICS_FILES
|
||||
whose bug_numbers fields contain the provided BUG string.
|
||||
|
||||
For example, providing "1694739" matches
|
||||
"https://bugzilla.mozilla.org/show_bug.cgi?id=1694739".
|
||||
To ensure substrings don't match, the provided bug string will match only
|
||||
if it is bounded by non-word characters.
|
||||
|
||||
Prints to stdout.
|
||||
"""
|
||||
sys.exit(mod_data_review.generate(bug, [Path(x) for x in metrics_files]))
|
||||
|
@ -9,14 +9,24 @@ Outputter to generate server Javascript code for collecting events.
|
||||
|
||||
This outputter is different from the rest of the outputters in that the code it
|
||||
generates does not use the Glean SDK. It is meant to be used to collect events
|
||||
using "events as pings" pattern in server-side environments. In these environments
|
||||
SDK assumptions to measurement window and connectivity don't hold.
|
||||
in server-side environments. In these environments SDK assumptions to measurement
|
||||
window and connectivity don't hold.
|
||||
Generated code takes care of assembling pings with metrics, serializing to messages
|
||||
conforming to Glean schema, and logging with mozlog. Then it's the role of the ingestion
|
||||
pipeline to pick the messages up and process.
|
||||
|
||||
Warning: this outputter supports limited set of metrics,
|
||||
see `SUPPORTED_METRIC_TYPES` below.
|
||||
|
||||
There are two patterns for event structure supported in this environment:
|
||||
* Events as `Event` metric type, where we generate a single class per ping with
|
||||
`record{event_name}` method for each event metric. This is recommended to use for new
|
||||
applications as it allows to fully leverage standard Data Platform tools
|
||||
post-ingestion.
|
||||
* Custom pings-as-events, where for each ping we generate a class with a single `record`
|
||||
method, usually with an `event_name` string metric.
|
||||
|
||||
Therefore, unlike in other outputters, here we don't generate classes for each metric.
|
||||
"""
|
||||
from collections import defaultdict
|
||||
from pathlib import Path
|
||||
@ -28,11 +38,14 @@ from . import util
|
||||
|
||||
# Adding a metric here will require updating the `generate_js_metric_type` function
|
||||
# and might require changes to the template.
|
||||
SUPPORTED_METRIC_TYPES = ["string"]
|
||||
SUPPORTED_METRIC_TYPES = ["string", "event"]
|
||||
|
||||
|
||||
def event_class_name(pingName: str) -> str:
|
||||
return util.Camelize(pingName) + "ServerEvent"
|
||||
def event_class_name(ping_name: str, event_metric_exists: bool) -> str:
|
||||
# For compatibility with FxA codebase we don't want to add "Logger" suffix
|
||||
# when custom pings without event metrics are used.
|
||||
suffix = "Logger" if event_metric_exists else ""
|
||||
return util.Camelize(ping_name) + "ServerEvent" + suffix
|
||||
|
||||
|
||||
def generate_metric_name(metric: metrics.Metric) -> str:
|
||||
@ -47,12 +60,20 @@ def generate_js_metric_type(metric: metrics.Metric) -> str:
|
||||
return metric.type
|
||||
|
||||
|
||||
def generate_metric_argument_description(metric: metrics.Metric) -> str:
|
||||
return metric.description.replace("\n", " ").rstrip()
|
||||
def generate_ping_factory_method(ping: str, event_metric_exists: bool) -> str:
|
||||
# `ServerEventLogger` better describes role of the class that this factory
|
||||
# method generates, but for compatibility with existing FxA codebase
|
||||
# we use `Event` suffix if no event metrics are defined.
|
||||
suffix = "ServerEventLogger" if event_metric_exists else "Event"
|
||||
return f"create{util.Camelize(ping)}{suffix}"
|
||||
|
||||
|
||||
def generate_ping_factory_method(ping: str) -> str:
|
||||
return f"create{util.Camelize(ping)}Event"
|
||||
def generate_event_metric_record_function_name(metric: metrics.Metric) -> str:
|
||||
return f"record{util.Camelize(metric.category)}{util.Camelize(metric.name)}"
|
||||
|
||||
|
||||
def clean_string(s: str) -> str:
|
||||
return s.replace("\n", " ").rstrip()
|
||||
|
||||
|
||||
def output(
|
||||
@ -79,24 +100,16 @@ def output(
|
||||
("metric_name", generate_metric_name),
|
||||
("metric_argument_name", generate_metric_argument_name),
|
||||
("js_metric_type", generate_js_metric_type),
|
||||
("metric_argument_description", generate_metric_argument_description),
|
||||
("factory_method", generate_ping_factory_method),
|
||||
(
|
||||
"event_metric_record_function_name",
|
||||
generate_event_metric_record_function_name,
|
||||
),
|
||||
("clean_string", clean_string),
|
||||
),
|
||||
)
|
||||
|
||||
# In this environment we don't use a concept of measurement window for collecting
|
||||
# metrics. Only "events as pings" are supported.
|
||||
# For each ping we generate code which contains all the logic for assembling it
|
||||
# with metrics, serializing, and submitting. Therefore we don't generate classes for
|
||||
# each metric as in standard outputters.
|
||||
PING_METRIC_ERROR_MSG = (
|
||||
" Server-side environment is simplified and this"
|
||||
+ " parser doesn't generate individual metric files. Make sure to pass all"
|
||||
+ " your ping and metric definitions in a single invocation of the parser."
|
||||
)
|
||||
if "pings" not in objs:
|
||||
print("❌ No ping definition found." + PING_METRIC_ERROR_MSG)
|
||||
return
|
||||
event_metric_exists = False
|
||||
|
||||
# Go through all metrics in objs and build a map of
|
||||
# ping->list of metric categories->list of metrics
|
||||
@ -113,11 +126,39 @@ def output(
|
||||
+ " metric type."
|
||||
)
|
||||
continue
|
||||
if metric.type == "event":
|
||||
# This is used in the template - generated code is slightly
|
||||
# different when event metric type is used.
|
||||
event_metric_exists = True
|
||||
for ping in metric.send_in_pings:
|
||||
metrics_by_type = ping_to_metrics[ping]
|
||||
metrics_list = metrics_by_type.setdefault(metric.type, [])
|
||||
metrics_list.append(metric)
|
||||
|
||||
PING_METRIC_ERROR_MSG = (
|
||||
" Server-side environment is simplified and this"
|
||||
+ " parser doesn't generate individual metric files. Make sure to pass all"
|
||||
+ " your ping and metric definitions in a single invocation of the parser."
|
||||
)
|
||||
if "pings" not in objs:
|
||||
# If events are meant to be sent in custom pings, we need to make sure they
|
||||
# are defined. Otherwise we won't have destination tables defined and
|
||||
# submissions won't pass validation at ingestion.
|
||||
if event_metric_exists:
|
||||
if "events" not in ping_to_metrics:
|
||||
# Event metrics can be sent in standard `events` ping
|
||||
# or in custom pings.
|
||||
print(
|
||||
"❌ "
|
||||
+ PING_METRIC_ERROR_MSG
|
||||
+ "\n You need to either send your event metrics in standard"
|
||||
+ " `events` ping or define a custom one."
|
||||
)
|
||||
return
|
||||
else:
|
||||
print("❌ No ping definition found." + PING_METRIC_ERROR_MSG)
|
||||
return
|
||||
|
||||
if not ping_to_metrics:
|
||||
print("❌ No pings with metrics found." + PING_METRIC_ERROR_MSG)
|
||||
return
|
||||
@ -129,6 +170,7 @@ def output(
|
||||
template.render(
|
||||
parser_version=__version__,
|
||||
pings=ping_to_metrics,
|
||||
event_metric_exists=event_metric_exists,
|
||||
lang=lang,
|
||||
)
|
||||
)
|
||||
|
@ -368,7 +368,7 @@ definitions:
|
||||
description: |
|
||||
The acceptable keys on the "extra" object sent with events. This is an
|
||||
object mapping the key to an object containing metadata about the key.
|
||||
A maximum of 15 extra keys is allowed.
|
||||
A maximum of 50 extra keys is allowed.
|
||||
This metadata object has the following keys:
|
||||
|
||||
- `description`: **Required.** A description of the key.
|
||||
@ -390,7 +390,7 @@ definitions:
|
||||
- quantity
|
||||
required:
|
||||
- description
|
||||
maxProperties: 15
|
||||
maxProperties: 50
|
||||
default: {}
|
||||
|
||||
gecko_datapoint:
|
||||
|
@ -17,19 +17,27 @@ import mozlog{% if lang == "typescript" %}, { Logger }{% endif %} from 'mozlog';
|
||||
const GLEAN_EVENT_MOZLOG_TYPE = 'glean-server-event';
|
||||
{% if lang == "typescript" %}
|
||||
type LoggerOptions = { app: string; fmt?: 'heka' };
|
||||
{% if event_metric_exists %}
|
||||
type Event = {
|
||||
category: string;
|
||||
name: string;
|
||||
extra: Record<string, any>;
|
||||
timestamp?: number;
|
||||
};
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
let _logger{% if lang == "typescript" %}: Logger{% endif %};
|
||||
|
||||
{% for ping, metrics_by_type in pings.items() %}
|
||||
class {{ ping|event_class_name }} {
|
||||
class {{ ping|event_class_name(event_metric_exists) }} {
|
||||
{% if lang == "typescript" %}
|
||||
_applicationId: string;
|
||||
_appDisplayVersion: string;
|
||||
_channel: string;
|
||||
{% endif %}
|
||||
/**
|
||||
* Create {{ ping|event_class_name }} instance.
|
||||
* Create {{ ping|event_class_name(event_metric_exists) }} instance.
|
||||
*
|
||||
* @param {string} applicationId - The application ID.
|
||||
* @param {string} appDisplayVersion - The application display version.
|
||||
@ -64,6 +72,9 @@ class {{ ping|event_class_name }} {
|
||||
{% endif %}
|
||||
}
|
||||
}
|
||||
{% if event_metric_exists %}
|
||||
#record({
|
||||
{% else %}
|
||||
/**
|
||||
* Record and submit a server event object.
|
||||
* Event is logged using internal mozlog logger.
|
||||
@ -73,40 +84,60 @@ class {{ ping|event_class_name }} {
|
||||
* information and scrubbed at ingestion.
|
||||
{% for metric_type, metrics in metrics_by_type.items() %}
|
||||
{% for metric in metrics %}
|
||||
* @param { {{-metric|js_metric_type-}} } {{ metric|metric_argument_name }} - {{ metric|metric_argument_description }}.
|
||||
* @param { {{-metric|js_metric_type-}} } {{ metric|metric_argument_name }} - {{ metric.description|clean_string }}.
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
*/
|
||||
record({
|
||||
{% endif %}
|
||||
user_agent,
|
||||
ip_address,
|
||||
{% for metric_type, metrics in metrics_by_type.items() %}
|
||||
{% if metric_type != 'event' %}
|
||||
{% for metric in metrics %}
|
||||
{{ metric|metric_argument_name }},
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if event_metric_exists %}
|
||||
event,
|
||||
{% endif %}
|
||||
{% if lang == "typescript" %}
|
||||
}: {
|
||||
user_agent: string,
|
||||
ip_address: string,
|
||||
{% for metric_type, metrics in metrics_by_type.items() %}
|
||||
{% if metric_type != 'event' %}
|
||||
{% for metric in metrics %}
|
||||
{{ metric|metric_argument_name }}: {{ metric|js_metric_type }};
|
||||
{% endfor %}
|
||||
{{ metric|metric_argument_name }}: {{ metric|js_metric_type }},
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if event_metric_exists %}
|
||||
event: Event
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
}) {
|
||||
const timestamp = new Date().toISOString();
|
||||
const now = new Date();
|
||||
const timestamp = now.toISOString();
|
||||
{% if event_metric_exists %}
|
||||
event.timestamp = now.getTime();
|
||||
{% endif %}
|
||||
const eventPayload = {
|
||||
metrics: {
|
||||
{% for metric_type, metrics in metrics_by_type.items() %}
|
||||
{% if metric_type != 'event' %}
|
||||
{{ metric_type }}: {
|
||||
{% for metric in metrics %}
|
||||
'{{ metric|metric_name }}': {{ metric|metric_argument_name }},
|
||||
{% endfor %}
|
||||
},
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
},
|
||||
{% if event_metric_exists %}
|
||||
events: [event],
|
||||
{% endif %}
|
||||
ping_info: {
|
||||
seq: 0, // this is required, however doesn't seem to be useful in server context
|
||||
start_time: timestamp,
|
||||
@ -140,11 +171,98 @@ class {{ ping|event_class_name }} {
|
||||
// this is similar to how FxA currently logs with mozlog: https://github.com/mozilla/fxa/blob/4c5c702a7fcbf6f8c6b1f175e9172cdd21471eac/packages/fxa-auth-server/lib/log.js#L289
|
||||
_logger.info(GLEAN_EVENT_MOZLOG_TYPE, ping);
|
||||
}
|
||||
{% if event_metric_exists %}
|
||||
{% for event in metrics_by_type["event"] %}
|
||||
/**
|
||||
* Record and submit a {{ event.category }}_{{ event.name }} event:
|
||||
* {{ event.description|clean_string }}
|
||||
* Event is logged using internal mozlog logger.
|
||||
*
|
||||
* @param {string} user_agent - The user agent.
|
||||
* @param {string} ip_address - The IP address. Will be used to decode Geo
|
||||
* information and scrubbed at ingestion.
|
||||
{% for metric_type, metrics in metrics_by_type.items() %}
|
||||
{% if metric_type != 'event' %}
|
||||
{% for metric in metrics %}
|
||||
* @param { {{-metric|js_metric_type-}} } {{ metric|metric_argument_name }} - {{ metric.description|clean_string }}.
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if event.extra_keys %}
|
||||
{% for extra, metadata in event.extra_keys.items() %}
|
||||
* @param { {{-metadata.type-}} } {{ extra }} - {{ metadata.description|clean_string }}.
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
*/
|
||||
{{ event|event_metric_record_function_name }}({
|
||||
user_agent,
|
||||
ip_address,
|
||||
{% for metric_type, metrics in metrics_by_type.items() %}
|
||||
{% if metric_type != 'event' %}
|
||||
{% for metric in metrics %}
|
||||
{{ metric|metric_argument_name }},
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% for extra, metadata in event.extra_keys.items() %}
|
||||
{{ extra }},
|
||||
{% endfor %}
|
||||
{% if lang == "typescript" %}
|
||||
}: {
|
||||
user_agent: string,
|
||||
ip_address: string,
|
||||
{% for metric_type, metrics in metrics_by_type.items() %}
|
||||
{% if metric_type != 'event' %}
|
||||
{% for metric in metrics %}
|
||||
{{ metric|metric_argument_name }}: {{ metric|js_metric_type }},
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% for extra, metadata in event.extra_keys.items() %}
|
||||
{{ extra }}: {{metadata.type}},
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
}) {
|
||||
let event = {
|
||||
'category': '{{ event.category }}',
|
||||
'name': '{{ event.name }}',
|
||||
{% if event.extra_keys %}
|
||||
'extra': {
|
||||
{% for extra, metadata in event.extra_keys.items() %}
|
||||
'{{ extra }}': {{ extra }},
|
||||
{% endfor %}
|
||||
},
|
||||
{% endif %}
|
||||
};
|
||||
this.#record({
|
||||
user_agent,
|
||||
ip_address,
|
||||
{% for metric_type, metrics in metrics_by_type.items() %}
|
||||
{% if metric_type != 'event' %}
|
||||
{% for metric in metrics %}
|
||||
{{ metric|metric_argument_name }},
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
event
|
||||
});
|
||||
}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
}
|
||||
{% endfor %}
|
||||
{% for ping in pings %}
|
||||
|
||||
export const {{ ping|factory_method }} = function ({
|
||||
/**
|
||||
* Factory function that creates an instance of Glean Server Event Logger to
|
||||
* record `{{ ping }}` ping events.
|
||||
* @param {string} applicationId - The application ID.
|
||||
* @param {string} appDisplayVersion - The application display version.
|
||||
* @param {string} channel - The channel.
|
||||
* @param {Object} logger_options - The logger options.
|
||||
* @returns {EventsServerEventLogger} An instance of EventsServerEventLogger.
|
||||
*/
|
||||
export const {{ ping|factory_method(event_metric_exists) }} = function ({
|
||||
applicationId,
|
||||
appDisplayVersion,
|
||||
channel,
|
||||
@ -157,7 +275,7 @@ export const {{ ping|factory_method }} = function ({
|
||||
logger_options: LoggerOptions;
|
||||
{% endif %}
|
||||
}) {
|
||||
return new {{ ping|event_class_name }}(
|
||||
return new {{ ping|event_class_name(event_metric_exists) }}(
|
||||
applicationId,
|
||||
appDisplayVersion,
|
||||
channel,
|
||||
|
@ -12,32 +12,10 @@ Jinja2 template is not. Please file bugs! #}
|
||||
require 'json'
|
||||
require 'securerandom'
|
||||
require 'logger'
|
||||
require 'rbconfig'
|
||||
|
||||
# this will be used for identifying logs that need to forward to Moz Data Pipeline
|
||||
GLEAN_EVENT_MOZLOG_TYPE = 'glean-server-event'
|
||||
|
||||
# helper module to get OS level info for logs
|
||||
module OS
|
||||
def self.name
|
||||
case RbConfig::CONFIG['host_os']
|
||||
|
||||
when /linux/
|
||||
'Linux'
|
||||
when /darwin/
|
||||
'OS X'
|
||||
when /mswin|mingw32|windows/
|
||||
'Windows'
|
||||
when /solaris/
|
||||
'Solaris'
|
||||
when /bsd/
|
||||
'BSD'
|
||||
else
|
||||
RbConfig::CONFIG['host_os']
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
module Glean
|
||||
{% for ping, metrics_by_type in pings.items() %}
|
||||
class {{ ping|ping_class_name }}
|
||||
@ -105,7 +83,7 @@ module Glean
|
||||
'client_info' => {
|
||||
'telemetry_sdk_build' => 'glean_parser v{{ parser_version }}',
|
||||
'first_run_date' => 'Unknown',
|
||||
'os' => OS.name,
|
||||
'os' => 'Unknown',
|
||||
'os_version' => 'Unknown',
|
||||
'architecture' => 'Unknown',
|
||||
'app_build' => 'Unknown',
|
||||
|
@ -2161,7 +2161,6 @@ def resolve_egg_link(path):
|
||||
return next(dist_groups, ())
|
||||
|
||||
|
||||
if hasattr(pkgutil, 'ImpImporter'):
|
||||
register_finder(pkgutil.ImpImporter, find_on_path)
|
||||
|
||||
if hasattr(importlib_machinery, 'FileFinder'):
|
||||
@ -2313,7 +2312,6 @@ def file_ns_handler(importer, path_item, packageName, module):
|
||||
return subpath
|
||||
|
||||
|
||||
if hasattr(pkgutil, 'ImpImporter'):
|
||||
register_namespace_handler(pkgutil.ImpImporter, file_ns_handler)
|
||||
register_namespace_handler(zipimport.zipimporter, file_ns_handler)
|
||||
|
||||
|
19
third_party/python/poetry.lock
generated
vendored
19
third_party/python/poetry.lock
generated
vendored
@ -592,14 +592,14 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "glean-parser"
|
||||
version = "10.0.3"
|
||||
version = "11.0.1"
|
||||
description = "Parser tools for Mozilla's Glean telemetry"
|
||||
category = "main"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
files = [
|
||||
{file = "glean_parser-10.0.3-py3-none-any.whl", hash = "sha256:f8fddd87b24552541318ac037e33750d27d0045131e4f8a60ec13a159fcbdd5c"},
|
||||
{file = "glean_parser-10.0.3.tar.gz", hash = "sha256:d57359629d295f9ee570068a2846966892e3fedb722259ecbcd8cc376d299b51"},
|
||||
{file = "glean_parser-11.0.1-py3-none-any.whl", hash = "sha256:f6991ba1438909d1fb6f96d3efaaef2a92098eceff39d5d998d3bbb170276c6a"},
|
||||
{file = "glean_parser-11.0.1.tar.gz", hash = "sha256:79e523b51b0fddce9f6c6309fa8c64328bb706b2d6c847a53f88a93d01695e43"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@ -1129,6 +1129,7 @@ files = [
|
||||
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
|
||||
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
|
||||
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
|
||||
{file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
|
||||
{file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
|
||||
{file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
|
||||
{file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
|
||||
@ -1136,8 +1137,16 @@ files = [
|
||||
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
|
||||
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
|
||||
{file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
|
||||
{file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
|
||||
{file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
|
||||
{file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
|
||||
{file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
|
||||
{file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
|
||||
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"},
|
||||
{file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
|
||||
{file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
|
||||
{file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
|
||||
{file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
|
||||
{file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
|
||||
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
|
||||
{file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
|
||||
@ -1154,6 +1163,7 @@ files = [
|
||||
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
|
||||
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
|
||||
{file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
|
||||
{file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
|
||||
{file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
|
||||
{file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
|
||||
{file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
|
||||
@ -1161,6 +1171,7 @@ files = [
|
||||
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
|
||||
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
|
||||
{file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
|
||||
{file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
|
||||
{file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
|
||||
{file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
|
||||
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
|
||||
@ -1595,4 +1606,4 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=4.6)", "pytest-black (
|
||||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = "^3.8"
|
||||
content-hash = "d1328039230fe6a6f421e1242613b311774f6702471f55edcc9ba664e6c3df80"
|
||||
content-hash = "8f6e38dcef9aba9437efbfb39d7cce3b0bb2d1ca42fae2aafe56ab86e2ae3084"
|
||||
|
2
third_party/python/requirements.in
vendored
2
third_party/python/requirements.in
vendored
@ -22,7 +22,7 @@ fluent.migrate==0.12.0
|
||||
fluent.syntax==0.19.0
|
||||
# Pin `frozenlist` as it is required for `aiohttp`. Use minimum required version.
|
||||
frozenlist==1.1.1
|
||||
glean_parser==10.0.3
|
||||
glean_parser==11.0.1
|
||||
importlib-metadata==6.0.0
|
||||
# required for compatibility with Flask >= 2 in tools/tryselect/selectors/chooser
|
||||
jinja2==3.1.2
|
||||
|
17
third_party/python/requirements.txt
vendored
17
third_party/python/requirements.txt
vendored
@ -275,9 +275,9 @@ frozenlist==1.1.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
giturlparse==0.10.0 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:04ba1a3a099c3093fa8d24a422913c6a9b2c2cd22bcffc939cf72e3e98f672d7 \
|
||||
--hash=sha256:2595ab291d30717cda8474b874c9fd509f1b9802ad7f6968c36a45e4b13eb337
|
||||
glean-parser==10.0.3 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:d57359629d295f9ee570068a2846966892e3fedb722259ecbcd8cc376d299b51 \
|
||||
--hash=sha256:f8fddd87b24552541318ac037e33750d27d0045131e4f8a60ec13a159fcbdd5c
|
||||
glean-parser==11.0.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:79e523b51b0fddce9f6c6309fa8c64328bb706b2d6c847a53f88a93d01695e43 \
|
||||
--hash=sha256:f6991ba1438909d1fb6f96d3efaaef2a92098eceff39d5d998d3bbb170276c6a
|
||||
idna==2.10 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6 \
|
||||
--hash=sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0
|
||||
@ -460,7 +460,9 @@ python-slugify==8.0.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:70ca6ea68fe63ecc8fa4fcf00ae651fc8a5d02d93dcd12ae6d4fc7ca46c4d395 \
|
||||
--hash=sha256:ce0d46ddb668b3be82f4ed5e503dbc33dd815d83e2eb6824211310d3fb172a27
|
||||
pyyaml==6.0.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \
|
||||
--hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \
|
||||
--hash=sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df \
|
||||
--hash=sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741 \
|
||||
--hash=sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206 \
|
||||
--hash=sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27 \
|
||||
@ -468,7 +470,10 @@ pyyaml==6.0.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62 \
|
||||
--hash=sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98 \
|
||||
--hash=sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696 \
|
||||
--hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \
|
||||
--hash=sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 \
|
||||
--hash=sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d \
|
||||
--hash=sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6 \
|
||||
--hash=sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867 \
|
||||
--hash=sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47 \
|
||||
--hash=sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486 \
|
||||
@ -476,11 +481,15 @@ pyyaml==6.0.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3 \
|
||||
--hash=sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007 \
|
||||
--hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \
|
||||
--hash=sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 \
|
||||
--hash=sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c \
|
||||
--hash=sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735 \
|
||||
--hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \
|
||||
--hash=sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28 \
|
||||
--hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \
|
||||
--hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \
|
||||
--hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \
|
||||
--hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \
|
||||
--hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \
|
||||
--hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \
|
||||
--hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \
|
||||
@ -493,7 +502,9 @@ pyyaml==6.0.1 ; python_version >= "3.8" and python_version < "4.0" \
|
||||
--hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \
|
||||
--hash=sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859 \
|
||||
--hash=sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673 \
|
||||
--hash=sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54 \
|
||||
--hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \
|
||||
--hash=sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b \
|
||||
--hash=sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab \
|
||||
--hash=sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa \
|
||||
--hash=sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c \
|
||||
|
File diff suppressed because one or more lines are too long
6
third_party/rust/glean-core/Cargo.toml
vendored
6
third_party/rust/glean-core/Cargo.toml
vendored
@ -11,9 +11,9 @@
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
rust-version = "1.66"
|
||||
name = "glean-core"
|
||||
version = "56.0.0"
|
||||
version = "56.1.0"
|
||||
authors = [
|
||||
"Jan-Erik Rediger <jrediger@mozilla.com>",
|
||||
"The Glean Team <glean-team@mozilla.com>",
|
||||
@ -35,7 +35,7 @@ license = "MPL-2.0"
|
||||
repository = "https://github.com/mozilla/glean"
|
||||
|
||||
[package.metadata.glean]
|
||||
glean-parser = "10.0.0"
|
||||
glean-parser = "11.0.1"
|
||||
|
||||
[dependencies.bincode]
|
||||
version = "1.2.1"
|
||||
|
10
third_party/rust/glean-core/src/core/mod.rs
vendored
10
third_party/rust/glean-core/src/core/mod.rs
vendored
@ -381,6 +381,16 @@ impl Glean {
|
||||
.size
|
||||
.accumulate_sync(self, size.get() as i64)
|
||||
}
|
||||
|
||||
if let Some(rkv_load_state) = self
|
||||
.data_store
|
||||
.as_ref()
|
||||
.and_then(|database| database.rkv_load_state())
|
||||
{
|
||||
self.database_metrics
|
||||
.rkv_load_error
|
||||
.set_sync(self, rkv_load_state)
|
||||
}
|
||||
}
|
||||
|
||||
/// Signals that the environment is ready to submit pings.
|
||||
|
54
third_party/rust/glean-core/src/database/mod.rs
vendored
54
third_party/rust/glean-core/src/database/mod.rs
vendored
@ -38,7 +38,13 @@ pub type SingleStore = rkv::SingleStore<rkv::backend::SafeModeDatabase>;
|
||||
/// cbindgen:ignore
|
||||
pub type Writer<'t> = rkv::Writer<rkv::backend::SafeModeRwTransaction<'t>>;
|
||||
|
||||
pub fn rkv_new(path: &Path) -> std::result::Result<Rkv, rkv::StoreError> {
|
||||
#[derive(Debug)]
|
||||
pub enum RkvLoadState {
|
||||
Ok,
|
||||
Err(rkv::StoreError),
|
||||
}
|
||||
|
||||
pub fn rkv_new(path: &Path) -> std::result::Result<(Rkv, RkvLoadState), rkv::StoreError> {
|
||||
match Rkv::new::<rkv::backend::SafeMode>(path) {
|
||||
// An invalid file can mean:
|
||||
// 1. An empty file.
|
||||
@ -50,15 +56,20 @@ pub fn rkv_new(path: &Path) -> std::result::Result<Rkv, rkv::StoreError> {
|
||||
let safebin = path.join("data.safe.bin");
|
||||
fs::remove_file(safebin).map_err(|_| rkv::StoreError::FileInvalid)?;
|
||||
// Now try again, we only handle that error once.
|
||||
Rkv::new::<rkv::backend::SafeMode>(path)
|
||||
let rkv = Rkv::new::<rkv::backend::SafeMode>(path)?;
|
||||
Ok((rkv, RkvLoadState::Err(rkv::StoreError::FileInvalid)))
|
||||
}
|
||||
Err(rkv::StoreError::DatabaseCorrupted) => {
|
||||
let safebin = path.join("data.safe.bin");
|
||||
fs::remove_file(safebin).map_err(|_| rkv::StoreError::DatabaseCorrupted)?;
|
||||
// Try again, only allowing the error once.
|
||||
Rkv::new::<rkv::backend::SafeMode>(path)
|
||||
let rkv = Rkv::new::<rkv::backend::SafeMode>(path)?;
|
||||
Ok((rkv, RkvLoadState::Err(rkv::StoreError::DatabaseCorrupted)))
|
||||
}
|
||||
other => {
|
||||
let rkv = other?;
|
||||
Ok((rkv, RkvLoadState::Ok))
|
||||
}
|
||||
other => other,
|
||||
}
|
||||
}
|
||||
|
||||
@ -173,8 +184,11 @@ pub struct Database {
|
||||
/// so as to persist them to disk using rkv in bulk on demand.
|
||||
ping_lifetime_data: Option<RwLock<BTreeMap<String, Metric>>>,
|
||||
|
||||
// Initial file size when opening the database.
|
||||
/// Initial file size when opening the database.
|
||||
file_size: Option<NonZeroU64>,
|
||||
|
||||
/// RKV load state
|
||||
rkv_load_state: RkvLoadState,
|
||||
}
|
||||
|
||||
impl std::fmt::Debug for Database {
|
||||
@ -232,7 +246,7 @@ impl Database {
|
||||
log::debug!("Database path: {:?}", path.display());
|
||||
let file_size = database_size(&path);
|
||||
|
||||
let rkv = Self::open_rkv(&path)?;
|
||||
let (rkv, rkv_load_state) = Self::open_rkv(&path)?;
|
||||
let user_store = rkv.open_single(Lifetime::User.as_str(), StoreOptions::create())?;
|
||||
let ping_store = rkv.open_single(Lifetime::Ping.as_str(), StoreOptions::create())?;
|
||||
let application_store =
|
||||
@ -250,6 +264,7 @@ impl Database {
|
||||
application_store,
|
||||
ping_lifetime_data,
|
||||
file_size,
|
||||
rkv_load_state,
|
||||
};
|
||||
|
||||
db.load_ping_lifetime_data();
|
||||
@ -262,6 +277,15 @@ impl Database {
|
||||
self.file_size
|
||||
}
|
||||
|
||||
/// Get the rkv load state.
|
||||
pub fn rkv_load_state(&self) -> Option<String> {
|
||||
if let RkvLoadState::Err(e) = &self.rkv_load_state {
|
||||
Some(e.to_string())
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
fn get_store(&self, lifetime: Lifetime) -> &SingleStore {
|
||||
match lifetime {
|
||||
Lifetime::User => &self.user_store,
|
||||
@ -271,14 +295,14 @@ impl Database {
|
||||
}
|
||||
|
||||
/// Creates the storage directories and inits rkv.
|
||||
fn open_rkv(path: &Path) -> Result<Rkv> {
|
||||
fn open_rkv(path: &Path) -> Result<(Rkv, RkvLoadState)> {
|
||||
fs::create_dir_all(path)?;
|
||||
|
||||
let rkv = rkv_new(path)?;
|
||||
let (rkv, load_state) = rkv_new(path)?;
|
||||
migrate(path, &rkv);
|
||||
|
||||
log::info!("Database initialized");
|
||||
Ok(rkv)
|
||||
Ok((rkv, load_state))
|
||||
}
|
||||
|
||||
/// Build the key of the final location of the data in the database.
|
||||
@ -1484,9 +1508,13 @@ mod test {
|
||||
let f = File::create(safebin).expect("create database file");
|
||||
drop(f);
|
||||
|
||||
Database::new(dir.path(), false).unwrap();
|
||||
let db = Database::new(dir.path(), false).unwrap();
|
||||
|
||||
assert!(dir.path().exists());
|
||||
assert!(
|
||||
matches!(db.rkv_load_state, RkvLoadState::Err(_)),
|
||||
"Load error recorded"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1501,9 +1529,13 @@ mod test {
|
||||
let safebin = database_dir.join("data.safe.bin");
|
||||
fs::write(safebin, "<broken>").expect("write to database file");
|
||||
|
||||
Database::new(dir.path(), false).unwrap();
|
||||
let db = Database::new(dir.path(), false).unwrap();
|
||||
|
||||
assert!(dir.path().exists());
|
||||
assert!(
|
||||
matches!(db.rkv_load_state, RkvLoadState::Err(_)),
|
||||
"Load error recorded"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -261,6 +261,9 @@ impl UploadMetrics {
|
||||
#[derive(Debug)]
|
||||
pub struct DatabaseMetrics {
|
||||
pub size: MemoryDistributionMetric,
|
||||
|
||||
/// RKV's load result, indicating success or relaying the detected error.
|
||||
pub rkv_load_error: StringMetric,
|
||||
}
|
||||
|
||||
impl DatabaseMetrics {
|
||||
@ -277,6 +280,15 @@ impl DatabaseMetrics {
|
||||
},
|
||||
MemoryUnit::Byte,
|
||||
),
|
||||
|
||||
rkv_load_error: StringMetric::new(CommonMetricData {
|
||||
name: "rkv_load_error".into(),
|
||||
category: "glean.error".into(),
|
||||
send_in_pings: vec!["metrics".into()],
|
||||
lifetime: Lifetime::Ping,
|
||||
disabled: false,
|
||||
dynamic_label: None,
|
||||
}),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1077,11 +1077,13 @@ fn records_database_file_size() {
|
||||
let dir = tempfile::tempdir().unwrap();
|
||||
let tmpname = dir.path().display().to_string();
|
||||
|
||||
// Initialize Glean once to ensure we create the database.
|
||||
// Initialize Glean once to ensure we create the database and did not error.
|
||||
let glean = Glean::with_options(&tmpname, GLOBAL_APPLICATION_ID, true);
|
||||
let database_size = &glean.database_metrics.size;
|
||||
let data = database_size.get_value(&glean, "metrics");
|
||||
|
||||
assert!(data.is_none());
|
||||
|
||||
drop(glean);
|
||||
|
||||
// Initialize Glean again to record file size.
|
||||
@ -1094,6 +1096,11 @@ fn records_database_file_size() {
|
||||
|
||||
// We should see the database containing some data.
|
||||
assert!(data.sum > 0);
|
||||
|
||||
let rkv_load_state = &glean.database_metrics.rkv_load_error;
|
||||
let rkv_load_error = rkv_load_state.get_value(&glean, "metrics");
|
||||
|
||||
assert_eq!(rkv_load_error, None);
|
||||
}
|
||||
|
||||
#[cfg(not(target_os = "windows"))]
|
||||
|
22
third_party/rust/glean-core/src/ping/mod.rs
vendored
22
third_party/rust/glean-core/src/ping/mod.rs
vendored
@ -309,28 +309,6 @@ impl PingMaker {
|
||||
})
|
||||
}
|
||||
|
||||
/// Collects a snapshot for the given ping from storage and attach required meta information.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `glean` - the [`Glean`] instance to collect data from.
|
||||
/// * `ping` - the ping to collect for.
|
||||
/// * `reason` - an optional reason code to include in the ping.
|
||||
///
|
||||
/// # Returns
|
||||
///
|
||||
/// A fully assembled ping payload in a string encoded as JSON.
|
||||
/// If there is no data stored for the ping, `None` is returned.
|
||||
pub fn collect_string(
|
||||
&self,
|
||||
glean: &Glean,
|
||||
ping: &PingType,
|
||||
reason: Option<&str>,
|
||||
) -> Option<String> {
|
||||
self.collect(glean, ping, reason, "", "")
|
||||
.map(|ping| ::serde_json::to_string_pretty(&ping.content).unwrap())
|
||||
}
|
||||
|
||||
/// Gets the path to a directory for ping storage.
|
||||
///
|
||||
/// The directory will be created inside the `data_path`.
|
||||
|
2
third_party/rust/glean/.cargo-checksum.json
vendored
2
third_party/rust/glean/.cargo-checksum.json
vendored
@ -1 +1 @@
|
||||
{"files":{"Cargo.toml":"74decb71ef8b82a2fa24b7d0073ce8833b9703a139c2555e7d50162de2414f13","LICENSE":"1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5","README.md":"5627cc81e6187ab6c2b4dff061af16d559edcab64ba786bac39daa69c703c595","src/common_test.rs":"de47b53dcca37985c0a2b8c02daecbf32309aa54f5a4dd9290719c2c1fd0fa55","src/configuration.rs":"186b9d92e48f2f34f1ea51023ad83c9d7abec97bcb0b862641bcb79a93c97d9e","src/core_metrics.rs":"fef8fb4e5fa57c179836c6eb2cf59278fe3b8b036dbe57b0ff02971b4acd822f","src/lib.rs":"ffbfb09082bc7c758fcfa974226c7b7da75c88f259526a9ba085c511e1db1fa1","src/net/http_uploader.rs":"43812a70d19a38e8d7a093c8076c2b6345372c3c861b0f3511428762700a65e0","src/net/mod.rs":"612a9f13ade0b202c8762bccc7b5dc288101cb3820e47be2755331911a221c55","src/private/event.rs":"d7c70c02648584c19c73af89e5180d3c6153c911f2c6830f7d1599b18d6150eb","src/private/mod.rs":"eb8fe4e588bb32a54617324db39319920c627e6fc23c23cf4da5c17c63e0afed","src/private/ping.rs":"da7545b8fc3b8cbaa8f598dc18fa4ba7c499573c360e8de6e1714d38dd4a665d","src/system.rs":"6eae5b41c15eba9cad6dbd116abe3519ee3e1fe034e79bdd692b029829a8c384","src/test.rs":"3ff6cf151f416e7a8d0f1b54ff28360ad7ebd3dcf47df02c08a8039702d636d9","tests/common/mod.rs":"08fb9483d9b6ed9fe873b4395245166ae8a15263be750c7a8e298c41d9604745","tests/init_fails.rs":"96bbb67ec64976f505fc05eb2c2e101f06c11bd2eaf6a0c6383b1a3e05a1cf4b","tests/never_init.rs":"2cf13a67b34cda8447f489cf3755eba0595978d242d29025670f9bb7c1025937","tests/no_time_to_init.rs":"5fd92258e3fb0302c7f8ab1dee374ece7343cc727206d9da134442bca746b88d","tests/overflowing_preinit.rs":"7ad4b2274dd9240b53430859a4eb1d2597cf508a5a678333f3d3abbadd2ed4a7","tests/persist_ping_lifetime.rs":"81415dc1d74743f02269f0d0dfa524003147056853f080276972e64a0b761d3c","tests/persist_ping_lifetime_nopanic.rs":"18379d3ffbf4a2c8c684c04ff7a0660b86dfbbb447db2d24dfed6073cb7ddf8f","tests/schema.rs":"e611cc168b648b5f515c54873c71b3e5e86431afa2aaff94581eeeb4f1d4935d","tests/simple.rs":"3a762995c06c0adc5adb94ad9c37e41dbbcf08a96b87bc20a449240fa0d93b0c","tests/test-shutdown-blocking.sh":"9b16a01c190c7062474dd92182298a3d9a27928c8fa990340fdd798e6cdb7ab2","tests/test-thread-crashing.sh":"ff1bc8e5d7e4ba3a10d0d38bef222db8bfba469e7d30e45b1053d177a4084f09","tests/upload_timing.rs":"4100ddba97cad28e1abfeb1492dfff61d151a67360392393d6f90d891b3e86be"},"package":"4bd4421c9e77e098f774ce712128179069dd6a56904d3b95c9cf35b8418e3d6a"}
|
||||
{"files":{"Cargo.toml":"2e86b801bfa27e59ddbe046a773d7ba937df8cef968e6d0c55ed7f534a77806e","LICENSE":"1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5","README.md":"5627cc81e6187ab6c2b4dff061af16d559edcab64ba786bac39daa69c703c595","src/common_test.rs":"de47b53dcca37985c0a2b8c02daecbf32309aa54f5a4dd9290719c2c1fd0fa55","src/configuration.rs":"186b9d92e48f2f34f1ea51023ad83c9d7abec97bcb0b862641bcb79a93c97d9e","src/core_metrics.rs":"fef8fb4e5fa57c179836c6eb2cf59278fe3b8b036dbe57b0ff02971b4acd822f","src/lib.rs":"ffbfb09082bc7c758fcfa974226c7b7da75c88f259526a9ba085c511e1db1fa1","src/net/http_uploader.rs":"43812a70d19a38e8d7a093c8076c2b6345372c3c861b0f3511428762700a65e0","src/net/mod.rs":"612a9f13ade0b202c8762bccc7b5dc288101cb3820e47be2755331911a221c55","src/private/event.rs":"d7c70c02648584c19c73af89e5180d3c6153c911f2c6830f7d1599b18d6150eb","src/private/mod.rs":"eb8fe4e588bb32a54617324db39319920c627e6fc23c23cf4da5c17c63e0afed","src/private/ping.rs":"da7545b8fc3b8cbaa8f598dc18fa4ba7c499573c360e8de6e1714d38dd4a665d","src/system.rs":"6eae5b41c15eba9cad6dbd116abe3519ee3e1fe034e79bdd692b029829a8c384","src/test.rs":"3ff6cf151f416e7a8d0f1b54ff28360ad7ebd3dcf47df02c08a8039702d636d9","tests/common/mod.rs":"08fb9483d9b6ed9fe873b4395245166ae8a15263be750c7a8e298c41d9604745","tests/init_fails.rs":"96bbb67ec64976f505fc05eb2c2e101f06c11bd2eaf6a0c6383b1a3e05a1cf4b","tests/never_init.rs":"2cf13a67b34cda8447f489cf3755eba0595978d242d29025670f9bb7c1025937","tests/no_time_to_init.rs":"5fd92258e3fb0302c7f8ab1dee374ece7343cc727206d9da134442bca746b88d","tests/overflowing_preinit.rs":"7ad4b2274dd9240b53430859a4eb1d2597cf508a5a678333f3d3abbadd2ed4a7","tests/persist_ping_lifetime.rs":"81415dc1d74743f02269f0d0dfa524003147056853f080276972e64a0b761d3c","tests/persist_ping_lifetime_nopanic.rs":"18379d3ffbf4a2c8c684c04ff7a0660b86dfbbb447db2d24dfed6073cb7ddf8f","tests/schema.rs":"e611cc168b648b5f515c54873c71b3e5e86431afa2aaff94581eeeb4f1d4935d","tests/simple.rs":"3a762995c06c0adc5adb94ad9c37e41dbbcf08a96b87bc20a449240fa0d93b0c","tests/test-shutdown-blocking.sh":"9b16a01c190c7062474dd92182298a3d9a27928c8fa990340fdd798e6cdb7ab2","tests/test-thread-crashing.sh":"ff1bc8e5d7e4ba3a10d0d38bef222db8bfba469e7d30e45b1053d177a4084f09","tests/upload_timing.rs":"4100ddba97cad28e1abfeb1492dfff61d151a67360392393d6f90d891b3e86be"},"package":"e12e51799c1e40ba51f24e0ff232d35ea321403920bea31dc11de1afaeb541ef"}
|
6
third_party/rust/glean/Cargo.toml
vendored
6
third_party/rust/glean/Cargo.toml
vendored
@ -11,9 +11,9 @@
|
||||
|
||||
[package]
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
rust-version = "1.66"
|
||||
name = "glean"
|
||||
version = "56.0.0"
|
||||
version = "56.1.0"
|
||||
authors = [
|
||||
"Jan-Erik Rediger <jrediger@mozilla.com>",
|
||||
"The Glean Team <glean-team@mozilla.com>",
|
||||
@ -42,7 +42,7 @@ features = ["serde"]
|
||||
version = "0.5"
|
||||
|
||||
[dependencies.glean-core]
|
||||
version = "56.0.0"
|
||||
version = "56.1.0"
|
||||
|
||||
[dependencies.inherent]
|
||||
version = "1"
|
||||
|
@ -6,7 +6,7 @@ edition = "2018"
|
||||
license = "MPL-2.0"
|
||||
|
||||
[dependencies]
|
||||
glean = "56.0.0"
|
||||
glean = "56.1.0"
|
||||
log = "0.4"
|
||||
nserror = { path = "../../../xpcom/rust/nserror" }
|
||||
nsstring = { path = "../../../xpcom/rust/nsstring" }
|
||||
|
@ -9,7 +9,7 @@ license = "MPL-2.0"
|
||||
[dependencies]
|
||||
bincode = "1.0"
|
||||
chrono = "0.4.10"
|
||||
glean = "56.0.0"
|
||||
glean = "56.1.0"
|
||||
inherent = "1.0.0"
|
||||
log = "0.4"
|
||||
nsstring = { path = "../../../../xpcom/rust/nsstring", optional = true }
|
||||
|
Loading…
Reference in New Issue
Block a user