Crates.io | glean-core |
lib.rs | glean-core |
version | 63.0.0 |
source | src |
created_at | 2019-09-24 13:42:48.17546 |
updated_at | 2024-11-28 12:34:00.48578 |
description | A modern Telemetry library |
homepage | |
repository | https://github.com/mozilla/glean |
max_upload_size | |
id | 167282 |
size | 967,683 |
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.
All documentation is available online:
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();
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/