Skip to content
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

chore: Add integration tests for Open Telemetry #276

Merged
merged 37 commits into from
Jan 10, 2022

Conversation

o0Ignition0o
Copy link
Contributor

will fix #38 eventually

@o0Ignition0o o0Ignition0o changed the title chore: Add intrgration tests for Open Telemetry chore: Add integration tests for Open Telemetry Dec 15, 2021
@o0Ignition0o
Copy link
Contributor Author

Brace yourselves, it's macro time.

@Geal Geal mentioned this pull request Jan 5, 2022
[
"otel.name",
{
"Debug": "POST /graphql"
Copy link
Contributor

Choose a reason for hiding this comment

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

why is there a Debug key? What does it mean in that context?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor Author

@o0Ignition0o o0Ignition0o Jan 5, 2022

Choose a reason for hiding this comment

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

@o0Ignition0o
Copy link
Contributor Author

missing a lot of docs and explanation, but the functionality is there

@o0Ignition0o o0Ignition0o marked this pull request as ready for review January 9, 2022 15:23
@o0Ignition0o o0Ignition0o merged commit dbb3e19 into main Jan 10, 2022
@o0Ignition0o o0Ignition0o deleted the igni/tracing_span_tests branch January 10, 2022 16:06
Copy link
Contributor

@cecton cecton left a comment

Choose a reason for hiding this comment

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

Can we take more time for PR reviews?

I understand this one has been created 28 days ago but it is ready for review for 3 days only. This doesn't give enough time for the reviewers.

Comment on lines +3 to +8
members = [
"apollo-router",
"apollo-router-core",
"apollo-router-benchmarks",
"xtask",
]
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. 🧶 You keep changing that and someone else keep changing it back.
  2. 🪛 This file is unnecessarily touched in this PR.

request,
schema,
)?;
let Variables { variables, paths } = query_span.in_scope(|| {
Copy link
Contributor

Choose a reason for hiding this comment

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

🧶 per our ADR on telemetry, we should prefer to put this at the source instead of the caller.

Comment on lines +349 to +353
if !response.is_primary() {
return Err(FetchError::SubrequestUnexpectedPatchResponse {
service: service_name.to_owned(),
});
}
Copy link
Contributor

Choose a reason for hiding this comment

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

🧶 I'm don't understand why this is under the query_span

@@ -23,7 +23,7 @@ impl RouterBridgeQueryPlanner {

#[async_trait]
impl QueryPlanner for RouterBridgeQueryPlanner {
#[tracing::instrument(name = "plan", level = "debug", skip_all)]
#[tracing::instrument(skip_all, name = "plan", level = "debug")]
Copy link
Contributor

Choose a reason for hiding this comment

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

🧶 File unnecessarily touch in this PR

If possible I would like to keep the commits on main focus on their actual feature. If you want to re-order all the skip_all everywhere, you can make it on a separate PR.

@@ -43,7 +43,7 @@ macro_rules! assert_federated_response {
};
}

#[test(tokio::test)]
#[tokio::test]
Copy link
Contributor

Choose a reason for hiding this comment

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

❔ Why did you remove the logger initialization for these tests?

@o0Ignition0o o0Ignition0o self-assigned this Mar 25, 2022
tinnou pushed a commit to Netflix-Skunkworks/router that referenced this pull request Oct 16, 2023
~Hey folks, wondering if you would be open to making the `build_errors`
field on `BuildErrors` `pub` ? We're using harmonizer for some internal
tooling and would like access to individual composition errors.~

Exposing `iter` instead to keep `build_errors` private.
lennyburdette added a commit that referenced this pull request Dec 20, 2023
)

* feat: request and response mapping for inner/connector fetch notes

This change inspects subgraph requests from the inner query plan and constructs a vec of requests for the SubgraphConnector to call.

It handles:
* root fields (including aliased fields)
* entity resolvers
* fields on entities (by basically providing a stub entity resolver)

For each request, we collect the info necessary for mapping the response (JSON selection transforms and key path). The response handling function applies this information to construct a single response from multiple JSON objects.

---------

Co-authored-by: o0Ignition0o <jeremy.lempereur@gmail.com>
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.

Add integration test for Open Telemetry
3 participants