Skip to content

Conversation

@tobias-tengler
Copy link
Member

@tobias-tengler tobias-tengler commented Oct 10, 2025

No description provided.

@tobias-tengler tobias-tengler force-pushed the tte/remove-combined-services branch 4 times, most recently from 5f36e6e to ef09a5a Compare November 18, 2025 14:57
@github-actions github-actions bot added the 📚 documentation This issue is about working on our documentation. label Nov 18, 2025
@tobias-tengler tobias-tengler force-pushed the tte/remove-combined-services branch 2 times, most recently from c08732d to 7cb0c59 Compare November 19, 2025 13:23
@tobias-tengler tobias-tengler force-pushed the tte/remove-combined-services branch from 7cb0c59 to a76249a Compare November 19, 2025 13:24
@tobias-tengler tobias-tengler marked this pull request as ready for review November 19, 2025 14:16
Copilot AI review requested due to automatic review settings November 19, 2025 14:16
Copilot finished reviewing on behalf of tobias-tengler November 19, 2025 14:17
@tobias-tengler tobias-tengler merged commit d4b1953 into main Nov 19, 2025
117 of 118 checks passed
@tobias-tengler tobias-tengler deleted the tte/remove-combined-services branch November 19, 2025 14:24
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR removes the CombinedServiceProvider infrastructure to achieve clearer separation between schema and application services in Hot Chocolate v16. The change improves AOT compatibility and service resolution transparency by requiring explicit cross-registration of application services into the schema service provider.

Key changes include:

  • Removal of CombinedServiceProvider and DictionaryServiceProvider classes
  • Introduction of AddApplicationService<T>() API for explicit cross-registration
  • Refactoring of Data layer handlers to use factory methods instead of type-based activation
  • Updated documentation explaining the new service separation model

Reviewed Changes

Copilot reviewed 191 out of 192 changed files in this pull request and generated no comments.

Show a summary per file
File Description
CombinedServiceProvider.cs Removed the combined service provider implementation
DictionaryServiceProvider.cs Removed the dictionary-based service provider
migrate-from-15-to-16.md Added migration documentation for the new service separation model
instrumentation.md Updated to show required AddApplicationService call for custom enrichers
RequestExecutorBuilderExtensions.Services.cs Added new AddApplicationService<T>() extension method
Various handler files Added static Create factory methods for handler instantiation
Error messages and resources Updated error messages to remove handler type information
Test files Updated tests to use new APIs and remove references to removed classes
Files not reviewed (1)
  • src/HotChocolate/Data/src/Data/DataResources.Designer.cs: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link
Contributor

🚀 Fusion Gateway Performance Results

Simple Composite Query

Constant Load (50 VUs)

Requests/sec Error Rate
5868.55 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.77ms 7.01ms 159.29ms 8.37ms 13.03ms 18.60ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
4690.45 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.76ms 38.70ms 304.55ms 47.30ms 103.56ms 120.50ms

Executed Query

fragment User on User {
  id
  username
  name
}

fragment Review on Review {
  id
  body
}

fragment Product on Product {
  inStock
  name
  price
  shippingEstimate
  upc
  weight
}

query TestQuery {
  topProducts(first: 5) {
    ...Product
    reviews {
      ...Review
      author {
        ...User
      }
    }
  }
}

Deep Recursion Query

Constant Load (50 VUs)

Requests/sec Error Rate
268.77 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
12.78ms 174.98ms 528.19ms 180.46ms 226.74ms 252.19ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
306.83 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
3.04ms 673.37ms 1720.11ms 691.90ms 1387.37ms 1471.04ms

Executed Query

fragment User on User {
  id
  username
  name
}

fragment Review on Review {
  id
  body
}

fragment Product on Product {
  inStock
  name
  price
  shippingEstimate
  upc
  weight
}

query TestQuery {
  users {
    ...User
    reviews {
      ...Review
      product {
        ...Product
        reviews {
          ...Review
          author {
            ...User
            reviews {
              ...Review
              product {
                ...Product
              }
            }
          }
        }
      }
    }
  }
  topProducts(first: 5) {
    ...Product
    reviews {
      ...Review
      author {
        ...User
        reviews {
          ...Review
          product {
            ...Product
          }
        }
      }
    }
  }
}

Variable Batching Throughput

Constant Load (50 VUs)

Requests/sec Error Rate
23945.38 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.09ms 1.67ms 45.55ms 2.04ms 3.89ms 4.76ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
18828.51 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.09ms 9.12ms 111.38ms 11.24ms 23.44ms 28.38ms

Executed Query

query TestQuery_8f7a46ce_2(
  $__fusion_1_upc: ID!
  $__fusion_2_price: Long!
  $__fusion_2_weight: Long!
) {
  productByUpc(upc: $__fusion_1_upc) {
    inStock
    shippingEstimate(weight: $__fusion_2_weight, price: $__fusion_2_price)
  }
}

Variables (5 sets batched in single request)

[
  { "__fusion_1_upc": "1", "__fusion_2_price": 899, "__fusion_2_weight": 100 },
  { "__fusion_1_upc": "2", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 },
  { "__fusion_1_upc": "3", "__fusion_2_price": 15, "__fusion_2_weight": 20 },
  { "__fusion_1_upc": "4", "__fusion_2_price": 499, "__fusion_2_weight": 100 },
  { "__fusion_1_upc": "5", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 }
]

No baseline data available for comparison.


Run 19504385147 • Commit d76fc4e • Wed, 19 Nov 2025 14:34:35 GMT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📚 documentation This issue is about working on our documentation. 🌶️ hot chocolate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants