Skip to content

Conversation

@myronmarston
Copy link
Collaborator

Summary

  • Add mechanism for GraphQL extensions to log additional data in ElasticGraphQueryExecutorQueryDuration message
  • Query registry uses this to log query_registration_status with values:
    • matched_registered_query: exact match of registered query
    • differing_registered_query: same operation name but query differs
    • unregistered_query: client registered, no query with that name
    • unregistered_client: client not registered at all
  • Optimize ForRegisteredClient to check operation name before canonicalization

Supersedes #631 with a cleaner implementation based on PR feedback.

Test plan

  • Unit tests for QueryDetailsTracker extension_data
  • Unit tests for QueryExecutor including extension_data in logs
  • Acceptance tests for query_registration_status logging
  • Type checking passes
  • Linting passes
  • quick_build passes

🤖 Generated with Claude Code

@myronmarston myronmarston force-pushed the myron/query-registration-status-logging branch from 9d071f5 to 2d80f1f Compare January 22, 2026 19:04
Add mechanism for GraphQL extensions to log additional data in
ElasticGraphQueryExecutorQueryDuration message. Query registry uses
this to log query_registration_status with values:
- matched_registered_query: exact match of registered query
- differing_registered_query: same operation name but query differs
- unregistered_query: client registered, no query with that name
- unregistered_client: client not registered at all

Key changes:
- Add extension_data field and []= method to QueryDetailsTracker
- Merge extension_data into QueryExecutor log output
- Update query validators to return registration_status as 3rd element
- Update GraphQL extension to set query_registration_status in tracker
- Optimize ForRegisteredClient to check operation name before
  canonicalization for better performance
- Use selected_operation_name instead of operation_name to correctly
  identify single-operation queries

Co-Authored-By: Claude <noreply@anthropic.com>
@myronmarston myronmarston merged commit df70238 into main Jan 23, 2026
22 checks passed
@myronmarston myronmarston deleted the myron/query-registration-status-logging branch January 23, 2026 00:30
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.

3 participants