-
-
Notifications
You must be signed in to change notification settings - Fork 438
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Federated tracing #2479
Federated tracing #2479
Conversation
# Conflicts: # tests/Unit/Schema/AST/DocumentASTTest.php
I've extracted the I'm not sure it is a good idea to replace it in the test assertions too because it should be replaced event in calls like I also renamed the value of the config to |
Let's document the process for generating/updating the proto files in |
The workflow should work but I couldn't get it to work on pull request (the main problem is the commit part). |
I've added a workflow to automatically update the |
Apart from adding the changelog entry and updating the docs to say that federated tracing is supported, I am fine to go ahead and merge this. Excellent work! Do you plan on updating the Apollo compatibility repository as well? I think we should just need to change |
We should take a look at error reporting (I wrote some notes in the first comment). Apart from that and changelog/docs update it, everything should be fine. Yes I think the only required change for apollo compatibility is the change of |
I am not sure how error reporting in tracing is/should be different from error reporting for clients. Does https://lighthouse-php.com/master/digging-deeper/error-handling.html apply? It would be nice to keep things simple and just utilize the same mechanisms. See |
Yes it apply all handlers. |
Ready to merge and release? |
Yes, I think it's ready |
Opened the PR to update the apollo compatibility |
We need to update the doc too: https://lighthouse-php.com/6/federation/getting-started.html#federated-tracing
Is this still experimental? |
Resolves #2053
Resolves #2068
Changes
This PR adds support for Apollo Federated tracing.
I used the apollo server implementation as reference.
Error reporting
Federated tracing spec supports errors reporting but we need to decide how to implement this feature in order to prevent exposing sensitive data (without user control), right now there is no setting for this.
Apollo server has this options:
Here the docs and implementation
Breaking changes
None. the old tracing implementation is enabled by default.
This new implementation must be manually enabled through config.
Some notes
The new tracing spec uses
protobuf
and the updated of the proto file is manual:reports.proto
file from the apollo-server repo[(js_use_toArray)=true]
and[(js_preEncoded)=true]
Then run
make:proto
andmake:fix
to generate (and fix sytle) the protobuf classes