Skip to content

Commit

Permalink
Merge branch 'release-v60.2.0' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
badboy committed May 23, 2024
2 parents b36db16 + eba7a58 commit 8494585
Show file tree
Hide file tree
Showing 66 changed files with 416 additions and 722 deletions.
2 changes: 1 addition & 1 deletion .buildconfig.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
libraryVersion: 60.1.0
libraryVersion: 60.2.0
groupId: org.mozilla.telemetry
projects:
glean:
Expand Down
10 changes: 9 additions & 1 deletion .dictionary
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
personal_ws-1.1 en 273 utf-8
personal_ws-1.1 en 279 utf-8
AAR
AARs
ABI
Expand Down Expand Up @@ -97,6 +97,8 @@ Underflowing
UniFFI
Uploaders
VPN
Walkthrough
Walkthroughs
Wasm
WebRender
Webpack
Expand Down Expand Up @@ -157,6 +159,7 @@ exe
experimentId
ffi
fi
frontend
func
gfritzsche
glibc
Expand Down Expand Up @@ -207,6 +210,7 @@ npm
ns
ol
ons
outputter
pdoc
perrymcmanis
pidcat
Expand Down Expand Up @@ -251,6 +255,7 @@ toolchain
toolchains
tooltip
tooltips
tos
transpiler
travis
und
Expand All @@ -261,8 +266,11 @@ unminified
uploader
uploaders
urlbar
validator
vendored
vendoring
walkthrough
walkthroughs
webextension
webpages
whatsys
Expand Down
7 changes: 3 additions & 4 deletions .taskcluster.yml
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,6 @@ tasks:
GLEAN_HEAD_REF: '${head_branch}'
GLEAN_HEAD_REV: '${head_sha}'
GLEAN_HEAD_TAG: '${head_tag}'
GLEAN_PIP_REQUIREMENTS: taskcluster/requirements.txt
GLEAN_REPOSITORY_TYPE: git
REPOSITORIES: {$json: {glean: "Glean"}}
ANDROID_SDK_ROOT: /builds/worker/android-sdk
Expand All @@ -231,7 +230,7 @@ tasks:
# Note: This task is built server side without the context or tooling that
# exist in tree so we must hard code the hash
image:
mozillareleases/taskgraph:decision-c4ac262880970ca484105929e02dd12f00214d5f2603ab6ce4c0d17de5cd0280@sha256:2dd667994aa13fccdcdcede85c570a5eb4a5247e42875a9e95a135ef774ee469
mozillareleases/taskgraph:decision-v8.1.0@sha256:ffed8883c6f3e505dd88bafd7a153103b768c77609bf0cbafd15dd602ba95352

maxRunTime: 1800

Expand All @@ -249,10 +248,10 @@ tasks:
then: >
cd /builds/worker/checkouts/vcs &&
ln -s /builds/worker/artifacts artifacts &&
~/.local/bin/taskgraph action-callback
taskgraph action-callback
else: >
ln -s /builds/worker/artifacts artifacts &&
~/.local/bin/taskgraph decision
taskgraph decision
--pushlog-id='0'
--pushdate='0'
--project='${project}'
Expand Down
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# Unreleased changes

