Skip to content

fix: provides directive solve nested field - #72

Merged
n9te9 merged 4 commits into
mainfrom
fix/provides-directive-nested-field
Jun 29, 2026
Merged

fix: provides directive solve nested field#72
n9te9 merged 4 commits into
mainfrom
fix/provides-directive-nested-field

Conversation

@n9te9

@n9te9 n9te9 commented Jun 26, 2026

Copy link
Copy Markdown
Owner

SSIA

@n9te9 n9te9 self-assigned this Jun 26, 2026
@github-actions

Copy link
Copy Markdown

🚀 Benchmark Results (Go Gateway vs Apollo Router)

Fairness conditions: Both gateways run in Docker containers with identical resource limits (2 CPU / 512MB RAM).
Warmup: 500 requests at concurrency 50 before each measurement.

All Domains Performance Comparison

EC Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           EC - @key (Entity Resolution)                       3312.4407       0.0149       0.0144       0.0250       0.0306         N/A%          ✓
Apollo-Router        EC - @key (Entity Resolution)                       3200.4538       0.0155       0.0153       0.0220       0.0247         N/A%          ✓
Go-Gateway           EC - @external + @requires (Cross-Service)          1807.5815       0.0273       0.0271       0.0443       0.0516         N/A%          ✓
Apollo-Router        EC - @external + @requires (Cross-Service)          1506.1750       0.0329       0.0328       0.0435       0.0489         N/A%          ✓
Go-Gateway           EC - @shareable (Shared Fields)                     3262.2265       0.0151       0.0144       0.0258       0.0315         N/A%          ✓
Apollo-Router        EC - @shareable (Shared Fields)                     3079.6461       0.0161       0.0159       0.0231       0.0267         N/A%          ✓

FINTECH Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Fintech - @key (Entity Resolution)                  3351.1902       0.0147       0.0141       0.0256       0.0311         N/A%          ✓
Apollo-Router        Fintech - @key (Entity Resolution)                  3357.1368       0.0148       0.0147       0.0209       0.0242         N/A%          ✓
Go-Gateway           Fintech - @shareable (Account Balance)              9819.7605       0.0050       0.0047       0.0095       0.0123         N/A%          ✓
Apollo-Router        Fintech - @shareable (Account Balance)              4652.1252       0.0107       0.0106       0.0153       0.0178         N/A%          ✓
Go-Gateway           Fintech - @external + @requires (Risk Score)        2149.6205       0.0229       0.0225       0.0359       0.0419         N/A%          ✓
Apollo-Router        Fintech - @external + @requires (Risk Score)        1789.2383       0.0278       0.0278       0.0353       0.0389         N/A%          ✓

SAAS Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           SaaS - @key (Entity Resolution)                     6856.1033       0.0072       0.0067       0.0136       0.0175         N/A%          ✓
Apollo-Router        SaaS - @key (Entity Resolution)                     3501.0579       0.0141       0.0140       0.0201       0.0227         N/A%          ✓
Go-Gateway           SaaS - @shareable (Organization Shared)             6857.4394       0.0072       0.0067       0.0136       0.0172         N/A%          ✓
Apollo-Router        SaaS - @shareable (Organization Shared)             3408.0715       0.0145       0.0144       0.0207       0.0238         N/A%          ✓
Go-Gateway           SaaS - @external + @requires (Monthly Cost)         3960.6709       0.0124       0.0120       0.0211       0.0256         N/A%          ✓
Apollo-Router        SaaS - @external + @requires (Monthly Cost)         2325.6346       0.0213       0.0213       0.0280       0.0314         N/A%          ✓

SOCIAL Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Social - @shareable (Post Likes)                    3958.4814       0.0124       0.0119       0.0213       0.0269         N/A%          ✓
Apollo-Router        Social - @shareable (Post Likes)                    2299.9925       0.0215       0.0216       0.0284       0.0324         N/A%          ✓
Go-Gateway           Social - @key (Entity Resolution)                   6634.3737       0.0074       0.0070       0.0140       0.0176         N/A%          ✓
Apollo-Router        Social - @key (Entity Resolution)                   3419.9642       0.0145       0.0143       0.0203       0.0238         N/A%          ✓
Go-Gateway           Social - @external + @requires (Engagement)         2035.5926       0.0243       0.0238       0.0370       0.0431         N/A%          ✓
Apollo-Router        Social - @external + @requires (Engagement)         1701.3554       0.0292       0.0291       0.0372       0.0411         N/A%          ✓

TRAVEL Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Travel - @shareable (Flight Price)                  3696.3591       0.0133       0.0128       0.0225       0.0273         N/A%          ✓
Apollo-Router        Travel - @shareable (Flight Price)                  3380.8569       0.0146       0.0144       0.0207       0.0239         N/A%          ✓
Go-Gateway           Travel - @external + @requires (Total Cost)         2491.1839       0.0198       0.0195       0.0316       0.0364         N/A%          ✓
Apollo-Router        Travel - @external + @requires (Total Cost)         2222.1529       0.0223       0.0222       0.0295       0.0339         N/A%          ✓
Go-Gateway           Travel - @key (Entity Resolution)                   3445.4955       0.0143       0.0137       0.0247       0.0300         N/A%          ✓
Apollo-Router        Travel - @key (Entity Resolution)                   3456.7868       0.0143       0.0142       0.0199       0.0228         N/A%          ✓

📊 Performance Analysis

Overall Performance

Average Requests/sec across all tests:
  Go Gateway:     4242.57 req/s  (error rate: N/A%,  correctness issues: 0/15)
  Apollo Router:  2886.71 req/s  (error rate: N/A%,  correctness issues: 0/15)

✓ Go Gateway is 1.47x faster on average (throughput only; see error rate & correctness above)

Performance by Federation Directive

@key (Entity Resolution):
  Go Gateway:     4719.92 req/s  (err: N/A)
  Apollo Router:  3387.08 req/s  (err: N/A)

@shareable (Shared Fields):
  Go Gateway:     5518.85 req/s  (err: N/A)
  Apollo Router:  3364.14 req/s  (err: N/A)

@external + @requires (Cross-Service):
  Go Gateway:     2488.93 req/s  (err: N/A)
  Apollo Router:  1908.91 req/s  (err: N/A)

📊 Full benchmark results are available in Actions Artifacts

@github-actions

Copy link
Copy Markdown

🚀 Benchmark Results (Go Gateway vs Apollo Router)

Fairness conditions: Both gateways run in Docker containers with identical resource limits (2 CPU / 512MB RAM).
Warmup: 500 requests at concurrency 50 before each measurement.

All Domains Performance Comparison

EC Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           EC - @key (Entity Resolution)                       3413.7543       0.0145       0.0139       0.0246       0.0305         N/A%          ✓
Apollo-Router        EC - @key (Entity Resolution)                       3188.6115       0.0155       0.0154       0.0221       0.0254         N/A%          ✓
Go-Gateway           EC - @external + @requires (Cross-Service)          1698.7260       0.0290       0.0284       0.0470       0.0555         N/A%          ✓
Apollo-Router        EC - @external + @requires (Cross-Service)          1414.5467       0.0351       0.0348       0.0468       0.0530         N/A%          ✓
Go-Gateway           EC - @shareable (Shared Fields)                     3310.4074       0.0148       0.0143       0.0249       0.0300         N/A%          ✓
Apollo-Router        EC - @shareable (Shared Fields)                     3150.7519       0.0157       0.0156       0.0224       0.0257         N/A%          ✓

FINTECH Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Fintech - @key (Entity Resolution)                  4633.3624       0.0106       0.0103       0.0180       0.0220         N/A%          ✓
Apollo-Router        Fintech - @key (Entity Resolution)                  4131.5082       0.0120       0.0119       0.0168       0.0191         N/A%          ✓
Go-Gateway           Fintech - @shareable (Account Balance)              6796.0558       0.0072       0.0068       0.0134       0.0172         N/A%          ✓
Apollo-Router        Fintech - @shareable (Account Balance)              3549.5221       0.0139       0.0139       0.0196       0.0220         N/A%          ✓
Go-Gateway           Fintech - @external + @requires (Risk Score)        2036.3915       0.0242       0.0238       0.0377       0.0444         N/A%          ✓
Apollo-Router        Fintech - @external + @requires (Risk Score)        1740.0047       0.0286       0.0287       0.0362       0.0395         N/A%          ✓

SAAS Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           SaaS - @key (Entity Resolution)                     6629.9058       0.0074       0.0069       0.0138       0.0176         N/A%          ✓
Apollo-Router        SaaS - @key (Entity Resolution)                     3358.3418       0.0147       0.0146       0.0215       0.0243         N/A%          ✓
Go-Gateway           SaaS - @shareable (Organization Shared)             7940.5071       0.0062       0.0057       0.0117       0.0151         N/A%          ✓
Apollo-Router        SaaS - @shareable (Organization Shared)             3749.7515       0.0132       0.0131       0.0187       0.0213         N/A%          ✓
Go-Gateway           SaaS - @external + @requires (Monthly Cost)         3952.7156       0.0124       0.0122       0.0209       0.0255         N/A%          ✓
Apollo-Router        SaaS - @external + @requires (Monthly Cost)         2325.9269       0.0213       0.0214       0.0279       0.0309         N/A%          ✓

SOCIAL Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Social - @shareable (Post Likes)                    5849.0938       0.0084       0.0081       0.0142       0.0175         N/A%          ✓
Apollo-Router        Social - @shareable (Post Likes)                    3256.3157       0.0152       0.0152       0.0204       0.0230         N/A%          ✓
Go-Gateway           Social - @key (Entity Resolution)                   6920.3371       0.0071       0.0067       0.0129       0.0163         N/A%          ✓
Apollo-Router        Social - @key (Entity Resolution)                   3412.7621       0.0145       0.0144       0.0210       0.0242         N/A%          ✓
Go-Gateway           Social - @external + @requires (Engagement)         2209.9726       0.0224       0.0221       0.0344       0.0408         N/A%          ✓
Apollo-Router        Social - @external + @requires (Engagement)         1779.9445       0.0279       0.0278       0.0358       0.0397         N/A%          ✓

TRAVEL Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Travel - @shareable (Flight Price)                  3502.4427       0.0141       0.0137       0.0236       0.0287         N/A%          ✓
Apollo-Router        Travel - @shareable (Flight Price)                  3532.6786       0.0140       0.0139       0.0197       0.0228         N/A%          ✓
Go-Gateway           Travel - @external + @requires (Total Cost)         2571.6445       0.0192       0.0189       0.0309       0.0366         N/A%          ✓
Apollo-Router        Travel - @external + @requires (Total Cost)         2222.0546       0.0223       0.0222       0.0298       0.0334         N/A%          ✓
Go-Gateway           Travel - @key (Entity Resolution)                   3767.6439       0.0131       0.0126       0.0224       0.0271         N/A%          ✓
Apollo-Router        Travel - @key (Entity Resolution)                   3740.4692       0.0132       0.0132       0.0188       0.0217         N/A%          ✓

📊 Performance Analysis

Overall Performance

Average Requests/sec across all tests:
  Go Gateway:     4348.86 req/s  (error rate: N/A%,  correctness issues: 0/15)
  Apollo Router:  2970.21 req/s  (error rate: N/A%,  correctness issues: 0/15)

✓ Go Gateway is 1.46x faster on average (throughput only; see error rate & correctness above)

Performance by Federation Directive

@key (Entity Resolution):
  Go Gateway:     5073.00 req/s  (err: N/A)
  Apollo Router:  3566.34 req/s  (err: N/A)

@shareable (Shared Fields):
  Go Gateway:     5479.70 req/s  (err: N/A)
  Apollo Router:  3447.80 req/s  (err: N/A)

@external + @requires (Cross-Service):
  Go Gateway:     2493.89 req/s  (err: N/A)
  Apollo Router:  1896.50 req/s  (err: N/A)

📊 Full benchmark results are available in Actions Artifacts

@github-actions

Copy link
Copy Markdown

🚀 Benchmark Results (Go Gateway vs Apollo Router)

Fairness conditions: Both gateways run in Docker containers with identical resource limits (2 CPU / 512MB RAM).
Warmup: 500 requests at concurrency 50 before each measurement.

All Domains Performance Comparison

EC Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           EC - @key (Entity Resolution)                       3412.2878       0.0144       0.0138       0.0248       0.0306         N/A%          ✓
Apollo-Router        EC - @key (Entity Resolution)                       3102.7175       0.0160       0.0159       0.0225       0.0259         N/A%          ✓
Go-Gateway           EC - @external + @requires (Cross-Service)          1760.4378       0.0280       0.0278       0.0447       0.0520         N/A%          ✓
Apollo-Router        EC - @external + @requires (Cross-Service)          1454.1492       0.0341       0.0340       0.0455       0.0508         N/A%          ✓
Go-Gateway           EC - @shareable (Shared Fields)                     3413.4155       0.0144       0.0139       0.0247       0.0309         N/A%          ✓
Apollo-Router        EC - @shareable (Shared Fields)                     3166.2458       0.0156       0.0154       0.0222       0.0264         N/A%          ✓

