Boolean
Boolean metrics are used for reporting simple flags.
Recording API
set
Sets a boolean metric to a specific value.
import org.mozilla.yourApplication.GleanMetrics.Flags
Flags.a11yEnabled.set(System.isAccesibilityEnabled())
import org.mozilla.yourApplication.GleanMetrics.Flags;
Flags.INSTANCE.a11yEnabled().set(System.isAccessibilityEnabled());
Flags.a11yEnabled.set(self.isAccessibilityEnabled)
from glean import load_metrics
metrics = load_metrics("metrics.yaml")
metrics.flags.a11y_enabled.set(is_accessibility_enabled())
use glean_metrics::flags;
flags::a11y_enabled.set(system.is_accessibility_enabled());
import * as flags from "./path/to/generated/files/flags.js";
flags.a11yEnabled.set(this.isAccessibilityEnabled());
C++
#include "mozilla/glean/GleanMetrics.h"
mozilla::glean::flags::a11y_enabled.Set(false);
JavaScript
Glean.flags.a11yEnabled.set(false);
Recorded errors
invalid_type
: if a non-boolean value is given (JavaScript only).
Testing API
testGetValue
Gets the recorded value for a given boolean metric.
Returns true
or false
if data is stored.
Returns a language-specific empty/null value if no data is stored.
Has an optional argument to specify the name of the ping you wish to retrieve data from, except
in Rust where it's required. None
or no argument will default to the first value found for send_in_pings
.
import org.mozilla.yourApplication.GleanMetrics.Flags
assertTrue(Flags.a11yEnabled.testGetValue())
import org.mozilla.yourApplication.GleanMetrics.Flags;
assertTrue(Flags.INSTANCE.a11yEnabled().testGetValue());
XCTAssertTrue(Flags.a11yEnabled.testGetValue())
from glean import load_metrics
metrics = load_metrics("metrics.yaml")
assert True is metrics.flags.a11y_enabled.test_get_value()
use glean_metrics::flags;
assert!(flags::a11y_enabled.test_get_value(None).unwrap());
import * as flags from "./path/to/generated/files/flags.js";
assert(await flags.a11yEnabled.testGetValue());
C++
#include "mozilla/glean/GleanMetrics.h"
ASSERT_EQ(false, mozilla::glean::flags::a11y_enabled.TestGetValue().value());
JavaScript
Assert.equal(false, Glean.flags.a11yEnabled.testGetValue());
testGetNumRecordedErrors
Gets the number of errors recorded for a given boolean metric.
import org.mozilla.yourApplication.GleanMetrics.Flags
assertEquals(
0, Flags.a11yEnabled.testGetNumRecordedErrors(ErrorType.INVALID_VALUE)
)
import org.mozilla.yourApplication.GleanMetrics.Flags;
assertEquals(
0, Flags.INSTANCE.a11yEnabled().testGetNumRecordedErrors(ErrorType.INVALID_VALUE)
);
XCTAssertEqual(0, Flags.a11yEnabled.testGetNumRecordedErrors(.invalidValue))
assert 0 == metrics.flags.a11y_enabled.test_get_num_recorded_errors(
ErrorType.INVALID_VALUE
)
use glean::ErrorType;
use glean_metrics::flags;
assert_eq!(
0,
flags::a11y_enabled.test_get_num_recorded_errors(
ErrorType::InvalidValue
)
);
Metric parameters
Example boolean metric definition:
flags:
a11y_enabled:
type: boolean
description: >
Records whether a11y is enabled on the device.
bugs:
- https://bugzilla.mozilla.org/000000
data_reviews:
- https://bugzilla.mozilla.org/show_bug.cgi?id=000000#c3
notification_emails:
- me@mozilla.com
expires: 2020-10-01
For a full reference on metrics parameters common to all metric types, refer to the metrics YAML registry format reference page.
Extra metric parameters
N/A
Data questions
- Is accessibility enabled?