Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Apollo GraphQL packages #436

Merged
merged 1 commit into from
Oct 2, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 8, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence Type Update
@apollo/composition (source) 2.7.2 -> 2.9.2 age adoption passing confidence dependencies minor
@apollo/gateway (source) 2.8.5 -> 2.9.2 age adoption passing confidence dependencies minor
@apollo/server (source) 4.10.2 -> 4.11.0 age adoption passing confidence dependencies minor
ghcr.io/apollographql/router v1.43.0 -> v1.56.0 age adoption passing confidence minor

Release Notes

apollographql/federation (@​apollo/composition)

v2.9.2

Compare Source

Patch Changes

v2.9.1

Compare Source

Patch Changes

v2.9.0

Compare Source

Minor Changes
  • Implements two new directives for defining custom costs for demand control. The @cost directive allows setting a custom weight to a particular field in the graph, overriding the default cost calculation. The @listSize directive gives the cost calculator information about how to estimate the size of lists returned by subgraphs. This can either be a static size or a value derived from input arguments, such as paging parameters. (#​3074)
Patch Changes

v2.8.5

Compare Source

Patch Changes

v2.8.4

Compare Source

Patch Changes

v2.8.3

Compare Source

Patch Changes

v2.8.2

Compare Source

Patch Changes

v2.8.1

Compare Source

Patch Changes

v2.8.0

Compare Source

Minor Changes
  • Implement new directives to allow getting and setting context. This allows resolvers to reference and access data referenced by entities that exist in the GraphPath that was used to access the field. The following example demonstrates the ability to access the prop field within the Child resolver. (#​2988)

    type Query {
      p: Parent!
    }
    type Parent @​key(fields: "id") @​context(name: "context") {
      id: ID!
      child: Child!
      prop: String!
    }
    type Child @​key(fields: "id") {
      id: ID!
      b: String!
      field(a: String @​fromContext(field: "$context { prop }")): Int!
    }
Patch Changes

v2.7.8

Compare Source

Patch Changes

v2.7.7

Compare Source

Patch Changes

v2.7.6

Compare Source

Patch Changes

v2.7.5

Compare Source

Patch Changes

v2.7.4

Compare Source

Patch Changes

v2.7.3

Compare Source

Patch Changes
apollographql/federation (@​apollo/gateway)

v2.9.2

Compare Source

Patch Changes

v2.9.1

Compare Source

Patch Changes

v2.9.0

Compare Source

Patch Changes
apollographql/apollo-server (@​apollo/server)

v4.11.0

Compare Source

Minor Changes
  • #​7916 4686454 Thanks @​andrewmcgivery! - Add hideSchemaDetailsFromClientErrors option to ApolloServer to allow hiding 'did you mean' suggestions from validation errors.

    Even with introspection disabled, it is possible to "fuzzy test" a graph manually or with automated tools to try to determine the shape of your schema. This is accomplished by taking advantage of the default behavior where a misspelt field in an operation
    will be met with a validation error that includes a helpful "did you mean" as part of the error text.

    For example, with this option set to true, an error would read Cannot query field "help" on type "Query". whereas with this option set to false it would read Cannot query field "help" on type "Query". Did you mean "hello"?.

    We recommend enabling this option in production to avoid leaking information about your schema to malicious actors.

    To enable, set this option to true in your ApolloServer options:

    const server = new ApolloServer({
      typeDefs,
      resolvers,
      hideSchemaDetailsFromClientErrors: true,
    });

v4.10.5

Compare Source

Patch Changes

v4.10.4

Compare Source

Patch Changes
  • #​7871 18a3827 Thanks @​tninesling! - Subscription heartbeats are initialized prior to awaiting subscribe(). This allows long-running setup to happen in the returned Promise without the subscription being terminated prior to resolution.

v4.10.3

Compare Source

Patch Changes
  • #​7866 5f335a5 Thanks @​tninesling! - Catch errors thrown by subscription generators, and gracefully clean up the subscription instead of crashing.
apollographql/router (ghcr.io/apollographql/router)

v1.56.0

Compare Source

[!IMPORTANT]
If you have enabled 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.

🚀 Features

Native query planner is now in public preview

The native query planner is now in public preview. You can configure the experimental_query_planner_mode option in the router configuration YAML to change the mode of the native query planner. The following modes are available:

  • new: Enable only the new Rust-native query planner in the hot-path of query execution.
  • legacy: Enable only the legacy JavaScript query planner in the hot-path of query execution.
  • both_best_effort: Enables both the new and legacy query planners. They are configured in a comparison-based mode of operation with the legacy planner in the hot-path and the and the new planner in the cold-path. Comparisons are made between the two plans on a sampled basis and metrics are available to analyze the differences in aggregate.
Support loading Apollo key from file (PR #​5917)

You can now specific the location to a file containing the Apollo key that's used by Apollo Uplink and usage reporting. The router now supports both the --apollo-key-path CLI argument and the APOLLO_KEY_PATH environment variable for passing the file containing your Apollo key.

Previously, the router supported only the APOLLO_KEY environment variable to provide the key. The new CLI argument and environment variable help users who prefer not to pass sensitive keys through environment variables.

Note: This feature is unavailable for Windows.

By @​lleadbet in https://github.com/apollographql/router/pull/5917

🐛 Fixes

Prevent sending internal apollo_private.* attributes to Jaeger collector (PR #​6033)

When using the router's Jaeger collector to send traces, you will no longer receive span attributes with the apollo_private. prefix. Those attributes were incorrectly sent, as that prefix is reserved for internal attributes.

By @​bnjjj in https://github.com/apollographql/router/pull/6033

Fix displaying custom event attributes on subscription events (PR #​6033)

The router now properly displays custom event attributes that are set with selectors at the supergraph level.

An example configuration:

telemetry:
  instrumentation:
    events:
      supergraph:
        supergraph.event:
          message: supergraph event
          on: event_response # on every supergraph event (like subscription event for example)
          level: info
          attributes:
            test:
              static: foo
            response.data:
              response_data: $ # Display all the response data payload
            response.errors:
              response_errors: $ # Display all the response errors payload

By @​bnjjj in https://github.com/apollographql/router/pull/6033

Update to Federation v2.9.2 (PR #​6069)

This release updates to Federation v2.9.2, with a small fix to the internal __typename optimization and a fix to prevent argument name collisions in the @context/@fromContext directives.

By @​dariuszkuc in https://github.com/apollographql/router/pull/6069

📃 Configuration

Add metrics for Rust vs. Deno configuration values (PR #​6056)

To help track the migration from JavaScript (Deno) to native Rust implementations, the router now reports the values of the following configuration options to Apollo:

  • apollo.router.config.experimental_query_planner_mode
  • apollo.router.config.experimental_introspection_mode

By @​goto-bus-stop in https://github.com/apollographql/router/pull/6056

v1.55.0

Compare Source

[!IMPORTANT]
If you have enabled 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.

🚀 Features

Support aliasing standard attributes for telemetry (Issue #​5930)

The router now supports creating aliases for standard attributes for telemetry.

This fixes issues where standard attribute names collide with reserved attribute names. For example, the standard attribute name entity.type is a reserved attribute name for New Relic, so it won't work properly. Moreover entity.type is inconsistent with our other GraphQL attributes prefixed with graphql.

The example configuration below renames entity.type to graphql.type.name:

telemetry:
  instrumentation:
    spans:
      mode: spec_compliant # Docs state this significantly improves performance: https://www.apollographql.com/docs/router/configuration/telemetry/instrumentation/spans#spec_compliant
    instruments:
      cache: # Cache instruments configuration
        apollo.router.operations.entity.cache: # A counter which counts the number of cache hit and miss for subgraph requests
          attributes:
            graphql.type.name: # renames entity.type
              alias: entity_type # ENABLED and aliased to entity_type

By @​bnjjj in https://github.com/apollographql/router/pull/5957

Enable router customizations to access demand control info (PR #​5972)

Rhai scripts and coprocessors can now access demand control information via the context. For more information on Rhai constants to access demand control info, see available Rhai API constants.

By @​tninesling in https://github.com/apollographql/router/pull/5972

Support Redis connection pooling (PR #​5942)

The router now supports Redis connection pooling for APQs, query planners and entity caches. This can improve performance when there is contention on Redis connections or latency in Redis calls.

By @​Geal in https://github.com/apollographql/router/pull/5942

🐛 Fixes

Remove unused fragments and input arguments when filtering operations (PR #​5952)

This release fixes the authorization plugin's query filtering to remove unused fragments and input arguments if the related parts of the query are removed. Previously the plugin's query filtering generated validation errors when planning certain queries.

By @​Geal in https://github.com/apollographql/router/pull/5952

Hot-reloads will no longer interrupt certain gauges (PR #​5996, PR #​5999, PR #​5999)

Previously when the router hot-reloaded a schema or a configuration file, the following gauges stopped working:

  • apollo.router.cache.storage.estimated_size
  • apollo_router_cache_size
  • apollo.router.v8.heap.used
  • apollo.router.v8.heap.total
  • apollo.router.query_planning.queued

This issue has been fixed in this release, and the gauges now continue to function after a router hot-reloads.

By @​BrynCooke in https://github.com/apollographql/router/pull/5996 and https://github.com/apollographql/router/pull/5999 and https://github.com/apollographql/router/pull/6012

Datadog sample propagation will respect previous sampling decisions (PR #​6005)

PR #​5788 introduced a regression where sampling was set on propagated headers regardless of the sampling decision in the router or upstream.

This PR reverts the code in question and adds a test to check that a non-sampled request doesn't result in sampling in the downstream subgraph service.

By @​BrynCooke in https://github.com/apollographql/router/pull/6005

Include request variables when scoring for demand control (PR #​5995)

Demand control scoring in the router now accounts for variables in queries.

By @​tninesling in https://github.com/apollographql/router/pull/5995

📃 Configuration

Enable new and old schema introspection implementations by default (PR #​6014)

Starting with this release, if schema introspection is enabled, the router runs both the old Javascript implementation and a new Rust implementation of its introspection logic by default.

The more performant Rust implementation will eventually replace the Javascript implementation. For now, both implementations are run by default so we can definitively assess the reliability and stability of the Rust implementation before removing the Javascript one.

You can still toggle between implementations using the experimental_introspection_mode configuration key. Its valid values:

  • new runs only Rust-based validation
  • legacy runs only Javascript-based validation
  • both (default) runs both in comparison and logs errors if differences arise

Having both as the default causes no client-facing impact. It will record and output the metrics of its comparison as a apollo.router.operations.introspection.both counter. (Note: if this counter in your metrics has rust_error = true or is_matched = false, please open an issue with Apollo.)

Note: schema introspection itself is disabled by default, so its implementation(s) are run only if it's enabled in your configuration:

supergraph:
  introspection: true

By @​SimonSapin in https://github.com/apollographql/router/pull/6014

🧪 Experimental

Allow disabling persisted-queries-based query plan cache prewarm on schema reload

The router supports the new persisted_queries.experimental_prewarm_query_plan_cache.on_reload configuration option. It toggles whether a query plan cache that's prewarmed upon loading a new schema includes operations from persisted query lists. Its default is true. Setting it false precludes operations from persisted query lists from being added to the prewarmed query plan cache.

Some background about the development of this option:

  • In router v1.31.0, we started including operations from persisted query lists when the router prewarms the query plan cache when loading a new schema.

  • Then in router v1.49.0, we let you also prewarm the query plan cache from the persisted query list during router startup by setting persisted_queries.experimental_prewarm_query_plan_cache to true.

  • In this release, we now allow you to disable the original feature so that the router can prewarm only recent operations from the query planning cache (and not operations from persisted query lists) when loading a new schema.

Note: the option added in v1.49.0 has been renamed from persisted_queries.experimental_prewarm_query_plan_cache to persisted_queries.experimental_prewarm_query_plan_cache.on_startup. Existing configuration files will keep working as before, but with a warning that can be resolved by updating your config file:

 persisted_queries:
   enabled: true
-  experimental_prewarm_query_plan_cache: true
+  experimental_prewarm_query_plan_cache:
+    on_startup: true

By @​glasser in https://github.com/apollographql/router/pull/5990

v1.54.0

Compare Source

🚀 Features
Add configurability of span attributes in logs (Issue #​5540)

The router supports a new telemetry.exporters.logging.stdout.format.json.span_attributes option that enables you to choose a subset of all span attributes to display in your logs.

When span_attributes is specified, the router searches for the first attribute in its input list of span attributes from the root span to the current span and attaches it to the outermost JSON object for the log event. If you set the same attribute name for different spans at different levels, the router chooses the attributes of child spans before the attributes of parent spans.

For example, if you have spans that contains span_attr_1 attribute and you only want to display this span attribute:

telemetry:
  exporters:
     logging:
       stdout:
         enabled: true
         format: 
           json:
             display_span_list: false
             span_attributes:
               - span_attr_1

Example output with a list of spans:

{
  "timestamp": "2023-10-30T14:09:34.771388Z",
  "level": "INFO",
  "fields": {
    "event_attr_1": "event_attr_1",
    "event_attr_2": "event_attr_2"
  },
  "target": "event_target",
  "span_attr_1": "span_attr_1"
}

To learn more, go to span_attributes docs.
By @​bnjjj in https://github.com/apollographql/router/pull/5867

Add a histogram metric tracking evaluated query plans (PR #​5875)

The router supports the new apollo.router.query_planning.plan.evaluated_plans histogram metric to track the number of evaluated query plans.

You can use it to help set an optimal supergraph.query_planning.experimental_plans_limit option that limits the number of query plans evaluated for a query and reduces the time spent planning.

By @​Geal in https://github.com/apollographql/router/pull/5875

🐛 Fixes
Fix Datadog sampling (PR #​5788)

The router's Datadog exporter has been fixed so that traces are sampled as intended.

Previously, the Datadog exporter's context may not have been set correctly, causing traces to be undersampled.

By @​BrynCooke & @​bnjjj in https://github.com/apollographql/router/pull/5788

📃 Configuration
General availability of Apollo usage report generation (#​5807)

The router's Apollo usage report generation feature that was previously experimental is now generally available.

If you used its experimental configuration, you should migrate to the new configuration options:

  • telemetry.apollo.experimental_apollo_metrics_reference_mode is now telemetry.apollo.metrics_reference_mode
  • telemetry.apollo.experimental_apollo_signature_normalization_algorithm is now telemetry.apollo.signature_normalization_algorithm
  • experimental_apollo_metrics_generation_mode has been removed because the Rust implementation (the default since router v1.49.0) is generating reports identical to the previous router-bridge implementation

The experimental configuration options are now deprecated. They are functional but will log warnings.

By @​bonnici in https://github.com/apollographql/router/pull/5807

Helm: Enable easier Kubernetes debugging with heaptrack (Issue #​5789)

The router's Helm chart has been updated to help make debugging with heaptrack easier.

Previously, when debugging multiple Pods with heaptrack, all Pods wrote to the same file, so they'd overwrite each others' results. This issue has been fixed by adding a hostname to each output data file from heaptrack.

Also, the Helm chart now supports a restartPolicy that enables you to configure a Pod's restart policy. The default value of restartPolicy is Always (the same as the Kubernetes default).

By @​cyberhck in https://github.com/apollographql/router/pull/5850

📚 Documentation
Document OpenTelemetry information for operation limits (PR #​5884)

The router's docs for operation limits now describe using telemetry to set operation limits and logging values.

By @​andrewmcgivery in https://github.com/apollographql/router/pull/5884

v1.53.0

Compare Source

[!IMPORTANT]
If you have enabled 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.

🚀 Features
Support demand control directives (PR #​5777)

⚠️ This is a GraphOS Router feature.

The router supports two new demand control directives, @cost and @listSize, that you can use to provide more accurate estimates of GraphQL operation costs to the router's demand control plugin.

Use the @cost directive to customize the weights of operation cost calculations, particularly for expensive resolvers.

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

Use the @listSize directive to provide a more accurate estimate for the size of a specific list field, particularly for those that differ greatly from the global list size estimate.

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"])
}

To learn more, go to Demand Control docs.

By @​tninesling in https://github.com/apollographql/router/pull/5777

General Availability (GA) of Demand Control (PR #​5868)

Demand control in the router is now a generally available (GA) feature.

GA compatibility update: if you used demand control during its preview, to use it in GA you must update your configuration from preview_demand_control to demand_control.

To learn more, go to Demand Control docs.

By @​tninesling in https://github.com/apollographql/router/pull/5868

Enable native query planner to run in the background (PR #​5790, PR #​5811, PR #​5771, PR #​5860)

The router now schedules background jobs to run the native (Rust) query planner to compare its results to the legacy implementation. This helps ascertain its correctness before making a decision to switch entirely to it from the legacy query planner.

To learn more, go to Experimental Query Planner Mode docs.

The router continues to use the legacy query planner to plan and execute operations, so there is no effect on the hot path.

To disable running background comparisons with the native query planner, you can configure the router to enable only the legacy query planner:

experimental_query_planner_mode: legacy

By @​SimonSapin in (PR #​5790, PR #​5811, PR #​5771 PR #​5860)

Add warnings for invalid configuration of custom telemetry (PR #​5759)

The router now logs warnings when running with telemetry that may have invalid custom configurations.

For example, you may customize telemetry using invalid conditions or inaccessible statuses:

telemetry:
  instrumentation:
    events:
      subgraph:
        my.event:
          message: "Auditing Router Event"
          level: info
          on: request
          attributes:
            subgraph.response.status: code

##### Warning: should use selector for subgraph_name: true instead of comparing strings of subgraph_name and product
          condition:
            eq:
            - subgraph_name
            - product

Although the configuration is syntactically correct, its customization is invalid, and the router now outputs warnings for such invalid configurations.

By @​bnjjj in https://github.com/apollographql/router/pull/5759

Add V8 heap usage metrics (PR #​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 in https://github.com/apollographql/router/pull/5781

Update Federation to v2.9.0 (PR #​5902)

This updates the router to Federation v2.9.0.

By @​tninesling in https://github.com/apollographql/router/pull/5902

Helm: Support maxSurge and maxUnavailable for rolling updates (Issue #​5664)

The router Helm chart now supports the configuration of maxSurge and maxUnavailable for the RollingUpdate deployment strategy.

By @​theJC in https://github.com/apollographql/router/pull/5665

Support new telemetry trace ID format (PR #​5735)

The router supports a new UUID format for telemetry trace IDs.

The following formats are supported in router configuration for trace IDs:

  • open_telemetry
  • hexadecimal (same as opentelemetry)
  • decimal
  • datadog
  • uuid (may contain dashes)

You can configure router logging to display the formatted trace ID with display_trace_id:

 telemetry:
  exporters:
    logging:
      stdout:
        format:
          json:
            display_trace_id: (true|false|open_telemetry|hexadecimal|decimal|datadog|uuid)

By @​bnjjj in https://github.com/apollographql/router/pull/5735

Add format for trace ID propagation. (PR #​5803)

The router now supports specifying the format of trace IDs that are propagated to subgraphs via headers.

You can configure the format with the format option:

telemetry:
  exporters:
    tracing:
      propagation:
        request:
          header_name: "my_header"

##### Must be in UUID form, with or without dashes
          format: uuid

Note that incoming requests must be some form of UUID, either with or without dashes.

To learn about supported formats, go to request configuration reference docs.

By @​BrynCooke in https://github.com/apollographql/router/pull/5803

New apollo.router.cache.storage.estimated_size gauge (PR #​5770)

The router supports the new metric apollo.router.cache.storage.estimated_size that helps users understand and monitor the amount of memory that query planner cache entries consume.

The apollo.router.cache.storage.estimated_size metric gives an estimated size in bytes of a cache entry. It has the following attributes:

  • kind: query planner.
  • storage: memory.

Before using the estimate to decide whether to update the cache, users should validate that the estimate correlates with their pod's memory usage.

To learn how to troubleshoot with this metric, see the Pods terminating due to memory pressure guide in docs.

By @​BrynCooke in https://github.com/apollographql/router/pull/5770

🐛 Fixes
Fix GraphQL query directives validation bug (PR #​5753)

The router now supports GraphQL queries where a variable is used in a directive on the same operation where the variable is declared.

For example, the following query both declares and uses $var:

query GetSomething(: Int!) @​someDirective(argument: $var) {
  something
}

By @​goto-bus-stop in https://github.com/apollographql/router/pull/5753

Evaluate selectors in response stage when possible (PR #​5725)

The router now support


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title Update ghcr.io/apollographql/router Docker tag to v1.43.2 Update ghcr.io/apollographql/router Docker tag to v1.44.0 Apr 12, 2024
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 10556a9 to 2efe27c Compare April 15, 2024 20:13
@renovate renovate bot changed the title Update ghcr.io/apollographql/router Docker tag to v1.44.0 Update Apollo GraphQL packages Apr 15, 2024
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 4 times, most recently from c662db5 to 5983803 Compare April 22, 2024 16:24
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 5a2594d to 92ad64d Compare May 2, 2024 21:18
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 3 times, most recently from 461525a to bb0ae34 Compare May 10, 2024 17:01
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 4f8d8da to 9150c77 Compare May 21, 2024 22:24
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 85c9624 to 7cda92f Compare June 3, 2024 19:00
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 7cda92f to e6e00d1 Compare June 10, 2024 19:54
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 35d1716 to 15259cb Compare June 19, 2024 16:59
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 7cdc39b to f02badf Compare July 4, 2024 23:59
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from fbabb1f to 65ad710 Compare July 16, 2024 22:44
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from ecd757e to 5671b28 Compare July 25, 2024 22:11
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 5671b28 to 081ef98 Compare July 30, 2024 15:50
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 081ef98 to 735da6d Compare August 8, 2024 17:33
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 68f10b9 to 0414510 Compare August 27, 2024 12:27
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 1bae180 to a8f3635 Compare August 28, 2024 16:18
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from a8f3635 to ea3ebf4 Compare September 10, 2024 19:50
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 2 times, most recently from 023f961 to 56ba8bf Compare September 24, 2024 20:12
@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch 3 times, most recently from 9e7e223 to cde52eb Compare October 2, 2024 12:58
Copy link

github-actions bot commented Oct 2, 2024

Overview for: federation-v1/constant-vus-subgraphs-delay-resources

This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. It's being executed with a constant amount of VUs over a fixed amount of time. It measure things like memory usage, CPU usage, average RPS. It also includes a summary of the entire execution, and metrics information about HTTP execution times.

This scenario was running 100 VUs over 30s

Comparison

Comparison

Gateway RPS ⬇️ Requests Duration Notes
cosmo 167 5082 total, 0 failed avg: 356ms, p95: 894ms
apollo-router 160 4884 total, 0 failed avg: 370ms, p95: 953ms
wundergraph 148 4526 total, 0 failed avg: 370ms, p95: 1005ms
mesh-supergraph-bun 99 3038 total, 0 failed avg: 960ms, p95: 1609ms
apollo-server 67 2094 total, 0 failed avg: 1448ms, p95: 1779ms
mesh-supergraph 59 1820 total, 0 failed avg: 1648ms, p95: 2416ms
mercurius 42 1314 total, 0 failed avg: 2310ms, p95: 3330ms
Summary for: `cosmo`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 15246      ✗ 0    
     data_received..................: 446 MB  15 MB/s
     data_sent......................: 6.0 MB  199 kB/s
     http_req_blocked...............: avg=169.27µs min=1.34µs  med=2.91µs   max=265.96ms p(90)=4.49µs   p(95)=5.98µs  
     http_req_connecting............: avg=145.56µs min=0s      med=0s       max=265.9ms  p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=355.79ms min=14.51ms med=279.89ms max=2.34s    p(90)=736.95ms p(95)=893.73ms
       { expected_response:true }...: avg=355.79ms min=14.51ms med=279.89ms max=2.34s    p(90)=736.95ms p(95)=893.73ms
     http_req_failed................: 0.00%   ✓ 0          ✗ 5082 
     http_req_receiving.............: avg=136.16ms min=37.86µs med=96.17µs  max=2.15s    p(90)=521.26ms p(95)=672.41ms
     http_req_sending...............: avg=5.59ms   min=8.72µs  med=13.83µs  max=1.07s    p(90)=61.18µs  p(95)=732.11µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=214.04ms min=12.86ms med=212.16ms max=791.33ms p(90)=344.14ms p(95)=393.48ms
     http_reqs......................: 5082    167.629173/s
     iteration_duration.............: avg=593.22ms min=25.86ms med=506.01ms max=3.99s    p(90)=1.16s    p(95)=1.39s   
     iterations.....................: 5082    167.629173/s
     vus............................: 100     min=100      max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-router`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 14652      ✗ 0    
     data_received..................: 428 MB  14 MB/s
     data_sent......................: 5.8 MB  191 kB/s
     http_req_blocked...............: avg=81.67µs  min=1.63µs  med=4.51µs   max=47.3ms   p(90)=6.44µs   p(95)=8.31µs  
     http_req_connecting............: avg=56.36µs  min=0s      med=0s       max=5.22ms   p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=369.81ms min=15.17ms med=264.42ms max=2.19s    p(90)=795.69ms p(95)=952.77ms
       { expected_response:true }...: avg=369.81ms min=15.17ms med=264.42ms max=2.19s    p(90)=795.69ms p(95)=952.77ms
     http_req_failed................: 0.00%   ✓ 0          ✗ 4884 
     http_req_receiving.............: avg=151.53ms min=37.23µs med=113.39µs max=2.04s    p(90)=551.84ms p(95)=731.62ms
     http_req_sending...............: avg=7.25ms   min=9.38µs  med=24.07µs  max=1.4s     p(90)=136.92µs p(95)=6.93ms  
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=211.02ms min=14.52ms med=200.97ms max=892.86ms p(90)=345.63ms p(95)=412.5ms 
     http_reqs......................: 4884    160.987031/s
     iteration_duration.............: avg=617.15ms min=30.04ms med=493.08ms max=4.21s    p(90)=1.26s    p(95)=1.55s   
     iterations.....................: 4884    160.987031/s
     vus............................: 100     min=100      max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `wundergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 13578      ✗ 0    
     data_received..................: 397 MB  13 MB/s
     data_sent......................: 5.4 MB  177 kB/s
     http_req_blocked...............: avg=187.78µs min=1.74µs  med=4.01µs   max=390.18ms p(90)=6.11µs   p(95)=10.18µs 
     http_req_connecting............: avg=32.84µs  min=0s      med=0s       max=72.39ms  p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=369.92ms min=13.61ms med=267.09ms max=2.2s     p(90)=831.32ms p(95)=1s      
       { expected_response:true }...: avg=369.92ms min=13.61ms med=267.09ms max=2.2s     p(90)=831.32ms p(95)=1s      
     http_req_failed................: 0.00%   ✓ 0          ✗ 4526 
     http_req_receiving.............: avg=158.38ms min=42.46µs med=177.57µs max=1.84s    p(90)=605.17ms p(95)=797.93ms
     http_req_sending...............: avg=4.97ms   min=9.11µs  med=21µs     max=1.61s    p(90)=76.38µs  p(95)=393.16µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=206.56ms min=13.53ms med=198.78ms max=850.22ms p(90)=344.56ms p(95)=400.35ms
     http_reqs......................: 4526    148.963816/s
     iteration_duration.............: avg=667.44ms min=29.74ms med=535.85ms max=3.65s    p(90)=1.39s    p(95)=1.65s   
     iterations.....................: 4526    148.963816/s
     vus............................: 100     min=100      max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph-bun`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 9114      ✗ 0    
     data_received..................: 267 MB  8.7 MB/s
     data_sent......................: 3.6 MB  118 kB/s
     http_req_blocked...............: avg=27.25µs  min=1.58µs   med=3µs      max=3.13ms   p(90)=4.89µs  p(95)=10.01µs 
     http_req_connecting............: avg=21.42µs  min=0s       med=0s       max=3.1ms    p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=959.6ms  min=416.05ms med=824.59ms max=1.8s     p(90)=1.51s   p(95)=1.6s    
       { expected_response:true }...: avg=959.6ms  min=416.05ms med=824.59ms max=1.8s     p(90)=1.51s   p(95)=1.6s    
     http_req_failed................: 0.00%   ✓ 0         ✗ 3038 
     http_req_receiving.............: avg=12.35ms  min=34.56µs  med=91.22µs  max=465.74ms p(90)=4.21ms  p(95)=77.95ms 
     http_req_sending...............: avg=453.21µs min=8.82µs   med=13.94µs  max=109.22ms p(90)=42.66µs p(95)=234.11µs
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=946.8ms  min=415.77ms med=817.13ms max=1.8s     p(90)=1.5s    p(95)=1.58s   
     http_reqs......................: 3038    99.061382/s
     iteration_duration.............: avg=998.64ms min=441.2ms  med=867.43ms max=1.86s    p(90)=1.55s   p(95)=1.65s   
     iterations.....................: 3038    99.061382/s
     vus............................: 100     min=100     max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-server`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 6282      ✗ 0    
     data_received..................: 184 MB  5.9 MB/s
     data_sent......................: 2.5 MB  80 kB/s
     http_req_blocked...............: avg=58.86µs  min=1.39µs   med=2.89µs   max=3.68ms  p(90)=4.68µs   p(95)=28.97µs 
     http_req_connecting............: avg=51.35µs  min=0s       med=0s       max=2.98ms  p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=1.44s    min=545.58ms med=1.3s     max=14.92s  p(90)=1.63s    p(95)=1.77s   
       { expected_response:true }...: avg=1.44s    min=545.58ms med=1.3s     max=14.92s  p(90)=1.63s    p(95)=1.77s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 2094 
     http_req_receiving.............: avg=174.43µs min=45.71µs  med=114.48µs max=10.89ms p(90)=202.42µs p(95)=311.45µs
     http_req_sending...............: avg=33.69µs  min=9.14µs   med=15.29µs  max=3.09ms  p(90)=31.58µs  p(95)=51.04µs 
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s      p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=1.44s    min=544.77ms med=1.3s     max=14.92s  p(90)=1.63s    p(95)=1.77s   
     http_reqs......................: 2094    67.521207/s
     iteration_duration.............: avg=1.46s    min=555.41ms med=1.31s    max=14.93s  p(90)=1.64s    p(95)=1.81s   
     iterations.....................: 2094    67.521207/s
     vus............................: 3       min=3       max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 5460      ✗ 0    
     data_received..................: 160 MB  5.2 MB/s
     data_sent......................: 2.2 MB  70 kB/s
     http_req_blocked...............: avg=184.86µs min=1.6µs    med=4.54µs   max=9.51ms  p(90)=6.28µs  p(95)=332.98µs
     http_req_connecting............: avg=153.24µs min=0s       med=0s       max=9.44ms  p(90)=0s      p(95)=93.58µs 
     http_req_duration..............: avg=1.64s    min=801.34ms med=1.59s    max=3.72s   p(90)=2.04s   p(95)=2.41s   
       { expected_response:true }...: avg=1.64s    min=801.34ms med=1.59s    max=3.72s   p(90)=2.04s   p(95)=2.41s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 1820 
     http_req_receiving.............: avg=1.55ms   min=44.97µs  med=141.89µs max=61.4ms  p(90)=3.2ms   p(95)=7.6ms   
     http_req_sending...............: avg=256.99µs min=9.56µs   med=25.53µs  max=71.49ms p(90)=52.15µs p(95)=1.08ms  
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s      p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=1.64s    min=789.06ms med=1.59s    max=3.72s   p(90)=2.04s   p(95)=2.41s   
     http_reqs......................: 1820    59.075398/s
     iteration_duration.............: avg=1.67s    min=808.62ms med=1.61s    max=3.73s   p(90)=2.07s   p(95)=2.43s   
     iterations.....................: 1820    59.075398/s
     vus............................: 100     min=100     max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mercurius`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 3942      ✗ 0    
     data_received..................: 115 MB  3.7 MB/s
     data_sent......................: 1.6 MB  51 kB/s
     http_req_blocked...............: avg=101.49µs min=2.05µs   med=4.47µs   max=4.39ms  p(90)=6.88µs   p(95)=476.81µs
     http_req_connecting............: avg=90.5µs   min=0s       med=0s       max=3.54ms  p(90)=0s       p(95)=443.72µs
     http_req_duration..............: avg=2.3s     min=314.81ms med=2.26s    max=5.47s   p(90)=3.14s    p(95)=3.32s   
       { expected_response:true }...: avg=2.3s     min=314.81ms med=2.26s    max=5.47s   p(90)=3.14s    p(95)=3.32s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 1314 
     http_req_receiving.............: avg=386.3µs  min=43.36µs  med=124.56µs max=71.71ms p(90)=258.01µs p(95)=512.18µs
     http_req_sending...............: avg=60.56µs  min=9.64µs   med=25.91µs  max=6.06ms  p(90)=49.58µs  p(95)=183.1µs 
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s      p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=2.3s     min=314.57ms med=2.26s    max=5.47s   p(90)=3.14s    p(95)=3.32s   
     http_reqs......................: 1314    42.585075/s
     iteration_duration.............: avg=2.32s    min=327.63ms med=2.27s    max=5.49s   p(90)=3.15s    p(95)=3.34s   
     iterations.....................: 1314    42.585075/s
     vus............................: 100     min=100     max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview

Copy link

github-actions bot commented Oct 2, 2024

Overview for: federation-v1/constant-vus-over-time

This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. It's being executed with a constant amount of VUs over a fixed amount of time. It measure things like memory usage, CPU usage, average RPS. It also includes a summary of the entire execution, and metrics information about HTTP execution times.

This scenario was running 100 VUs over 30s

Comparison

Comparison

Gateway RPS ⬇️ Requests Duration Notes
cosmo 169 5155 total, 0 failed avg: 510ms, p95: 682ms
apollo-router 165 5027 total, 0 failed avg: 523ms, p95: 732ms
wundergraph 154 4703 total, 0 failed avg: 550ms, p95: 987ms
mesh-supergraph-bun 72 2236 total, 0 failed avg: 1334ms, p95: 2322ms
apollo-server 49 1556 total, 0 failed avg: 1979ms, p95: 2516ms
mercurius 28 872 total, 0 failed avg: 3475ms, p95: 4851ms
mesh-supergraph 28 902 total, 0 failed avg: 3448ms, p95: 5801ms
Summary for: `cosmo`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 15465      ✗ 0    
     data_received..................: 452 MB  15 MB/s
     data_sent......................: 6.1 MB  202 kB/s
     http_req_blocked...............: avg=28.18µs  min=1.5µs   med=3.03µs   max=58.09ms  p(90)=4.85µs   p(95)=6.17µs  
     http_req_connecting............: avg=10.79µs  min=0s      med=0s       max=5.43ms   p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=510.2ms  min=32.25ms med=509.68ms max=1.34s    p(90)=623.61ms p(95)=681.62ms
       { expected_response:true }...: avg=510.2ms  min=32.25ms med=509.68ms max=1.34s    p(90)=623.61ms p(95)=681.62ms
     http_req_failed................: 0.00%   ✓ 0          ✗ 5155 
     http_req_receiving.............: avg=27.28ms  min=37.49µs med=86.12µs  max=1.03s    p(90)=69.11ms  p(95)=185.02ms
     http_req_sending...............: avg=1.59ms   min=8.44µs  med=14.03µs  max=432.39ms p(90)=51.15µs  p(95)=336.05µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=481.33ms min=32.16ms med=498.58ms max=751.03ms p(90)=579.52ms p(95)=604.49ms
     http_reqs......................: 5155    169.802903/s
     iteration_duration.............: avg=586.03ms min=42.05ms med=551.76ms max=1.87s    p(90)=786.23ms p(95)=951.3ms 
     iterations.....................: 5155    169.802903/s
     vus............................: 95      min=95       max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-router`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 15081      ✗ 0    
     data_received..................: 441 MB  15 MB/s
     data_sent......................: 6.0 MB  196 kB/s
     http_req_blocked...............: avg=73.63µs  min=1.52µs  med=3.72µs   max=55.11ms  p(90)=6µs      p(95)=8.42µs  
     http_req_connecting............: avg=48.99µs  min=0s      med=0s       max=5.02ms   p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=522.96ms min=15.44ms med=519.66ms max=1.9s     p(90)=662.98ms p(95)=732.32ms
       { expected_response:true }...: avg=522.96ms min=15.44ms med=519.66ms max=1.9s     p(90)=662.98ms p(95)=732.32ms
     http_req_failed................: 0.00%   ✓ 0          ✗ 5027 
     http_req_receiving.............: avg=29.93ms  min=37.49µs med=90.46µs  max=1.7s     p(90)=71.87ms  p(95)=181.57ms
     http_req_sending...............: avg=1.67ms   min=8.9µs   med=18.84µs  max=523.49ms p(90)=58.92µs  p(95)=264.81µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=491.35ms min=15.34ms med=503.66ms max=864.87ms p(90)=630.73ms p(95)=658.43ms
     http_reqs......................: 5027    165.021656/s
     iteration_duration.............: avg=601.93ms min=34.21ms med=570.99ms max=2.47s    p(90)=784.73ms p(95)=928.94ms
     iterations.....................: 5027    165.021656/s
     vus............................: 100     min=100      max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `wundergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 14109      ✗ 0    
     data_received..................: 413 MB  14 MB/s
     data_sent......................: 5.6 MB  184 kB/s
     http_req_blocked...............: avg=43.45µs  min=1.07µs  med=2.92µs   max=54.78ms p(90)=4.79µs   p(95)=6.22µs  
     http_req_connecting............: avg=19.75µs  min=0s      med=0s       max=5.81ms  p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=549.53ms min=20.14ms med=518.34ms max=2.34s   p(90)=863.98ms p(95)=987.4ms 
       { expected_response:true }...: avg=549.53ms min=20.14ms med=518.34ms max=2.34s   p(90)=863.98ms p(95)=987.4ms 
     http_req_failed................: 0.00%   ✓ 0          ✗ 4703 
     http_req_receiving.............: avg=39.39ms  min=40.74µs med=87.38µs  max=1.63s   p(90)=100.08ms p(95)=303.81ms
     http_req_sending...............: avg=2.21ms   min=7.94µs  med=13.81µs  max=1.04s   p(90)=45.96µs  p(95)=253.01µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s      p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=507.92ms min=20.07ms med=491.71ms max=1.23s   p(90)=808.76ms p(95)=911.87ms
     http_reqs......................: 4703    154.857111/s
     iteration_duration.............: avg=642.44ms min=30.44ms med=594.88ms max=3.03s   p(90)=993.68ms p(95)=1.18s   
     iterations.....................: 4703    154.857111/s
     vus............................: 100     min=100      max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph-bun`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 6708      ✗ 0    
     data_received..................: 196 MB  6.4 MB/s
     data_sent......................: 2.7 MB  87 kB/s
     http_req_blocked...............: avg=170.73µs min=1.59µs   med=4.5µs   max=48.43ms  p(90)=6.7µs   p(95)=25.04µs 
     http_req_connecting............: avg=123.13µs min=0s       med=0s      max=5.48ms   p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=1.33s    min=199.14ms med=1.15s   max=3.34s    p(90)=2.15s   p(95)=2.32s   
       { expected_response:true }...: avg=1.33s    min=199.14ms med=1.15s   max=3.34s    p(90)=2.15s   p(95)=2.32s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 2236 
     http_req_receiving.............: avg=13.91ms  min=44.9µs   med=143.5µs max=794.91ms p(90)=1.99ms  p(95)=35.51ms 
     http_req_sending...............: avg=422.98µs min=9.56µs   med=24.18µs max=64.17ms  p(90)=53.99µs p(95)=393.68µs
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=1.31s    min=198.66ms med=1.14s   max=3.34s    p(90)=2.14s   p(95)=2.31s   
     http_reqs......................: 2236    72.959958/s
     iteration_duration.............: avg=1.35s    min=212.61ms med=1.18s   max=3.37s    p(90)=2.17s   p(95)=2.34s   
     iterations.....................: 2236    72.959958/s
     vus............................: 100     min=100     max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-server`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 4668      ✗ 0    
     data_received..................: 137 MB  4.3 MB/s
     data_sent......................: 1.8 MB  59 kB/s
     http_req_blocked...............: avg=45.6µs   min=1.49µs   med=3.15µs   max=5.01ms  p(90)=5.44µs   p(95)=139.63µs
     http_req_connecting............: avg=32.97µs  min=0s       med=0s       max=2.71ms  p(90)=0s       p(95)=92.17µs 
     http_req_duration..............: avg=1.97s    min=371.98ms med=1.66s    max=20.96s  p(90)=2.08s    p(95)=2.51s   
       { expected_response:true }...: avg=1.97s    min=371.98ms med=1.66s    max=20.96s  p(90)=2.08s    p(95)=2.51s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 1556 
     http_req_receiving.............: avg=220.87µs min=49.32µs  med=118.46µs max=53.19ms p(90)=195.36µs p(95)=281.21µs
     http_req_sending...............: avg=35.53µs  min=8.74µs   med=17.08µs  max=4.56ms  p(90)=33.71µs  p(95)=98.68µs 
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s      p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=1.97s    min=371.88ms med=1.66s    max=20.96s  p(90)=2.08s    p(95)=2.51s   
     http_reqs......................: 1556    49.379392/s
     iteration_duration.............: avg=1.99s    min=380.14ms med=1.67s    max=20.97s  p(90)=2.09s    p(95)=2.52s   
     iterations.....................: 1556    49.379392/s
     vus............................: 52      min=52      max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mercurius`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 2616      ✗ 0    
     data_received..................: 77 MB   2.5 MB/s
     data_sent......................: 1.0 MB  34 kB/s
     http_req_blocked...............: avg=229.89µs min=1.5µs    med=4.4µs    max=5.16ms   p(90)=136.93µs p(95)=2.24ms  
     http_req_connecting............: avg=219.19µs min=0s       med=0s       max=5.09ms   p(90)=111.63µs p(95)=2.21ms  
     http_req_duration..............: avg=3.47s    min=678.03ms med=3.28s    max=7.82s    p(90)=4.52s    p(95)=4.85s   
       { expected_response:true }...: avg=3.47s    min=678.03ms med=3.28s    max=7.82s    p(90)=4.52s    p(95)=4.85s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 872  
     http_req_receiving.............: avg=156.87µs min=44.39µs  med=121.58µs max=4.45ms   p(90)=196.34µs p(95)=259.22µs
     http_req_sending...............: avg=47.28µs  min=8.55µs   med=24.23µs  max=518.19µs p(90)=62.09µs  p(95)=245.21µs
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=3.47s    min=677.92ms med=3.28s    max=7.82s    p(90)=4.52s    p(95)=4.85s   
     http_reqs......................: 872     28.438617/s
     iteration_duration.............: avg=3.48s    min=686.9ms  med=3.3s     max=7.83s    p(90)=4.53s    p(95)=4.86s   
     iterations.....................: 872     28.438617/s
     vus............................: 100     min=100     max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 2706      ✗ 0    
     data_received..................: 79 MB   2.5 MB/s
     data_sent......................: 1.1 MB  34 kB/s
     http_req_blocked...............: avg=177.13µs min=1.36µs   med=3.78µs   max=5.96ms p(90)=106.36µs p(95)=672.46µs
     http_req_connecting............: avg=164.78µs min=0s       med=0s       max=5.93ms p(90)=73.39µs  p(95)=603.98µs
     http_req_duration..............: avg=3.44s    min=891.61ms med=3.38s    max=7.19s  p(90)=5.09s    p(95)=5.8s    
       { expected_response:true }...: avg=3.44s    min=891.61ms med=3.38s    max=7.19s  p(90)=5.09s    p(95)=5.8s    
     http_req_failed................: 0.00%   ✓ 0         ✗ 902  
     http_req_receiving.............: avg=1.92ms   min=44.08µs  med=128.46µs max=91.2ms p(90)=2.26ms   p(95)=3.35ms  
     http_req_sending...............: avg=83.77µs  min=8.16µs   med=20.97µs  max=7.88ms p(90)=86.29µs  p(95)=285.28µs
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s     p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=3.44s    min=889.24ms med=3.38s    max=7.12s  p(90)=5.09s    p(95)=5.8s    
     http_reqs......................: 902     28.287504/s
     iteration_duration.............: avg=3.46s    min=901.97ms med=3.4s     max=7.21s  p(90)=5.1s     p(95)=5.81s   
     iterations.....................: 902     28.287504/s
     vus............................: 73      min=73      max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview

Copy link

github-actions bot commented Oct 2, 2024

Overview for: federation-v1/ramping-vus

This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. We are running a heavy load of concurrent VUs to measure response time and other stats, during stress. It measure things like memory usage, CPU usage, response times. It also includes a summary of the entire execution, and metrics information about HTTP execution times.

This scenario was trying to reach 500 concurrent VUs over 60s

Comparison

Comparison

Gateway duration(p95)⬇️ RPS Requests Durations Notes
apollo-router 2171ms 166 11665 total, 0 failed avg: 796ms, p95: 2172ms, max: 5574ms, med: 647ms
cosmo 2331ms 165 11572 total, 0 failed avg: 889ms, p95: 2332ms, max: 8332ms, med: 687ms
wundergraph 2657ms 157 10999 total, 0 failed avg: 844ms, p95: 2657ms, max: 5320ms, med: 533ms
mesh-supergraph-bun 6587ms 98 6908 total, 0 failed avg: 2696ms, p95: 6588ms, max: 10469ms, med: 2393ms
mesh-supergraph 6819ms 66 4672 total, 0 failed avg: 4091ms, p95: 6819ms, max: 8642ms, med: 4257ms
apollo-server 23923ms 67 4974 total, 0 failed avg: 4199ms, p95: 23924ms, max: 45298ms, med: 2237ms
Summary for: `apollo-router`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 34995      ✗ 0    
     data_received..................: 1.0 GB  15 MB/s
     data_sent......................: 14 MB   198 kB/s
     http_req_blocked...............: avg=21.47ms  min=1.5µs   med=3.35µs   max=3.74s  p(90)=5.5µs    p(95)=21.19µs
     http_req_connecting............: avg=20.27ms  min=0s      med=0s       max=3.74s  p(90)=0s       p(95)=0s     
     http_req_duration..............: avg=795.87ms min=6.2ms   med=646.52ms max=5.57s  p(90)=1.61s    p(95)=2.17s  
       { expected_response:true }...: avg=795.87ms min=6.2ms   med=646.52ms max=5.57s  p(90)=1.61s    p(95)=2.17s  
     http_req_failed................: 0.00%   ✓ 0          ✗ 11665
     http_req_receiving.............: avg=193.3ms  min=32.23µs med=80.8µs   max=4.34s  p(90)=762.29ms p(95)=1.23s  
     http_req_sending...............: avg=32.84ms  min=7.71µs  med=15.93µs  max=3.04s  p(90)=209.15µs p(95)=91.44ms
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s     
     http_req_waiting...............: avg=569.72ms min=6.12ms  med=435.92ms max=3.36s  p(90)=1.18s    p(95)=1.43s  
     http_reqs......................: 11665   166.614587/s
     iteration_duration.............: avg=1.57s    min=11.73ms med=1.16s    max=10.03s p(90)=3.58s    p(95)=4.49s  
     iterations.....................: 11665   166.614587/s
     vus............................: 1       min=1        max=499
     vus_max........................: 500     min=500      max=500

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `cosmo`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 34716      ✗ 0    
     data_received..................: 1.0 GB  15 MB/s
     data_sent......................: 14 MB   196 kB/s
     http_req_blocked...............: avg=22.93ms  min=1.68µs  med=3.68µs   max=3.79s  p(90)=6.2µs    p(95)=24.6µs 
     http_req_connecting............: avg=20.95ms  min=0s      med=0s       max=3.47s  p(90)=0s       p(95)=0s     
     http_req_duration..............: avg=888.69ms min=7.12ms  med=687.04ms max=8.33s  p(90)=1.73s    p(95)=2.33s  
       { expected_response:true }...: avg=888.69ms min=7.12ms  med=687.04ms max=8.33s  p(90)=1.73s    p(95)=2.33s  
     http_req_failed................: 0.00%   ✓ 0          ✗ 11572
     http_req_receiving.............: avg=287.97ms min=34.37µs med=90.53µs  max=7.47s  p(90)=990.7ms  p(95)=1.5s   
     http_req_sending...............: avg=35.07ms  min=8.29µs  med=17.4µs   max=6.37s  p(90)=209.65µs p(95)=90.92ms
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s     
     http_req_waiting...............: avg=565.64ms min=7.01ms  med=482.35ms max=5.27s  p(90)=1.14s    p(95)=1.37s  
     http_reqs......................: 11572   165.306014/s
     iteration_duration.............: avg=1.59s    min=13.11ms med=1.14s    max=11.15s p(90)=3.49s    p(95)=4.52s  
     iterations.....................: 11572   165.306014/s
     vus............................: 1       min=1        max=499
     vus_max........................: 500     min=500      max=500

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `wundergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 32997      ✗ 0    
     data_received..................: 965 MB  14 MB/s
     data_sent......................: 13 MB   187 kB/s
     http_req_blocked...............: avg=26.49ms  min=1.59µs  med=3.31µs   max=4.14s  p(90)=5.4µs  p(95)=97.98µs
     http_req_connecting............: avg=25.22ms  min=0s      med=0s       max=3.99s  p(90)=0s     p(95)=0s     
     http_req_duration..............: avg=844.08ms min=6.43ms  med=532.61ms max=5.32s  p(90)=2.05s  p(95)=2.65s  
       { expected_response:true }...: avg=844.08ms min=6.43ms  med=532.61ms max=5.32s  p(90)=2.05s  p(95)=2.65s  
     http_req_failed................: 0.00%   ✓ 0          ✗ 10999
     http_req_receiving.............: avg=309.54ms min=35.21µs med=92.37µs  max=4.7s   p(90)=1.29s  p(95)=1.97s  
     http_req_sending...............: avg=37.05ms  min=8.1µs   med=15.35µs  max=3.44s  p(90)=1.22ms p(95)=103.4ms
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s     p(95)=0s     
     http_req_waiting...............: avg=497.48ms min=6.33ms  med=376.64ms max=2.8s   p(90)=1.07s  p(95)=1.32s  
     http_reqs......................: 10999   157.099395/s
     iteration_duration.............: avg=1.68s    min=12.43ms med=1.14s    max=10.24s p(90)=4s     p(95)=4.92s  
     iterations.....................: 10999   157.099395/s
     vus............................: 1       min=1        max=500
     vus_max........................: 500     min=500      max=500

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph-bun`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 20724     ✗ 0    
     data_received..................: 606 MB  8.7 MB/s
     data_sent......................: 8.2 MB  117 kB/s
     http_req_blocked...............: avg=2.44ms  min=1.5µs   med=3.21µs  max=578.92ms p(90)=6.37µs  p(95)=245.24µs
     http_req_connecting............: avg=2.23ms  min=0s      med=0s      max=374.54ms p(90)=0s      p(95)=169.44µs
     http_req_duration..............: avg=2.69s   min=8.67ms  med=2.39s   max=10.46s   p(90)=5.07s   p(95)=6.58s   
       { expected_response:true }...: avg=2.69s   min=8.67ms  med=2.39s   max=10.46s   p(90)=5.07s   p(95)=6.58s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 6908 
     http_req_receiving.............: avg=22.95ms min=36.18µs med=80.4µs  max=1.74s    p(90)=11.91ms p(95)=139.64ms
     http_req_sending...............: avg=2.85ms  min=8.31µs  med=14.97µs max=949.77ms p(90)=110.2µs p(95)=10.58ms 
     http_req_tls_handshaking.......: avg=0s      min=0s      med=0s      max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=2.66s   min=8.5ms   med=2.36s   max=10.46s   p(90)=4.98s   p(95)=6.52s   
     http_reqs......................: 6908    98.665061/s
     iteration_duration.............: avg=2.77s   min=15.09ms med=2.49s   max=10.95s   p(90)=5.21s   p(95)=6.7s    
     iterations.....................: 6908    98.665061/s
     vus............................: 1       min=1       max=500
     vus_max........................: 500     min=500     max=500

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 14016     ✗ 0    
     data_received..................: 410 MB  5.9 MB/s
     data_sent......................: 5.5 MB  79 kB/s
     http_req_blocked...............: avg=487.63µs min=1.42µs  med=3.95µs   max=119.13ms p(90)=179.14µs p(95)=335.17µs
     http_req_connecting............: avg=448µs    min=0s      med=0s       max=119.06ms p(90)=119.83µs p(95)=232.84µs
     http_req_duration..............: avg=4.09s    min=11.05ms med=4.25s    max=8.64s    p(90)=6.39s    p(95)=6.81s   
       { expected_response:true }...: avg=4.09s    min=11.05ms med=4.25s    max=8.64s    p(90)=6.39s    p(95)=6.81s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 4672 
     http_req_receiving.............: avg=3.25ms   min=42.38µs med=126.72µs max=540.21ms p(90)=2.41ms   p(95)=5.75ms  
     http_req_sending...............: avg=682.28µs min=8.3µs   med=23.03µs  max=557.6ms  p(90)=51.89µs  p(95)=132.97µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=4.08s    min=10.93ms med=4.25s    max=8.64s    p(90)=6.38s    p(95)=6.79s   
     http_reqs......................: 4672    66.730981/s
     iteration_duration.............: avg=4.12s    min=17.61ms med=4.28s    max=8.66s    p(90)=6.44s    p(95)=6.88s   
     iterations.....................: 4672    66.730981/s
     vus............................: 1       min=1       max=499
     vus_max........................: 500     min=500     max=500

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-server`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 14922     ✗ 0    
     data_received..................: 437 MB  6.0 MB/s
     data_sent......................: 5.9 MB  81 kB/s
     http_req_blocked...............: avg=85.6µs   min=1.48µs  med=3.38µs   max=29.34ms  p(90)=135.64µs p(95)=241.31µs
     http_req_connecting............: avg=74.19µs  min=0s      med=0s       max=29.27ms  p(90)=72.04µs  p(95)=166.24µs
     http_req_duration..............: avg=4.19s    min=83.62ms med=2.23s    max=45.29s   p(90)=3.41s    p(95)=23.92s  
       { expected_response:true }...: avg=4.19s    min=83.62ms med=2.23s    max=45.29s   p(90)=3.41s    p(95)=23.92s  
     http_req_failed................: 0.00%   ✓ 0         ✗ 4974 
     http_req_receiving.............: avg=268.58µs min=45.79µs med=116.44µs max=169.22ms p(90)=194.51µs p(95)=283.61µs
     http_req_sending...............: avg=78.18µs  min=8.94µs  med=17.3µs   max=26.52ms  p(90)=43.18µs  p(95)=62.16µs 
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=4.19s    min=83.53ms med=2.23s    max=45.29s   p(90)=3.41s    p(95)=23.92s  
     http_reqs......................: 4974    67.941196/s
     iteration_duration.............: avg=4.21s    min=91.1ms  med=2.25s    max=45.3s    p(90)=3.42s    p(95)=23.94s  
     iterations.....................: 4974    67.941196/s
     vus............................: 20      min=20      max=500
     vus_max........................: 500     min=500     max=500

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview

@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from cde52eb to 0b42a94 Compare October 2, 2024 14:19
Copy link

github-actions bot commented Oct 2, 2024

Overview for: federation-v1/constant-vus-subgraphs-delay

This scenario runs 4 subgraphs and a GraphQL gateway with Federation v1 spec, and runs a heavy query. It's being executed with a constant amount of VUs over a fixed amount of time. It measure things like memory usage, CPU usage, average RPS. It also includes a summary of the entire execution, and metrics information about HTTP execution times.

This scenario was running 100 VUs over 30s

Comparison

Comparison

Gateway RPS ⬇️ Requests Duration Notes
apollo-router 171 5212 total, 0 failed avg: 485ms, p95: 697ms
cosmo 171 5224 total, 0 failed avg: 499ms, p95: 709ms
wundergraph 151 4609 total, 0 failed avg: 543ms, p95: 951ms
mesh-supergraph-bun 78 2400 total, 0 failed avg: 1233ms, p95: 2100ms
apollo-server 48 1511 total, 0 failed avg: 2028ms, p95: 2680ms
mercurius 30 927 total, 0 failed avg: 3266ms, p95: 4469ms
mesh-supergraph 26 852 total, 0 failed avg: 3715ms, p95: 5764ms
Summary for: `apollo-router`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 15636      ✗ 0    
     data_received..................: 457 MB  15 MB/s
     data_sent......................: 6.2 MB  204 kB/s
     http_req_blocked...............: avg=97.94µs  min=1.37µs  med=2.84µs   max=198.66ms p(90)=4.56µs   p(95)=6.47µs  
     http_req_connecting............: avg=91.91µs  min=0s      med=0s       max=198.58ms p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=485.22ms min=20.36ms med=482.08ms max=1.71s    p(90)=629.21ms p(95)=696.75ms
       { expected_response:true }...: avg=485.22ms min=20.36ms med=482.08ms max=1.71s    p(90)=629.21ms p(95)=696.75ms
     http_req_failed................: 0.00%   ✓ 0          ✗ 5212 
     http_req_receiving.............: avg=26.66ms  min=33.07µs med=76.67µs  max=1.37s    p(90)=67.59ms  p(95)=154.76ms
     http_req_sending...............: avg=1.8ms    min=7.97µs  med=13.58µs  max=497.03ms p(90)=78.77µs  p(95)=644.58µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=456.76ms min=11.71ms med=469.43ms max=991.85ms p(90)=592.77ms p(95)=638.95ms
     http_reqs......................: 5212    171.661707/s
     iteration_duration.............: avg=579.21ms min=31.92ms med=544.53ms max=2.2s     p(90)=776.49ms p(95)=930.9ms 
     iterations.....................: 5212    171.661707/s
     vus............................: 100     min=100      max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `cosmo`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 15672      ✗ 0    
     data_received..................: 458 MB  15 MB/s
     data_sent......................: 6.2 MB  204 kB/s
     http_req_blocked...............: avg=33.99µs  min=1.38µs  med=2.89µs   max=98.66ms  p(90)=4.67µs   p(95)=6.04µs  
     http_req_connecting............: avg=8.25µs   min=0s      med=0s       max=2.57ms   p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=499.45ms min=38.77ms med=496.97ms max=2.43s    p(90)=627.11ms p(95)=708.95ms
       { expected_response:true }...: avg=499.45ms min=38.77ms med=496.97ms max=2.43s    p(90)=627.11ms p(95)=708.95ms
     http_req_failed................: 0.00%   ✓ 0          ✗ 5224 
     http_req_receiving.............: avg=30.74ms  min=39.15µs med=78.31µs  max=1.91s    p(90)=68.6ms   p(95)=210.43ms
     http_req_sending...............: avg=1.55ms   min=8.4µs   med=13.5µs   max=1.08s    p(90)=41.19µs  p(95)=173.67µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=467.14ms min=33.69ms med=482.72ms max=811.07ms p(90)=583.01ms p(95)=621.92ms
     http_reqs......................: 5224    171.960612/s
     iteration_duration.............: avg=578.12ms min=72.4ms  med=544.76ms max=2.48s    p(90)=791.92ms p(95)=941.71ms
     iterations.....................: 5224    171.960612/s
     vus............................: 100     min=100      max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `wundergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 13827      ✗ 0    
     data_received..................: 404 MB  13 MB/s
     data_sent......................: 5.5 MB  180 kB/s
     http_req_blocked...............: avg=118.8µs  min=1.37µs  med=2.97µs   max=339.18ms p(90)=4.87µs   p(95)=6.17µs  
     http_req_connecting............: avg=39.92µs  min=0s      med=0s       max=4.49ms   p(90)=0s       p(95)=0s      
     http_req_duration..............: avg=543.27ms min=15.19ms med=517.99ms max=1.81s    p(90)=835.51ms p(95)=951.19ms
       { expected_response:true }...: avg=543.27ms min=15.19ms med=517.99ms max=1.81s    p(90)=835.51ms p(95)=951.19ms
     http_req_failed................: 0.00%   ✓ 0          ✗ 4609 
     http_req_receiving.............: avg=38.41ms  min=36.59µs med=87.17µs  max=1.19s    p(90)=110.25ms p(95)=294.75ms
     http_req_sending...............: avg=2.48ms   min=7.91µs  med=13.89µs  max=746.76ms p(90)=40.74µs  p(95)=317.95µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s       p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=502.37ms min=15.08ms med=486.43ms max=1.43s    p(90)=780.25ms p(95)=879.37ms
     http_reqs......................: 4609    151.908564/s
     iteration_duration.............: avg=654.92ms min=31.77ms med=608.06ms max=2.65s    p(90)=1.01s    p(95)=1.2s    
     iterations.....................: 4609    151.908564/s
     vus............................: 100     min=100      max=100
     vus_max........................: 100     min=100      max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph-bun`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 7200      ✗ 0    
     data_received..................: 211 MB  6.9 MB/s
     data_sent......................: 2.8 MB  93 kB/s
     http_req_blocked...............: avg=144.24µs min=1.58µs   med=3.42µs   max=6.93ms   p(90)=5.55µs  p(95)=13.31µs 
     http_req_connecting............: avg=133.58µs min=0s       med=0s       max=6.79ms   p(90)=0s      p(95)=0s      
     http_req_duration..............: avg=1.23s    min=593.82ms med=1.06s    max=3.01s    p(90)=1.94s   p(95)=2.09s   
       { expected_response:true }...: avg=1.23s    min=593.82ms med=1.06s    max=3.01s    p(90)=1.94s   p(95)=2.09s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 2400 
     http_req_receiving.............: avg=16.97ms  min=41.34µs  med=115.76µs max=636.04ms p(90)=11.05ms p(95)=127.42ms
     http_req_sending...............: avg=335.36µs min=8.62µs   med=16.36µs  max=177.17ms p(90)=46.48µs p(95)=248.11µs
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s       p(90)=0s      p(95)=0s      
     http_req_waiting...............: avg=1.21s    min=593.71ms med=1.05s    max=3s       p(90)=1.93s   p(95)=2.08s   
     http_reqs......................: 2400    78.181271/s
     iteration_duration.............: avg=1.26s    min=614.99ms med=1.09s    max=3.09s    p(90)=1.96s   p(95)=2.12s   
     iterations.....................: 2400    78.181271/s
     vus............................: 100     min=100     max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `apollo-server`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 4533      ✗ 0    
     data_received..................: 133 MB  4.2 MB/s
     data_sent......................: 1.8 MB  57 kB/s
     http_req_blocked...............: avg=41.93µs  min=1.43µs   med=3.28µs   max=3.25ms  p(90)=5.62µs   p(95)=160.73µs
     http_req_connecting............: avg=29.96µs  min=0s       med=0s       max=1.34ms  p(90)=0s       p(95)=119.29µs
     http_req_duration..............: avg=2.02s    min=410.72ms med=1.68s    max=21.58s  p(90)=2.06s    p(95)=2.68s   
       { expected_response:true }...: avg=2.02s    min=410.72ms med=1.68s    max=21.58s  p(90)=2.06s    p(95)=2.68s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 1511 
     http_req_receiving.............: avg=234.14µs min=48µs     med=122.24µs max=68.14ms p(90)=215.92µs p(95)=323.52µs
     http_req_sending...............: avg=34.78µs  min=8.54µs   med=17.69µs  max=1.47ms  p(90)=35.72µs  p(95)=121.22µs
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s      p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=2.02s    min=410.22ms med=1.68s    max=21.58s  p(90)=2.06s    p(95)=2.67s   
     http_reqs......................: 1511    48.097144/s
     iteration_duration.............: avg=2.03s    min=419.41ms med=1.69s    max=21.6s   p(90)=2.07s    p(95)=2.69s   
     iterations.....................: 1511    48.097144/s
     vus............................: 43      min=43      max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mercurius`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 2781     ✗ 0    
     data_received..................: 81 MB   2.7 MB/s
     data_sent......................: 1.1 MB  36 kB/s
     http_req_blocked...............: avg=206.44µs min=1.44µs   med=3.73µs   max=5.39ms  p(90)=115.32µs p(95)=1.45ms  
     http_req_connecting............: avg=174.78µs min=0s       med=0s       max=4.97ms  p(90)=80.54µs  p(95)=1.24ms  
     http_req_duration..............: avg=3.26s    min=623.88ms med=3.09s    max=7.16s   p(90)=4.21s    p(95)=4.46s   
       { expected_response:true }...: avg=3.26s    min=623.88ms med=3.09s    max=7.16s   p(90)=4.21s    p(95)=4.46s   
     http_req_failed................: 0.00%   ✓ 0        ✗ 927  
     http_req_receiving.............: avg=273.03µs min=46µs     med=113.42µs max=41.09ms p(90)=207.28µs p(95)=339.85µs
     http_req_sending...............: avg=42.14µs  min=8.9µs    med=19.53µs  max=2.01ms  p(90)=52.81µs  p(95)=209.48µs
     http_req_tls_handshaking.......: avg=0s       min=0s       med=0s       max=0s      p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=3.26s    min=623.8ms  med=3.09s    max=7.16s   p(90)=4.21s    p(95)=4.46s   
     http_reqs......................: 927     30.25374/s
     iteration_duration.............: avg=3.27s    min=633.62ms med=3.1s     max=7.17s   p(90)=4.22s    p(95)=4.47s   
     iterations.....................: 927     30.25374/s
     vus............................: 100     min=100    max=100
     vus_max........................: 100     min=100    max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview
Summary for: `mesh-supergraph`

K6 Output

     ✓ response code was 200
     ✓ no graphql errors
     ✓ valid response structure

     checks.........................: 100.00% ✓ 2556      ✗ 0    
     data_received..................: 75 MB   2.3 MB/s
     data_sent......................: 1.0 MB  31 kB/s
     http_req_blocked...............: avg=177µs    min=1.5µs   med=4.51µs   max=8.37ms p(90)=229.93µs p(95)=1.22ms  
     http_req_connecting............: avg=121.05µs min=0s      med=0s       max=4.32ms p(90)=118.7µs  p(95)=1.04ms  
     http_req_duration..............: avg=3.71s    min=2.28s   med=3.45s    max=7.07s  p(90)=5.05s    p(95)=5.76s   
       { expected_response:true }...: avg=3.71s    min=2.28s   med=3.45s    max=7.07s  p(90)=5.05s    p(95)=5.76s   
     http_req_failed................: 0.00%   ✓ 0         ✗ 852  
     http_req_receiving.............: avg=2.59ms   min=43.16µs med=210.08µs max=81.9ms p(90)=2.88ms   p(95)=7.01ms  
     http_req_sending...............: avg=83.42µs  min=9.25µs  med=25.8µs   max=2.82ms p(90)=99.21µs  p(95)=327.59µs
     http_req_tls_handshaking.......: avg=0s       min=0s      med=0s       max=0s     p(90)=0s       p(95)=0s      
     http_req_waiting...............: avg=3.71s    min=2.28s   med=3.45s    max=7.07s  p(90)=5.05s    p(95)=5.76s   
     http_reqs......................: 852     26.099379/s
     iteration_duration.............: avg=3.73s    min=2.3s    med=3.47s    max=7.08s  p(90)=5.08s    p(95)=5.77s   
     iterations.....................: 852     26.099379/s
     vus............................: 54      min=54      max=100
     vus_max........................: 100     min=100     max=100

Performance Overview

Performance Overview

Subgraphs Overview

Subgraphs Overview

HTTP Overview

HTTP Overview

@renovate renovate bot force-pushed the renovate/apollo-graphql-packages branch from 0b42a94 to 009aeff Compare October 2, 2024 14:39
@renovate renovate bot merged commit 92f958c into main Oct 2, 2024
33 checks passed
@renovate renovate bot deleted the renovate/apollo-graphql-packages branch October 2, 2024 15:08
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.

0 participants