summaryrefslogtreecommitdiffstats
path: root/third_party/rust/glean-core/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/glean-core/README.md')
-rw-r--r--third_party/rust/glean-core/README.md54
1 files changed, 54 insertions, 0 deletions
diff --git a/third_party/rust/glean-core/README.md b/third_party/rust/glean-core/README.md
new file mode 100644
index 0000000000..68868f2565
--- /dev/null
+++ b/third_party/rust/glean-core/README.md
@@ -0,0 +1,54 @@
+# Glean SDK
+
+The `Glean SDK` is a modern approach for a Telemetry library and is part of the [Glean project](https://docs.telemetry.mozilla.org/concepts/glean/glean.html).
+
+## `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](https://crates.io/crates/glean) crate.
+
+## Documentation
+
+All documentation is available online:
+
+* [The Glean SDK Book][book]
+* [API documentation][apidocs]
+
+[book]: https://mozilla.github.io/glean/
+[apidocs]: https://mozilla.github.io/glean/docs/glean_core/index.html
+
+## Usage
+
+```rust
+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/