router icon indicating copy to clipboard operation
router copied to clipboard

support Apollo-Expose-Query-Plan: dry-run

Open lennyburdette opened this issue 1 year ago • 9 comments

to fetch the query plan without actually executing the operation


Checklist

Complete the checklist (and note appropriate exceptions) before the PR is marked ready-for-review.

  • [ ] Changes are compatible[^1]
  • [ ] Documentation[^2] completed
  • [ ] Performance impact assessed and acceptable
  • Tests added and passing[^3]
    • [x] Unit Tests
    • [ ] Integration Tests
    • [ ] Manual Tests

Exceptions

Note any exceptions here

Notes

[^1]: It may be appropriate to bring upcoming changes to the attention of other (impacted) groups. Please endeavour to do this before seeking PR approval. The mechanism for doing this will vary considerably, so use your judgement as to how and when to do this. [^2]: Configuration is an important part of many changes. Where applicable please try to document configuration examples. [^3]: Tick whichever testing boxes are applicable. If you are adding Manual Tests, please document the manual testing (extensively) in the Exceptions.

lennyburdette avatar Aug 15 '24 18:08 lennyburdette

@lennyburdette, please consider creating a changeset entry in /.changesets/. These instructions describe the process and tooling.

github-actions[bot] avatar Aug 15 '24 18:08 github-actions[bot]

CI performance tests

  • [x] const - Basic stress test that runs with a constant number of users
  • [ ] demand-control-instrumented - A copy of the step test, but with demand control monitoring and metrics enabled
  • [ ] demand-control-uninstrumented - A copy of the step test, but with demand control monitoring enabled
  • [ ] enhanced-signature - Enhanced signature enabled
  • [ ] events - Stress test for events with a lot of users and deduplication ENABLED
  • [ ] events_big_cap_high_rate - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity
  • [ ] events_big_cap_high_rate_callback - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity using callback mode
  • [ ] events_callback - Stress test for events with a lot of users and deduplication ENABLED in callback mode
  • [ ] events_without_dedup - Stress test for events with a lot of users and deduplication DISABLED
  • [ ] events_without_dedup_callback - Stress test for events with a lot of users and deduplication DISABLED using callback mode
  • [ ] extended-reference-mode - Extended reference mode enabled
  • [ ] large-request - Stress test with a 1 MB request payload
  • [ ] no-tracing - Basic stress test, no tracing
  • [ ] reload - Reload test over a long period of time at a constant rate of users
  • [ ] step-jemalloc-tuning - Clone of the basic stress test for jemalloc tuning
  • [ ] step-local-metrics - Field stats that are generated from the router rather than FTV1
  • [ ] step-with-prometheus - A copy of the step test with the Prometheus metrics exporter enabled
  • [x] step - Basic stress test that steps up the number of users over time
  • [ ] xlarge-request - Stress test with 10 MB request payload
  • [ ] xxlarge-request - Stress test with 100 MB request payload

router-perf[bot] avatar Aug 15 '24 18:08 router-perf[bot]

whoa, updating the testing artifacts added a bunch of folks as reviewers; I'm still figuring out how to work in the router repo, so ignore this pr for now (making it a draft again)

aaronArinder avatar Sep 04 '24 19:09 aaronArinder

do you know why the docs commits ended up in this branch?

lennyburdette avatar Sep 06 '24 13:09 lennyburdette

@lennyburdette: mmm, rebased, but not sure why there are mdx changes in the diff (unless you added them before?)

aaronArinder avatar Sep 06 '24 14:09 aaronArinder

if i did, i didn't intend too. maybe rebase -i and remove those commits? they're all associated with merged pull requests

lennyburdette avatar Sep 06 '24 14:09 lennyburdette

when I return to this branch, I'll track down what happened; I'll rebase them away if they're not from you, otherwise I'll just keep rebasing via the github UI and deal with it soonish

aaronArinder avatar Sep 06 '24 15:09 aaronArinder

@aaronArinder Is this ready to be merged? (rebasing discussed above all done?). The commits still look a bit odd in terms of "what would be squashed"

abernix avatar Sep 16 '24 12:09 abernix

@abernix: I haven't had time to rebase, and I still need to get some changes sorted/pushed (filtering what we send back--have something in the right direction, but it's not complete yet). I'm hoping to return to it next week or the week after. If we need to get it in for whatever reason, it's experimental and I can just follow-up with the filtering stuff

aaronArinder avatar Sep 16 '24 15:09 aaronArinder

@aaronArinder Just putting the feelers out on this again. Understand if you can't do any further re-factoring, but could you rebase?

abernix avatar Nov 05 '24 18:11 abernix

Ping on this again. This has been a request that has come up a few times. 😄

abernix avatar Jan 10 '25 18:01 abernix

What is the difference at the end of day from Dry-Run to Mock mode?

Does this return an error to clients?

smyrick avatar Jan 23 '25 16:01 smyrick

Completed via #6670.

lleadbet avatar Jan 29 '25 18:01 lleadbet