probeinfo_api.yaml (1,067 lines of code) (raw):
---
# This file is used both to generate API docs and as the source for schema
# definitions. Note that OpenAPI has a concept of component schemas that is
# very similar to, but not quite JSON Schema. We use a standard jsonschema
# validation library in this codebase, so we need to be careful to keep the
# schema definitions here to the subset supported by both JSON schema and
# OpenAPI. There are some comments below to describe the few places where
# that becomes an issue.
# Docs for supported keywords:
# https://swagger.io/docs/specification/data-models/keywords/
# Docs for ReDoc-specific keywords (x-*):
# https://github.com/Redocly/redoc#configuration
openapi: "3.0.3"
info:
title: "Probe-Info Service API"
description: |
Mozilla's [probe-scraper machinery](https://github.com/mozilla/probe-scraper)
stores its output as JSON files in S3, exposed to the web under
probeinfo.telemetry.mozilla.org. These API docs are automatically
generated from the schema definitions in probe-scraper.
servers:
- url: https://probeinfo.telemetry.mozilla.org
tags:
- name: library
x-displayName: The repositories.yaml Library Format
description: |
<SchemaDefinition schemaRef="#/components/schemas/LibraryYaml" />
- name: application
x-displayName: The repositories.yaml Application Format
description: |
<SchemaDefinition schemaRef="#/components/schemas/ApplicationYaml" />
- name: telemetry
x-displayName: v1 Legacy telemetry endpoints
- name: v1
x-displayName: v1 Glean probeinfo endpoints
- name: v2
x-displayName: v2 Glean probeinfo endpoints
description: |
**⚠** The v2 API is in-development and subject to change without notice. **Do not** depend on it in production!
x-tagGroups:
- name: Input Formats
tags:
- library
- application
- name: API
tags:
- telemetry
- v1
- v2
paths:
/firefox/general:
get:
summary: "Telemetry scraping general properties"
tags:
- telemetry
description: |
Provides general properties related to the scraping process.
operationId: "getGeneral"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/GeneralFile"
/firefox/revisions:
get:
summary: "Revision hashes listing"
tags:
- telemetry
description: |
Contains the revision hashes of the changesets for the probe files that were scraped.
These hashes are mapped to a human-readable version string.
operationId: "getGeneral"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/RevisionsFile"
example:
$ref: "#/components/examples/RevisionsFile"
/firefox/{channel}/main/all_probes:
get:
summary: "Probe listing"
tags:
- telemetry
description: |
Refer to the [Telemetry data collection documentation](https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/collection/index.html) for a detailed explanation of the field information reported for each probe (e.g. `cpp_guard`).
operationId: "getMetrics"
parameters:
- name: channel
in: path
description: Firefox application channel
required: true
schema:
type: string
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/TelemetryProbesFile"
example:
$ref: "#/components/examples/TelemetryProbesFile"
/glean/{v1_name}/general:
get:
summary: "Glean repo general properties"
tags:
- v1
description: |
Provides general properties related to the scraping process.
operationId: "getGeneral"
parameters:
- name: v1_name
in: path
description: v1_name from repositories.yaml
required: true
schema:
type: string
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/GeneralFile"
/glean/{v1_name}/metrics:
get:
summary: "Glean repo metrics"
tags:
- v1
description: ""
operationId: "getMetrics"
parameters:
- name: v1_name
in: path
description: v1_name from repositories.yaml
required: true
schema:
type: string
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/GleanMetricsFile"
example:
$ref: "#/components/examples/GleanMetricsFile"
/glean/{v1_name}/dependencies:
get:
summary: "Glean repo dependencies"
tags:
- v1
description: |
Provides information about the dependencies of an application.
Each entry in the top-level object represents a dependency of the application.
operationId: "getDependencies"
parameters:
- name: v1_name
in: path
description: v1_name from repositories.yaml
required: true
schema:
type: string
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/DependenciesFile"
example:
$ref: "#/components/examples/DependenciesFile"
/glean/repositories:
get:
summary: "List Glean repositories"
tags:
- v1
description: "Includes both applications and libraries"
operationId: "getRepos"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
$ref: "#/components/schemas/RepositoriesV1"
/v2/glean/app-listings:
get:
summary: "v2 Glean app listings"
tags:
- v2
description: |
Flattened view of all Glean app listings (one entry per `app_id`). No libraries are included, and this will eventually link to new v2 per-app endpoints that include information pulled from dependencies.
**⚠** The v2 API is in-development and subject to change without notice. **Do not** depend on it in production!
operationId: "getAppListings"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/AppListing"
/v2/glean/library-variants:
get:
summary: "v2 Glean library variants"
tags:
- v2
description: |
Flattened view of all Glean library variant (one entry per `dependency_name`).
**⚠** The v2 API is in-development and subject to change without notice. **Do not** depend on it in production!
operationId: "getLibraryVariants"
responses:
"200":
description: "successful operation"
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/LibraryVariant"
components:
schemas:
RepositoriesYamlV1:
type: object
# OpenAPI validation does not support propertyNames, so we relax this.
# But we validate these names before downgrading to the v1 format anyway.
# propertyNames:
# pattern: "^[a-z][a-z0-9-]{0,29}$"
additionalProperties:
type: object
additionalProperties: false
required:
- app_id
- description
- url
- notification_emails
properties:
app_id:
type: string
pattern: "^[a-z][a-z-]{0,1023}$"
description:
$ref: "#/components/schemas/AppDescription"
channel:
$ref: "#/components/schemas/AppChannel"
deprecated:
$ref: "#/components/schemas/DeprecatedBool"
notification_emails:
$ref: "#/components/schemas/NotificationEmails"
url:
$ref: "#/components/schemas/RepoUrl"
branch:
$ref: "#/components/schemas/RepoBranch"
tag_files:
$ref: "#/components/schemas/TagFiles"
metrics_files:
$ref: "#/components/schemas/MetricsFiles"
ping_files:
$ref: "#/components/schemas/PingFiles"
dependencies:
$ref: "#/components/schemas/Dependencies"
library_names:
$ref: "#/components/schemas/LibraryNames"
prototype:
$ref: "#/components/schemas/PrototypeBool"
moz_pipeline_metadata_defaults:
$ref: "#/components/schemas/MozPipelineMetadataDefaults"
moz_pipeline_metadata:
$ref: "#/components/schemas/MozPipelineMetadata"
skip_documentation:
$ref: "#/components/schemas/SkipDocumentationBool"
RepositoriesV1:
type: array
items:
type: object
additionalProperties: false
properties:
name:
$ref: "#/components/schemas/V1Name"
app_id:
type: string
pattern: "^[a-z][a-z-]{0,1023}$"
description:
type: string
channel:
$ref: "#/components/schemas/AppChannel"
deprecated:
$ref: "#/components/schemas/DeprecatedBool"
notification_emails:
$ref: "#/components/schemas/NotificationEmails"
url:
$ref: "#/components/schemas/RepoUrl"
branch:
$ref: "#/components/schemas/RepoBranch"
tag_files:
$ref: "#/components/schemas/TagFiles"
metrics_files:
$ref: "#/components/schemas/MetricsFiles"
ping_files:
$ref: "#/components/schemas/PingFiles"
dependencies:
$ref: "#/components/schemas/Dependencies"
library_names:
$ref: "#/components/schemas/LibraryNames"
prototype:
$ref: "#/components/schemas/PrototypeBool"
moz_pipeline_metadata_defaults:
$ref: "#/components/schemas/MozPipelineMetadataDefaults"
moz_pipeline_metadata:
$ref: "#/components/schemas/MozPipelineMetadata"
skip_documentation:
$ref: "#/components/schemas/SkipDocumentationBool"
RepositoriesYamlV2:
type: object
additionalProperties: false
properties:
version:
type: string
description: Used to distinguish from the legacy repositories.yaml format
enum:
- "2"
libraries:
type: array
description: Repositories that define Glean dependencies
items:
$ref: "#/components/schemas/LibraryYaml"
applications:
type: array
description: Repositories that define Glean applications
items:
$ref: "#/components/schemas/ApplicationYaml"
ApplicationYaml:
type: object
additionalProperties: false
required:
- app_name
- canonical_app_name
- app_description
- url
- channels
properties:
app_name:
$ref: "#/components/schemas/AppName"
canonical_app_name:
$ref: "#/components/schemas/CanonicalAppName"
app_description:
$ref: "#/components/schemas/AppDescription"
notification_emails:
$ref: "#/components/schemas/NotificationEmails"
url:
$ref: "#/components/schemas/RepoUrl"
branch:
$ref: "#/components/schemas/RepoBranch"
tag_files:
$ref: "#/components/schemas/TagFiles"
metrics_files:
$ref: "#/components/schemas/MetricsFiles"
ping_files:
$ref: "#/components/schemas/PingFiles"
dependencies:
$ref: "#/components/schemas/Dependencies"
deprecated:
$ref: "#/components/schemas/DeprecatedBool"
prototype:
$ref: "#/components/schemas/PrototypeBool"
moz_pipeline_metadata_defaults:
$ref: "#/components/schemas/MozPipelineMetadataDefaults"
moz_pipeline_metadata:
$ref: "#/components/schemas/MozPipelineMetadata"
skip_documentation:
$ref: "#/components/schemas/SkipDocumentationBool"
channels:
type: array
description: >-
Information for each of the concrete channels that make up this
logical application. Most applications will only have a single
concrete listing that represents all channels, but Android and iOS
applications in particular may need to publish several listings
with different `app_id` values in order to make multiple channels
available in their respective app stores.
Note that optional fields here are redundant. If a value is
specified for a specific channel, it will override any value
set at the overall application level.
items:
type: object
additionalProperties: false
required:
- app_id
- v1_name
properties:
app_id:
$ref: "#/components/schemas/AppId"
v1_name:
$ref: "#/components/schemas/V1Name"
app_channel:
$ref: "#/components/schemas/AppChannel"
description:
$ref: "#/components/schemas/Description"
deprecated:
$ref: "#/components/schemas/DeprecatedBool"
additional_dependencies:
type: array
default: []
items:
type: string
LibraryYaml:
type: object
additionalProperties: false
required:
- library_name
- description
- notification_emails
- url
- variants
properties:
library_name:
$ref: "#/components/schemas/LibraryName"
description:
$ref: "#/components/schemas/Description"
notification_emails:
$ref: "#/components/schemas/NotificationEmails"
url:
$ref: "#/components/schemas/RepoUrl"
tag_files:
$ref: "#/components/schemas/TagFiles"
metrics_files:
$ref: "#/components/schemas/MetricsFiles"
ping_files:
$ref: "#/components/schemas/PingFiles"
variants:
$ref: "#/components/schemas/LibraryVariantsYaml"
AppListing:
type: object
additionalProperties: false
required:
- app_id
- document_namespace
- bq_dataset_family
- app_name
- v1_name
- url
properties:
app_id:
$ref: "#/components/schemas/AppId"
document_namespace:
$ref: "#/components/schemas/DocumentNamespace"
bq_dataset_family:
$ref: "#/components/schemas/BqDatasetFamily"
app_name:
$ref: "#/components/schemas/AppName"
canonical_app_name:
$ref: "#/components/schemas/CanonicalAppName"
app_description:
$ref: "#/components/schemas/AppDescription"
v1_name:
$ref: "#/components/schemas/V1Name"
app_channel:
$ref: "#/components/schemas/AppId"
description:
type: string
notification_emails:
$ref: "#/components/schemas/NotificationEmails"
url:
$ref: "#/components/schemas/RepoUrl"
branch:
$ref: "#/components/schemas/RepoBranch"
tag_files:
$ref: "#/components/schemas/TagFiles"
metrics_files:
$ref: "#/components/schemas/MetricsFiles"
ping_files:
$ref: "#/components/schemas/PingFiles"
dependencies:
$ref: "#/components/schemas/Dependencies"
deprecated:
$ref: "#/components/schemas/DeprecatedBool"
prototype:
$ref: "#/components/schemas/PrototypeBool"
moz_pipeline_metadata_defaults:
$ref: "#/components/schemas/MozPipelineMetadataDefaults"
moz_pipeline_metadata:
$ref: "#/components/schemas/MozPipelineMetadata"
skip_documentation:
$ref: "#/components/schemas/SkipDocumentationBool"
LibraryVariant:
type: object
additionalProperties: false
required:
- library_name
- description
- notification_emails
- url
- dependency_name
- v1_name
properties:
library_name:
$ref: "#/components/schemas/LibraryName"
description:
$ref: "#/components/schemas/Description"
notification_emails:
$ref: "#/components/schemas/NotificationEmails"
url:
$ref: "#/components/schemas/RepoUrl"
tag_files:
$ref: "#/components/schemas/TagFiles"
metrics_files:
$ref: "#/components/schemas/MetricsFiles"
ping_files:
$ref: "#/components/schemas/PingFiles"
v1_name:
$ref: "#/components/schemas/V1Name"
deprecated:
$ref: "#/components/schemas/DeprecatedBool"
branch:
$ref: "#/components/schemas/RepoBranch"
dependency_name:
$ref: "#/components/schemas/DependencyName"
V1Name:
type: string
pattern: "^[a-z][a-z0-9-]{0,39}$"
description: Identifier used in v1 URI paths that reference a specific repository
example: firefox-android-beta
Description:
type: string
description: A brief free-text description of this application variant.
AppDescription:
type: string
description: |
A brief free-text description of an application, applicable across any variants.
This should not be materialized in ETL, but rather only made available in user-facing views since it may be verbose
and it may change over time.
example: The desktop version of Firefox
AppName:
type: string
pattern: "^[a-z][a-z0-9_]{0,39}$"
description: |
A lowercase_with_underscores name that is short and unambiguous. It needs to be something that can be used both in a generated table name in BigQuery or as a value in an `app_name` string field in a derived table. BigQuery users might be using this literal name in a `WHERE` clause, so it should feel reasonable for that use case. Examples: `fenix`, `firefox_ios`.
This is an "end-to-end identifier": wherever there is a field called `app_name`
from probe scraping to user-facing derived tables in BigQuery, it should reflect
this exact value.
example: firefox_ios
CanonicalAppName:
type: string
description: |
How we would formally name this application in marketing copy or in a dashboard. This should not be materialized in ETL, but rather only made available in user-facing views since it may be verbose and it may change over time. Examples: Firefox for Android, Firefox for Android (Legacy Fennec), Firefox for Desktop, Firefox Focus for iOS
This is an "end-to-end identifier": wherever there is a field called
`canonical_app_name` from probe scraping to user-facing derived tables in BigQuery,
it should reflect this exact value.
example: Firefox for iOS
AppChannel:
type: string
enum:
- release
- beta
- nightly
- esr
description: |
The release channel.
If this is not specified, then we assume the application provides a reasonable channel value in
`client_info.app_channel` in its pings.
AppId:
type: string
pattern: '^[a-z][a-zA-Z0-9._-]{0,1023}$'
description: |
The app's identifier exactly as it appears in the relevant app store listing (for relevant platforms) or in the app's Glean initialization call (for other platforms). In the case of the Google Play store, it may contain both dots and dashes. For applicable platforms, you should be able to construct an app store URL from this value.
This is an "end-to-end identifier": wherever there is a field called `app_id`
from probe scraping to user-facing derived tables in BigQuery, it should reflect
this exact value.
example: "org.mozilla.firefox_beta"
DocumentNamespace:
type: string
pattern: "^[a-z][a-z-]{0,1023}$"
description: |
Derived from `app_id`, this is the lowercase-with-dashes value that appears
as the `document_namespace` element of the submission URI for a ping.
example: org-mozilla-firefox-beta
BqDatasetFamily:
type: string
pattern: "^[a-z][a-z_]{0,1023}$"
description: |
Derived from `app_id`, this is the lowercase-with-underscores prefix for
the BigQuery datasets where decoded ping data is written by the pipeline.
example: org_mozilla_firefox_beta
TagFiles:
type: array
description: A list of relative paths to `tags.yaml` files
default: []
items:
type: string
pattern: .+\.yaml$
example: app/tags.yaml
MetricsFiles:
type: array
description: A list of relative paths to `metrics.yaml` files in the repo
default: []
items:
type: string
pattern: .+\.yaml$
example: app/metrics.yaml
PingFiles:
type: array
description: A list of relative paths to `pings.yaml` files
default: []
items:
type: string
pattern: .+\.yaml$
example: app/pings.yaml
RepoBranch:
type: string
default: master
description: The branch in the repository to use.
RepoUrl:
type: string
format: uri
description: The URL of the repository to scrape. It should be able to be cloned directly from that URL.
example: https://github.com/mozilla-mobile/firefox-ios
NotificationEmails:
type: array
description: |
Where emails about probe-scraper failures and improper files
will be forwarded to.
These will be just about your specific repository.
items:
type: string
format: email
example: nobody@mozilla.com
PrototypeBool:
type: boolean
default: false
description: Set to `true` if the application is still under development.
DeprecatedBool:
type: boolean
default: false
description: Set to `true` if the repo corresponds to a deprecated product or library.
LibraryName:
type: string
description: |
A unique identifier for this library, applicable across all variants of it.
example: glean-core
LibraryVariantsYaml:
type: array
description: |
Variants of this library.
items:
type: object
additionalProperties: false
required:
- dependency_name
- v1_name
properties:
v1_name:
$ref: "#/components/schemas/V1Name"
description:
$ref: "#/components/schemas/Description"
deprecated:
$ref: "#/components/schemas/DeprecatedBool"
branch:
$ref: "#/components/schemas/RepoBranch"
dependency_name:
$ref: "#/components/schemas/DependencyName"
LibraryNames:
type: array
description: |
All the build-specific library names defined in this repository,
used as keys to match with the `dependencies` values declared by
applications.
A single repository could present multiple library names for different
platforms, thus there may be multiple values here.
items:
type: string
example: org.mozilla.components:service-glean
OverrideAttributes:
type: array
description: |
Mappings of Pub/Sub attribute names to static values; these are applied in the Decoder
immediately before incorporating metadata into the payload, so can be used to overwrite values calculated in
the pipeline; a null value will cause the pipeline to drop the named attribute; some attribute names differ
from the nested metadata format in BigQuery, so for example you must use \"geo_city\" here in order to
manipulate the value that shows up as metadata.geo.city; implemented for bug 1742172.
items:
type: object
additionalProperties: false
properties:
name:
type: string
required: true
enum:
- geo_city
- geo_subdivision1
- geo_subdivision2
- normalized_channel
value:
type: [ string, "null" ]
required: true
ExpirationPolicy:
type: object
description: |
Various options controlling data lifecycle.
additionalProperties: false
properties:
collect_through_date:
type: string
description: |
If present, the pipeline will reject new data with submission_timestamp after the
given date, sending it to error output. Example: `2025-12-31`
pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
example: "2025-12-31"
delete_after_days:
type: integer
description: |
The number of days to retain decoded ping data received for this application.
If not specified, retention will be unlimited.
JweMappings:
type: array
description: |
Mappings of encrypted JWE field paths to destinations where the value decrypted by the
pipeline should be placed; initial use case is Account Ecosystem Telemetry; paths must be in
[JSON Pointer format](https://tools.ietf.org/html/rfc6901) like '/payload/ecosystemAnonId'.
items:
type: object
additionalProperties: false
properties:
decrypted_field_path:
type: string
required: true
default: ""
source_field_path:
type: string
required: true
pattern: "^/.*$"
default: "/payload"
MozPipelineMetadataDefaults:
type: object
description: |
Container for per-doctype metadata that can affect how pings are processed in the pipeline.
additionalProperties: false
properties:
expiration_policy:
$ref: "#/components/schemas/ExpirationPolicy"
geoip_skip_entries:
type: integer
description: |
If specified, pipeline will skip a number of IP address entries from X-Forwarded-For header before GeoIP
decoding. Intended for use with proxies that add their own IP addresses to the header.
jwe_mappings:
$ref: "#/components/schemas/JweMappings"
override_attributes:
$ref: "#/components/schemas/OverrideAttributes"
submission_timestamp_granularity:
type: string
description: |
If specified, the submission_timestamp field will be truncated to the specified
granularity in the pipeline before being output to BigQuery; this can be used to reduce the potential for
using time-based attacks to correlate datasets using different client-level identifiers; see Java's
ChronoUnit for additional granularities that could be considered for inclusion; implemented for bug 1742172.
enum:
- millis
- seconds
- minutes
- hours
- days
MozPipelineMetadata:
type: object
description: |
Allows ping level override of metadata values.
additionalProperties:
type: object
description: Override default metadata values for the specified ping name. Note this is the document type (kebab-case) not the BigQuery table name (snake_case).
x-additionalPropertiesName: ping-name
additionalProperties: false
properties:
expiration_policy:
$ref: "#/components/schemas/ExpirationPolicy"
geoip_skip_entries:
type: integer
description: |
If specified, pipeline will skip a number of IP address entries from X-Forwarded-For header before GeoIP
decoding. Intended for use with proxies that add their own IP addresses to the header.
jwe_mappings:
$ref: "#/components/schemas/JweMappings"
override_attributes:
$ref: "#/components/schemas/OverrideAttributes"
submission_timestamp_granularity:
type: string
description: |
If specified, the submission_timestamp field will be truncated to the specified
granularity in the pipeline before being output to BigQuery; this can be used to reduce the potential for
using time-based attacks to correlate datasets using different client-level identifiers; see Java's
ChronoUnit for additional granularities that could be considered for inclusion; implemented for bug 1742172.
enum:
- millis
- seconds
- minutes
- hours
- days
SkipDocumentationBool:
type: boolean
default: false
description: |
Set to `true` if the application does not want to show up in automated
documentation tools (e.g. the Glean Dictionary).
DependencyName:
type: string
description: |
Build system-specific name of this dependency, to be referenced by the `dependencies` section
of an application's definition.
example: org.mozilla.components:browser-engine-gecko
Dependencies:
type: array
default: []
description: |
List of libraries that this application imports. The values here must
match a value defined under `dependency_name` by a library variant.
items:
type: string
example: org.mozilla.components:service-glean
GeneralFile:
type: object
required:
- lastUpdate
properties:
lastUpdate:
type: string
description: timestamp when scraping was performed
format: date-time
RevisionsFile:
type: object
additionalProperties:
type: object
x-additionalPropertiesName: channel
additionalProperties:
type: object
x-additionalPropertiesName: revision hash
properties:
version:
type: string
TelemetryProbesFile:
type: object
additionalProperties:
type: object
x-additionalPropertiesName: <probe type>/<probe name>
properties:
name:
type: string
type:
type: string
history:
type: object
additionalProperties:
x-additionalPropertiesName: channel
type: array
items:
type: object
properties:
cpp_guard:
type: string
nullable: true
description:
type: string
example: The duration of the last foreground session
details:
type: object
properties:
record_in_processes:
type: array
items:
type: string
additionalProperties:
x-additionalPropertiesName: type-specific detail
type: string
expiry_version:
type: string
optout:
type: boolean
revisions:
type: object
properties:
first:
type: string
example: "9aa4f48e77001058c05f3d3182228706720bf87a"
last:
type: string
example: "69c485078950fb09ee2cef609b75ea9dd30d249b"
versions:
type: object
properties:
first:
type: string
example: "56"
last:
type: string
example: "59"
GleanMetricsFile:
type: object
additionalProperties:
type: object
x-additionalPropertiesName: metric name
properties:
name:
type: string
type:
type: string
history:
type: array
items:
type: object
properties:
type:
type: string
example: timespan
description:
type: string
example: The duration of the last foreground session
send_in_pings:
type: array
items:
type: string
example: baseline
bugs:
type: array
items:
type: integer
example: 1497894
data_reviews:
type: array
items:
type: string
example: baseline
notification_emails:
$ref: "#/components/schemas/NotificationEmails"
dates:
type: object
properties:
first:
type: string
format: date-time
last:
type: string
format: date-time
git-commits:
type: object
properties:
first:
type: string
example: "9aa4f48e77001058c05f3d3182228706720bf87a"
last:
type: string
example: "69c485078950fb09ee2cef609b75ea9dd30d249b"
DependenciesFile:
type: object
additionalProperties:
type: object
x-additionalPropertiesName: library name
properties:
name:
type: string
type:
type: string
history:
type: array
items:
type: object
properties:
dates:
type: object
properties:
first:
type: string
format: date-time
last:
type: string
format: date-time
git-commits:
type: object
properties:
first:
type: string
example: "9aa4f48e77001058c05f3d3182228706720bf87a"
last:
type: string
example: "69c485078950fb09ee2cef609b75ea9dd30d249b"
examples:
TelemetryProbesFile:
value:
histogram/A11Y_CONSUMERS:
history:
nightly:
- cpp_guard:
description: |
A list of known accessibility clients that inject into Firefox
process space (see
https://dxr.mozilla.org/mozilla-central/source/accessible/windows/msaa/Compatibility.h).
details:
high: 11
keyed: false
kind: enumerated
low: 1
n_buckets: 12
expiry_version: never
optout: true
revisions:
first: 320642944e42a889db13c6c55b404e32319d4de6
last: 6f5fac320fcb6625603fa8a744ffa8523f8b3d71
versions:
first: '56'
last: '59'
name: A11Y_CONSUMERS
type: histogram
RevisionsFile:
value:
aurora:
1196bf3032e1bce1fb07a01fd9082a767426c5fb:
version: 51
DependenciesFile:
value:
org.mozilla.deprecated:glean:
name: org.mozilla.deprecated:glean
type: dependency
GleanMetricsFile:
value:
app.opened_as_default_browser:
history:
- _config:
allow_reserved: false
do_not_disable_expired: true
bugs:
- https://github.com/mozilla-mobile/firefox-ios/issues/7151
data_reviews:
- https://github.com/mozilla-mobile/firefox-ios/pull/7245
dates:
first: '2020-09-02 22:57:11'
last: '2021-01-13 23:05:09'
description: |
Recorded when a preference is changed and includes the
preference that changed as well as the value changed to
recorded in the extra keys.
disabled: false
expires: '2021-03-01'
gecko_datapoint: ''
git-commits:
first: ecd3060791ba43162afc0718cac76c7599c62686
last: b274ef21927c892e6f87fd7d7b8a04a594acb9f9
lifetime: ping
no_lint: []
notification_emails:
- firefox-ios@mozilla.com
reflog-index:
first: 8
last: 0
send_in_pings:
- metrics
type: counter
version: 0
name: app.opened_as_default_browser
type: counter
LibraryVariant:
value:
v1_name: glean-core
description: Modern cross-platform telemetry (core library)
notification_emails:
- frank@mozilla.com
- mdroettboom@mozilla.com
url: https://github.com/mozilla/glean
branch: main
tag_files:
- glean-core/tags.yaml
metrics_files:
- glean-core/metrics.yaml
ping_files:
- glean-core/pings.yaml
library_names:
- glean-core