May 08, 2024
[email protected]
Patch Changes
@graphql-yoga/[email protected]
@graphql-yoga/[email protected]
[email protected]
Patch Changes
-
#3237
3324bbab
Thanks @ardatan! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.9.33
↗︎
(from^0.9.32
, independencies
)
- Updated dependency
-
#3237
3324bbab
Thanks @ardatan! - In such environments like CloudFlare Workers, the
request
object in the context always has the initial request object, so it was impossible to
access the actualRequest
object from the execution context. Now Yoga ensures that therequest
in the context is the same with the actualRequest
.
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Patch Changes
- Updated dependencies []:
- @graphql-yoga/[email protected]
- @graphql-yoga/[email protected]
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Patch Changes
@graphql-yoga/[email protected]
Major Changes
-
#3251
a8ddac54
Thanks @EmrysMyrddin! - Adds a cache for metrics definition
(Summary, Histogram and Counter).Fixes an issue preventing this plugin to be initialized multiple times, leading to metrics
duplication error (ardatan/graphql-mesh#6545).Behavior Breaking Change:
Due to Prometheus client API limitations, a metric is only defined once for a given registry. This
means that if the configuration of the metrics, it will be silently ignored on plugin
re-initialization.This is to avoid potential loss of metrics data produced between the plugin re-initialization and
the last pull by the prometheus agent.If you need to be sure metrics configuration is up to date after a plugin re-initialization, you
can either:- restart the whole node process instead of just recreating a graphql server at runtime
- clear the registry using
registry.clear()
before plugin re-initialization:function usePrometheusWithReset() { registry.clear() return usePrometheus({ ... }) }
- use a new registry for each plugin instance:
function usePrometheusWithRegistry() { const registry = new Registry() return usePrometheus({ registry, ... }) }
Keep in mind that this implies potential data loss in pull mode.
API Breaking Change:
To ensure metrics from being registered multiple times on the same registry, the signature of
createHistogram
,createSummary
andcreateCounter
have been changed to now include the
registry as a mandatory parameter.If you were customizing metrics parameters, you will need to update the metric definitions
usePrometheus({ execute: createHistogram({ + registry: registry histogram: new Histogram({ name: 'my_custom_name', help: 'HELP ME', labelNames: ['opText'] as const, - registers: [registry], }), fillLabelsFn: () => {} }), requestCount: createCounter({ + registry: registry histogram: new Histogram({ name: 'my_custom_name', help: 'HELP ME', labelNames: ['opText'] as const, - registers: [registry], }), fillLabelsFn: () => {} }), requestSummary: createSummary({ + registry: registry histogram: new Histogram({ name: 'my_custom_name', help: 'HELP ME', labelNames: ['opText'] as const, - registers: [registry], }), fillLabelsFn: () => {} }), })
Patch Changes
- #3251
a8ddac54
Thanks @EmrysMyrddin! - dependencies updates:- Updated dependency
@envelop/prometheus@^10.0.0
↗︎
(from^9.4.0
, independencies
)
- Updated dependency
- Updated dependencies
[3324bbab
,
3324bbab
]: