Skip to content

Commit

Permalink
Merge dev into next (#5857)
Browse files Browse the repository at this point in the history
  • Loading branch information
dylan-apollo authored Aug 20, 2024
2 parents 95e6aae + 4e4b7f9 commit c89effb
Show file tree
Hide file tree
Showing 74 changed files with 3,673 additions and 1,712 deletions.
7 changes: 7 additions & 0 deletions .changesets/feat_geal_v8_heap_statistics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
### Add V8 heap usage metrics ([PR #5781](https://github.com/apollographql/router/pull/5781))

The router supports new gauge metrics for tracking heap memory usage of the V8 Javascript engine:
- `apollo.router.v8.heap.used`: heap memory used by V8, in bytes
- `apollo.router.v8.heap.total`: total heap allocated by V8, in bytes

By [@Geal](https://github.com/Geal) in https://github.com/apollographql/router/pull/5781
28 changes: 28 additions & 0 deletions .changesets/feat_tninesling_cost_directives.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
### Account for demand control directives when scoring operations ([PR #5777](https://github.com/apollographql/router/pull/5777))

When scoring operations in the demand control plugin, utilize applications of `@cost` and `@listSize` from the supergraph schema to make better cost estimates.

For expensive resolvers, the `@cost` directive can override the default weights in the cost calculation.

```graphql
type Product {
id: ID!
name: String
expensiveField: Int @cost(weight: 20)
}
```

Additionally, if a list field's length differs significantly from the globally-configured list size, the `@listSize` directive can provide a tighter size estimate.

```graphql
type Magazine {
# This is assumed to always return 5 items
headlines: [Article] @listSize(assumedSize: 5)

# This is estimated to return as many items as are requested by the parameter named "first"
getPage(first: Int!, after: ID!): [Article]
@listSize(slicingArguments: ["first"])
}
```

By [@tninesling](https://github.com/tninesling) in https://github.com/apollographql/router/pull/5777
8 changes: 8 additions & 0 deletions .changesets/feat_update_federation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
### Update federation to 2.8.3 ([PR #5781](https://github.com/apollographql/router/pull/5781))

> [!IMPORTANT]
> If you have enabled [Distributed query plan caching](https://www.apollographql.com/docs/router/configuration/distributed-caching/#distributed-query-plan-caching), this release changes the hashing algorithm used for the cache keys. On account of this, you should anticipate additional cache regeneration cost when updating between these versions while the new hashing algorithm comes into service.
This updates the router from federation version 2.8.1 to 2.8.3, with a [fix for fragment generation](https://github.com/apollographql/federation/pull/3043).

By [@Geal](https://github.com/Geal) in https://github.com/apollographql/router/pull/5781
5 changes: 5 additions & 0 deletions .changesets/fix_geal_subgraph_error_path.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### set the subgraph error path if not present ([PR #5773](https://github.com/apollographql/router/pull/5773))

This fixes subgraph response conversion to set the error path in all cases. For some network level errors, the subgraph service was not setting the path

By [@Geal](https://github.com/Geal) in https://github.com/apollographql/router/pull/5773
Loading

0 comments on commit c89effb

Please sign in to comment.