Skip to content

Bug2020962 session impl#840

Open
travis79 wants to merge 4 commits intomainfrom
Bug2020962-Session-Impl
Open

Bug2020962 session impl#840
travis79 wants to merge 4 commits intomainfrom
Bug2020962-Session-Impl

Conversation

@travis79
Copy link
Copy Markdown
Member

Pull Request checklist

  • Quality: This PR builds and tests run cleanly
    • make test runs without emitting any warnings
    • make lint runs without emitting any errors
  • Tests: This PR includes thorough tests or an explanation of why it does not
  • Changelog: This PR includes a changelog entry to CHANGELOG.md or an explanation of why it does not need one
    • Any breaking changes to language binding APIs are noted explicitly

@travis79 travis79 force-pushed the Bug2020962-Session-Impl branch from 79101f5 to 5105cfa Compare April 16, 2026 13:01
Comment thread glean_parser/metrics.py Outdated
Copy link
Copy Markdown
Member

@badboy badboy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one question, otherwise this is very mechanic additions to support the Glean changes

@travis79 travis79 marked this pull request as ready for review May 8, 2026 14:15
@travis79 travis79 requested a review from a team as a code owner May 8, 2026 14:15
@travis79 travis79 requested review from badboy and removed request for a team May 8, 2026 14:15
travis79 added 4 commits May 8, 2026 09:15
Add support for the `in_session` boolean field on metric definitions.
When `in_session: true` is set on an event metric, the parser sets
`out_of_session: false` on the metric object for code generation.

- Schema: add `in_session` property to metrics 2-0-0 schema with a
  validation rule that rejects `in_session: true` on non-event types
- Model: Event.__init__ pops `in_session` and sets `out_of_session`;
  Event.serialize strips `out_of_session` so it doesn't round-trip
  back into YAML validation
- Util: add `out_of_session` to `common_metric_args` so Kotlin, Swift,
  and JavaScript templates pick it up automatically via their existing
  iteration over that list
The Rust template hardcodes CommonMetricData fields rather than
iterating common_metric_args like Kotlin/Swift/JS, so it needs an
explicit addition to emit `out_of_session` when defined.
- Model tests: verify in_session on events sets out_of_session,
  default omits it, non-event with in_session: true is rejected,
  non-event with in_session: false is accepted
- Output tests: verify generated Rust, Kotlin, and Swift code
  contains outOfSession/out_of_session when in_session: true
- Test data: add in_session: true to the event in all_metrics.yaml
@travis79 travis79 force-pushed the Bug2020962-Session-Impl branch from 104d62f to 2a4c166 Compare May 8, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants