Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions agendas/2026/08-Aug/27-otel-wg-august-2026.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
| This is an open meeting: To attend, edit and PR this file. (Edit: ✎ above, or press "e") |
| ---------------------------------------------------------------------------------------- |

# OTel WG — August 2026

- **Date & Time**: [August 27, 2026, 10:00 – 11:00 AM PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20260827T170000&p1=224&p2=179&p3=136&p4=268&p5=367&p6=438&p7=248&p8=240)
- View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
- _Please Note:_ The date or time may change. Please check this agenda the
week of the meeting to confirm. While we try to keep all calendars accurate,
this agenda document is the source of truth.
- **Video Conference Link**: https://zoom.us/j/93594710848
- _Password:_ otel
- **Live Notes**: [Live Notes][]

[calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
[google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
[ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
[live notes]: https://docs.google.com/document/d/1f8RdYS_avbBcH1AGa1wMGYxrGVS8_HKfMAB8gjQ8ZfE/edit?usp=sharing

## Attendees

<!-- prettier-ignore -->
| Name | GitHub | Organization | Location |
| :--------------- | :------------ | :----------------- | :-------------------- |


## Agenda

1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
- [Specification Membership Agreement](https://github.com/graphql/foundation)
- [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
- [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
- [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
- Meetings are [published to YouTube](https://www.youtube.com/@GraphQLFoundation/videos) and we may use LLM/AI summary tools
1. Introduction of attendees (5m, Host)
1. Determine volunteers for note taking (1m, Host)
1. Review agenda (2m, Host)
1. Check for [ready for review agenda items](https://github.com/graphql/otel-wg/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc) (5m, Host)
1. Reminder: [grants available for key initiatives](https://graphql.org/community/foundation/community-grant/) (1m, Host)
39 changes: 39 additions & 0 deletions agendas/2026/09-Sep/24-otel-wg-september-2026.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
| This is an open meeting: To attend, edit and PR this file. (Edit: ✎ above, or press "e") |
| ---------------------------------------------------------------------------------------- |

# OTel WG — September 2026

- **Date & Time**: [September 24, 2026, 10:00 – 11:00 AM PDT](https://www.timeanddate.com/worldclock/converter.html?iso=20260924T170000&p1=224&p2=179&p3=136&p4=268&p5=367&p6=438&p7=248&p8=240)
- View the [calendar][], or subscribe ([Google Calendar][], [ical file][]).
- _Please Note:_ The date or time may change. Please check this agenda the
week of the meeting to confirm. While we try to keep all calendars accurate,
this agenda document is the source of truth.
- **Video Conference Link**: https://zoom.us/j/93594710848
- _Password:_ otel
- **Live Notes**: [Live Notes][]

[calendar]: https://calendar.google.com/calendar/embed?src=linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com
[google calendar]: https://calendar.google.com/calendar?cid=bGludXhmb3VuZGF0aW9uLm9yZ19pazc5dDl1dWoycDMyaTNyMjAzZGd2NW1vOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t
[ical file]: https://calendar.google.com/calendar/ical/linuxfoundation.org_ik79t9uuj2p32i3r203dgv5mo8%40group.calendar.google.com/public/basic.ics
[live notes]: https://docs.google.com/document/d/1f8RdYS_avbBcH1AGa1wMGYxrGVS8_HKfMAB8gjQ8ZfE/edit?usp=sharing

## Attendees

<!-- prettier-ignore -->
| Name | GitHub | Organization | Location |
| :--------------- | :------------ | :----------------- | :-------------------- |


## Agenda

1. Agree to Membership Agreement, Participation & Contribution Guidelines and Code of Conduct (1m, Host)
- [Specification Membership Agreement](https://github.com/graphql/foundation)
- [Participation Guidelines](https://github.com/graphql/graphql-wg#participation-guidelines)
- [Contribution Guide](https://github.com/graphql/graphql-spec/blob/main/CONTRIBUTING.md)
- [Code of Conduct](https://github.com/graphql/foundation/blob/master/CODE-OF-CONDUCT.md)
- Meetings are [published to YouTube](https://www.youtube.com/@GraphQLFoundation/videos) and we may use LLM/AI summary tools
1. Introduction of attendees (5m, Host)
1. Determine volunteers for note taking (1m, Host)
1. Review agenda (2m, Host)
1. Check for [ready for review agenda items](https://github.com/graphql/otel-wg/issues?q=is%3Aissue+is%3Aopen+label%3A%22Ready+for+review+%F0%9F%99%8C%22+sort%3Aupdated-desc) (5m, Host)
1. Reminder: [grants available for key initiatives](https://graphql.org/community/foundation/community-grant/) (1m, Host)
51 changes: 51 additions & 0 deletions notes/2026/summary-2026-05-28.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Meeting Summary for OTel WG

**NOTICE**: This summary was auto-generated by Zoom's "AI". AI-generated
content may be inaccurate or misleading. Always check for accuracy. If in
doubt, please consult the meeting recording at
https://youtube.com/@GraphQLFoundation/playlists

- Meeting start: 2026-05-28T17:01:30Z
- Meeting end: 2026-05-28T17:24:52Z
- Summary start: 2026-05-28T17:01:31Z
- Summary end: 2026-05-28T17:24:51Z

Pascal and Abdelrahman met to discuss a pull request for adding tracing channels to the GraphQL repository. Abdelrahman explained that Sentry is leading an initiative to get popular libraries in the ecosystem to adopt Node.js's built-in Tracing Channel API, which enables telemetry from library side rather than APM side. The API works across different server runtimes with minimal overhead (1-3% performance impact) and allows libraries to emit events about execution status. Abdelrahman demonstrated the implementation in GraphQL.js, showing how different operations like query execution, field resolution, and subscriptions are wrapped with tracing channels. Pascal expressed interest in the performance benchmarks and suggested potential optimizations, particularly around promise handling in resolvers. They discussed how the tracing channels would work with OpenTelemetry semantic conventions and cardinality concerns, with Pascal offering to forward the information to the GraphQL Guild team for further review.

## Next Steps

- Pascal: Forward the pull request and relevant semantic conventions documentation to The Guild team for review and feedback.
- Pascal: Point The Guild team (and relevant parties such as Yoga maintainers) to Abdelrahman's pull request for GraphQL.js tracing channels.
- Abdelrahman: Review the OpenTelemetry semantic conventions and cardinality guidance to ensure Sentry's future integration with GraphQL.js tracing channels will not be blocked by telemetry requirements.
- Abdelrahman: Consider discussing with the author of diagnostic channels about support for async iterators/data loaders for future tracing channel coverage.
- Pascal: Send Abdelrahman the link to the pull request in semantic conventions and ensure it is copied for reference.

## Summary

### GraphQL Tracing Channels Discussion

Pascal and Abdelrahman met to discuss adding tracing channels to the GraphQL repository, with Abdelrahman having been invited by Yakov Deniski to review a pull request. They began the meeting by following standard protocols including reviewing participation guidelines and confirming the meeting would be recorded for YouTube under the GraphQL Workgroup organization. The meeting was in its introductory phase, with both participants sharing their names and affiliations before proceeding with the main discussion.

### Tracing Channel API Promotion

Abdelrahman explained Sentry's initiative to promote the Tracing Channel API in Node.js, which allows libraries to emit telemetry events with minimal overhead. He described how this API could enable telemetry representation of GraphQL operations through spans, metrics, and logs, without the overhead of APM monkey patching. The API is designed to be low-level and suitable for third-party libraries, allowing both libraries and users to subscribe to the channels for their own telemetry needs.

### Node.js Tracing Channels Implementation

Abdelrahman and Pascal discussed the implementation of tracing channels in Node.js for OpenTelemetry, focusing on how it enables AutoTIL for GraphQL and addresses performance overhead issues. Abdelrahman explained that Sentry plans to use these channels since monkey patching doesn't work in Cloudflare, Bun, and Deno, and they have already helped other libraries like Redis adopt this approach. The discussion covered how tracing channels work under the hood, with Abdelrahman describing the built-in API in Node.js that includes start, end, sync start, sync end, and error channels to cover the lifecycle of asynchronous operations.

### GraphQL Performance Optimization Discussion

Abdelrahman and Pascal discussed performance optimizations in GraphQL, particularly around handling promises in resolvers. Abdelrahman explained they benchmarked the implementation and saw about 2% overhead, which Yakov deemed acceptable after optimization. They discussed making the type signatures more strict to explicitly handle promises, and Pascal suggested this approach could prevent performance issues from wrapping resolvers with promises. Abdelrahman also explained the need for a special case in the parse-validate-execute flow due to subscriptions, which Yakov had requested to handle multiple queries differently from single operations.

### New Tracing Mechanism Implementation

Abdelrahman discussed adding a new tracing mechanism with Yakov's support, explaining that v17 consumers will use GraphQL functions to avoid the execute path and requiring additional wrapping/tracing. The implementation has a 1-3% performance overhead and includes various spans for different phases like request execution, validation, and variable coercion. Pascal agreed to review the pull request and check with the team about implementing OpenTelemetry on top of it.

### Data Loaders and Tracing Implementation

Pascal and Abdelrahman discussed the implementation of data loaders, with Abdelrahman explaining that he had avoided them due to complexity with async iterators. Pascal noted that the current tracing system is effective for tracking subscription events, creating separate traces for when subscriptions are open and when events occur. The conversation ended with a discussion about using OpenTelemetry data and a question from Pascal about billing metrics (cardinality or volume), though this part was cut off in the transcript.

### GraphQL Telemetry Discussion

Pascal and Abdelrahman discussed GraphQL telemetry and cardinality concerns, with Pascal explaining that GraphQL operation names and document IDs are passed from outside sources and could potentially be misused in the telemetry system. Pascal agreed to forward this information to the GraphQL server team in The Guild who work with GraphQL.js, as they had previous discussions about telemetry requirements. Pascal also committed to sharing a link to a pull request about semantic conventions and closing the meeting early.
Loading