[Full changelog](https://github.com/mozilla/glean/compare/v60.1.0...main)
[Full changelog](https://github.com/mozilla/glean/compare/v60.2.0...main)

# v60.2.0 (2024-05-23)

[Full changelog](https://github.com/mozilla/glean/compare/v60.1.0...v60.2.0)

* Rust
* Accept a ping schedule map on initialize ([#2839](https://github.com/mozilla/glean/pull/2839))

# v60.1.0 (2024-05-06)

Expand All @@ -18,7 +25,7 @@
* General
* BREAKING CHANGE: Server Knobs API changes requiring changes to consuming applications which make use of Server Knobs ([Bug 1889114](https://bugzilla.mozilla.org/show_bug.cgi?id=1889114))
* BREAKING CHANGE: Deprecated Server Knobs API `setMetricsDisabled` has been removed from all bindings. ([#2792](https://github.com/mozilla/glean/pull/2792))
* Added support for `ping_schedule` metadata property so that pings can be scheduled to be sent when other pings are sent. (([#2791]https://github.com/mozilla/glean/pull/2791))
* Added support for `ping_schedule` metadata property so that pings can be scheduled to be sent when other pings are sent. ([#2791](https://github.com/mozilla/glean/pull/2791))
* Android
* Updated Kotlin to version 1.9.23 ([#2737](https://github.com/mozilla/glean/pull/2737))
* New metric type: Object ([#2796](https://github.com/mozilla/glean/pull/2796))
Expand Down
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions DEPENDENCIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2306,7 +2306,6 @@ The following text applies to code linked from these dependencies:
* [crossbeam-channel 0.5.12]( https://github.com/crossbeam-rs/crossbeam )
* [crossbeam-utils 0.8.19]( https://github.com/crossbeam-rs/crossbeam )
* [env_logger 0.10.0]( https://github.com/rust-cli/env_logger/ )
* [errno 0.3.3]( https://github.com/lambda-fairy/rust-errno )
* [fastrand 2.0.0]( https://github.com/smol-rs/fastrand )
* [flate2 1.0.26]( https://github.com/rust-lang/flate2-rs )
* [form_urlencoded 1.1.0]( https://github.com/servo/rust-url )
Expand Down Expand Up @@ -4952,9 +4951,9 @@ SOFTWARE.

The following text applies to code linked from these dependencies:

* [glean-core 60.1.0]( https://github.com/mozilla/glean )
* [glean-core 60.2.0]( https://github.com/mozilla/glean )
* [glean-build 14.0.1]( https://github.com/mozilla/glean )
* [glean 60.1.0]( https://github.com/mozilla/glean )
* [glean 60.2.0]( https://github.com/mozilla/glean )
* [zeitstempel 0.1.1]( https://github.com/badboy/zeitstempel )

```
Expand Down
31 changes: 31 additions & 0 deletions docs/dev/core/internal/payload.md
Original file line number Diff line number Diff line change
Expand Up @@ -306,3 +306,34 @@ A [Text](../../../book/reference/metrics/text.md) is represented by its string v
```json
"sample string"
```

### Object

An [Object](../../../book/reference/metrics/object.md) is represented as either a JSON array or JSON object,
depending on the allowed structure.
Missing values (`null`) and empty arrays will not be serialized in the payload.

#### Example

Object:

```json
{
"colour": "red",
"diameter": 5
}
```

Array with objects:

```json
[
{
"type": "ERROR",
"address": "0x000000"
},
{
"type": "ERROR"
}
]
```
2 changes: 2 additions & 0 deletions docs/user/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ To get started adding Glean to your project, choose one of the following guides:
- Get started adding Glean to a Qt/QML application or library.
<!-- - **[Firefox Desktop](TODO)**
- Get started adding Glean to a Firefox Desktop component. -->
- **[Server](./user/adding-glean-to-your-project/server.md)**
- Get started adding Glean to a server-side application.

For development documentation on the `Glean SDK`, refer to [the Glean SDK development book](../dev/index.html).

Expand Down
3 changes: 3 additions & 0 deletions docs/user/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
- [Rust](user/adding-glean-to-your-project/rust.md)
- [JavaScript](user/adding-glean-to-your-project/javascript.md)
- [Qt/QML](user/adding-glean-to-your-project/qt.md)
- [Server](user/adding-glean-to-your-project/server.md)
- [Enable data ingestion](user/adding-glean-to-your-project/enable-data-ingestion.md)
- [Integrating Glean for project managers](user/integrating-glean-for-product-managers.md)
- [Metrics](user/metrics/adding-new-metrics.md)
Expand Down Expand Up @@ -40,6 +41,8 @@
- [iOS](user/debugging/ios.md)
- [Python](user/debugging/python.md)
- [JavaScript](user/debugging/javascript.md)
- [Walkthroughs and How-tos](user/howto/index.md)
- [Server Knobs Walkthrough](user/howto/server-knobs-walkthrough/server-knobs-walkthrough.md)
# API Reference

- [YAML Registry Format](reference/yaml/index.md)
Expand Down
2 changes: 2 additions & 0 deletions docs/user/reference/metrics/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ There are different metrics to choose from, depending on what you want to achiev

* [Text](text.md): Records a single long Unicode text, used when the limits on `String` are too low.

* [Object](object.md): Record structured data.

## Labeled metrics

There are two types of metrics listed above - *labeled* and *unlabeled* metrics. If a metric is *labeled*, it means that for a single metric entry you define in `metrics.yaml`, you can record into multiple metrics under the same name, each of the same type and identified by a different string label.
Expand Down
23 changes: 22 additions & 1 deletion docs/user/reference/metrics/object.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,28 @@ assert 0 == metrics.party.balloons.test_get_num_recorded_errors(

## Metric parameters

Example text metric definition:
The definition for an object metric type accepts a `structure` parameter.
This defines the accepted structure of the object using a subset of [JSON schema](https://json-schema.org/draft/2020-12/json-schema-core).

The allowed types are:

* `string`
* `number`
* `boolean`
* `array`
* `object`

The `array` type takes an `items` parameter, that does define the element types it can hold.
The `object` type takes a `properties` parameter, that defines the nested object structure.

`array` and `object` metrics can be nested.
No other schema parameters are allowed.
All fields are optional.

Data is validated against this schema at recording time.
Missing values will not be serialized into the payload.

### Example object metric definition:

```yaml
party:
Expand Down
1 change: 1 addition & 0 deletions docs/user/user/adding-glean-to-your-project/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,6 @@ Additionally, applications (but not libraries) **must**:
> - [Rust](./rust.md)
> - [Swift](./swift.md)
> - [Qt/QML](./qt.md)
> - [Server](./server.md)
[Glean Dictionary]: https://dictionary.telemetry.mozilla.org
26 changes: 26 additions & 0 deletions docs/user/user/adding-glean-to-your-project/server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Adding Glean to your Server Application

Glean enables the collection of behavioral metrics through events in server environments. This method does not rely on the Glean SDK but utilizes the Glean parser to generate native code for logging events in a standard format compatible with the ingestion pipeline.

## Differences from using the Glean SDK

This implementation of telemetry collection in server environments has some differences compared to using Glean SDK in client applications and Glean.js in the frontend of web applications. Primarily, in server environments the focus is exclusively on event-based metrics, diverging from the broader range of metric types supported by Glean. Additionally, there is no need to incorporate Glean SDK as a dependency in server applications. Instead, the Glean parser is used to generate native code for logging events.

## When to use server-side collection

This method is intended for collecting user-level behavioral events in server environments. It is not suitable for collecting system-level metrics or performance data, which should be collected using cloud monitoring tools.

## How to add Glean server side collection to your service

1. Integrate [`glean_parser`](https://github.com/mozilla/glean_parser#usage) into your build system. Follow instructions for other SDK-enabled platforms, e.g. [JavaScript](./javascript.md). Use a server outputter to generate logging code. `glean_parser` currently supports [Go](https://github.com/mozilla/glean_parser/blob/main/glean_parser/go_server.py), [JavaScript/Typescript](https://github.com/mozilla/glean_parser/blob/main/glean_parser/javascript_server.py), [Python](https://github.com/mozilla/glean_parser/blob/main/glean_parser/python_server.py), and [Ruby](https://github.com/mozilla/glean_parser/blob/main/glean_parser/ruby_server.py).
2. Define your metrics in `metrics.yaml`
3. Request a [data review](https://wiki.mozilla.org/Firefox/Data_Collection) for the collected data
4. [Add your product to probe-scraper](./enable-data-ingestion.html#add-your-product-to-probe-scraper)

## How to add a new event to your server side collection

Follow the standard Glean SDK guide for adding metrics to `metrics.yaml` file.

## Technical details - ingestion

For more technical details on how ingestion works, see the [Confluence page](https://mozilla-hub.atlassian.net/wiki/spaces/DATA/pages/741998604/Backend+telemetry+collection+with+Glean).
9 changes: 9 additions & 0 deletions docs/user/user/howto/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# How-tos

This chapter contains various how-tos and walkthroughs to help aid you in using Glean.

### [Server Knobs Walkthrough]

A step-by-step guide in setting up and launching a Server Knobs Experiment

[Server Knobs Walkthrough]: ./server-knobs-walkthrough/server-knobs-walkthrough.md
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 8494585

Please sign in to comment.