Backed out changeset 22f47c90fd5d (bug 1956123) Backed out changeset 6522ae70b658 (bug 1956897) Backed out changeset 806db3f9c36c (bug 1950665) Backed out changeset bf72ab72dfa6 (bug 1953191) Backed out changeset d229188b7203 (bug 1953191) Backed out changeset d73eaaafd097 (bug 1953191) Backed out changeset 592d875cb61b (bug 1950665)
Glean SDK
The Glean SDK is a modern approach for a Telemetry library and is part of the Glean project.
glean-core
This library provides the core functionality of the Glean SDK, including implementations of all metric types, the ping serializer and the storage layer. It's used in all platform-specific wrappers.
It's not intended to be used by users directly. Each supported platform has a specific Glean package with a nicer API. A nice Rust API will be provided by the Glean crate.
Documentation
All documentation is available online:
Usage
use glean_core::{Glean, Configuration, CommonMetricData, metrics::*};
let cfg = Configuration {
data_path: "/tmp/glean".into(),
application_id: "glean.sample.app".into(),
upload_enabled: true,
max_events: None,
};
let mut glean = Glean::new(cfg).unwrap();
let ping = PingType::new("sample", true, true, vec![]);
glean.register_ping_type(&ping);
let call_counter: CounterMetric = CounterMetric::new(CommonMetricData {
name: "calls".into(),
category: "local".into(),
send_in_pings: vec!["sample".into()],
..Default::default()
});
call_counter.add(&glean, 1);
glean.submit_ping(&ping, None).unwrap();
License
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/