Files
tubestation/third_party/rust/glean-core
Alexandru Marc 7bee8ec457 Backed out 7 changesets (bug 1950665, bug 1956897, bug 1956123, bug 1953191) for causing fenix btime failures CLOSED TREE
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)
2025-03-28 19:28:52 +02:00
..

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/