FINTECH Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Fintech - @key (Entity Resolution)                  3367.8013       0.0146       0.0141       0.0247       0.0299         N/A%          ✓
Apollo-Router        Fintech - @key (Entity Resolution)                  3197.6190       0.0155       0.0154       0.0218       0.0254         N/A%          ✓
Go-Gateway           Fintech - @shareable (Account Balance)              6700.4563       0.0073       0.0070       0.0136       0.0178         N/A%          ✓
Apollo-Router        Fintech - @shareable (Account Balance)              3327.0355       0.0149       0.0147       0.0210       0.0237         N/A%          ✓
Go-Gateway           Fintech - @external + @requires (Risk Score)        2225.4575       0.0222       0.0217       0.0351       0.0416         N/A%          ✓
Apollo-Router        Fintech - @external + @requires (Risk Score)        1859.4301       0.0267       0.0267       0.0341       0.0373         N/A%          ✓

SAAS Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           SaaS - @key (Entity Resolution)                     6523.1103       0.0075       0.0071       0.0138       0.0181         N/A%          ✓
Apollo-Router        SaaS - @key (Entity Resolution)                     3484.7067       0.0142       0.0141       0.0200       0.0239         N/A%          ✓
Go-Gateway           SaaS - @shareable (Organization Shared)             7682.4261       0.0064       0.0060       0.0118       0.0148         N/A%          ✓
Apollo-Router        SaaS - @shareable (Organization Shared)             3662.6432       0.0135       0.0134       0.0192       0.0215         N/A%          ✓
Go-Gateway           SaaS - @external + @requires (Monthly Cost)         4172.6461       0.0118       0.0114       0.0198       0.0241         N/A%          ✓
Apollo-Router        SaaS - @external + @requires (Monthly Cost)         2400.9959       0.0207       0.0206       0.0272       0.0306         N/A%          ✓

SOCIAL Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Social - @shareable (Post Likes)                    4133.5059       0.0119       0.0115       0.0200       0.0244         N/A%          ✓
Apollo-Router        Social - @shareable (Post Likes)                    2360.6030       0.0210       0.0209       0.0276       0.0307         N/A%          ✓
Go-Gateway           Social - @key (Entity Resolution)                   6688.2328       0.0073       0.0069       0.0139       0.0176         N/A%          ✓
Apollo-Router        Social - @key (Entity Resolution)                   3234.1047       0.0153       0.0152       0.0215       0.0249         N/A%          ✓
Go-Gateway           Social - @external + @requires (Engagement)         2057.4244       0.0240       0.0235       0.0370       0.0437         N/A%          ✓
Apollo-Router        Social - @external + @requires (Engagement)         1763.1508       0.0282       0.0282       0.0359       0.0396         N/A%          ✓

TRAVEL Domain

Gateway              Test                                                  Req/sec      Avg (s)      P50 (s)      P95 (s)      P99 (s)         Err%      Correct
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Go-Gateway           Travel - @shareable (Flight Price)                  3420.1263       0.0144       0.0138       0.0248       0.0299         N/A%          ✓
Apollo-Router        Travel - @shareable (Flight Price)                  3213.6147       0.0154       0.0153       0.0220       0.0255         N/A%          ✓
Go-Gateway           Travel - @external + @requires (Total Cost)         2951.1350       0.0167       0.0164       0.0267       0.0319         N/A%          ✓
Apollo-Router        Travel - @external + @requires (Total Cost)         2459.4330       0.0202       0.0200       0.0269       0.0304         N/A%          ✓
Go-Gateway           Travel - @key (Entity Resolution)                   3593.0549       0.0137       0.0132       0.0235       0.0283         N/A%          ✓
Apollo-Router        Travel - @key (Entity Resolution)                   3510.8741       0.0141       0.0139       0.0202       0.0230         N/A%          ✓

📊 Performance Analysis

Overall Performance

Average Requests/sec across all tests:
  Go Gateway:     4140.10 req/s  (error rate: N/A%,  correctness issues: 0/15)
  Apollo Router:  2813.15 req/s  (error rate: N/A%,  correctness issues: 0/15)

✓ Go Gateway is 1.47x faster on average (throughput only; see error rate & correctness above)

Performance by Federation Directive

@key (Entity Resolution):
  Go Gateway:     4716.90 req/s  (err: N/A)
  Apollo Router:  3306.00 req/s  (err: N/A)

@shareable (Shared Fields):
  Go Gateway:     5069.99 req/s  (err: N/A)
  Apollo Router:  3146.03 req/s  (err: N/A)

@external + @requires (Cross-Service):
  Go Gateway:     2633.42 req/s  (err: N/A)
  Apollo Router:  1987.43 req/s  (err: N/A)

📊 Full benchmark results are available in Actions Artifacts

@n9te9
n9te9 merged commit 038936e into main Jun 29, 2026
25 checks passed
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.

1 participant