docs: update usage reporting docs for dynamic exclusions via VRL expressions#104
docs: update usage reporting docs for dynamic exclusions via VRL expressions#104
Conversation
…essions (router#932) Agent-Logs-Url: https://github.com/graphql-hive/docs/sessions/4fb074ac-500c-4a50-89d4-003a1192ea8b Co-authored-by: ardatan <20847995+ardatan@users.noreply.github.com>
Agent-Logs-Url: https://github.com/graphql-hive/docs/sessions/4fb074ac-500c-4a50-89d4-003a1192ea8b Co-authored-by: ardatan <20847995+ardatan@users.noreply.github.com>
|
Agent-Logs-Url: https://github.com/graphql-hive/docs/sessions/a6cb60f4-651b-440f-9765-b594a24e1e5d Co-authored-by: ardatan <20847995+ardatan@users.noreply.github.com>
Agent-Logs-Url: https://github.com/graphql-hive/docs/sessions/d62a398b-b3f5-4e11-b6a9-0f7fc08f94e3 Co-authored-by: ardatan <20847995+ardatan@users.noreply.github.com>
…ame/version Agent-Logs-Url: https://github.com/graphql-hive/docs/sessions/9a63a64f-3527-485e-9e0e-34614a366dcb Co-authored-by: ardatan <20847995+ardatan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the Hive Router documentation to describe excluding operations from usage reporting, including a new dynamic exclusion mechanism via VRL expressions, and refreshes related telemetry/expression references.
Changes:
- Added an “Excluding Operations” section to usage reporting docs, documenting both legacy operation-name lists and a VRL expression-based format.
- Expanded the telemetry configuration reference to document the
excludefield’s supported formats, with examples (operation name and header-based exclusions). - Updated the Expressions overview page to include usage-reporting exclusion as a documented use case.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| packages/documentation/content/docs/router/observability/usage_reporting.mdx | Adds a new section explaining how to exclude operations (legacy list vs VRL expression) with examples. |
| packages/documentation/content/docs/router/configuration/telemetry.mdx | Updates the usage_reporting reference to describe/exemplify the new exclude formats. |
| packages/documentation/content/docs/router/configuration/expressions.mdx | Adds a new bullet linking expressions to usage-reporting exclusions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | `enabled` | `boolean` | `false` | Explicitly enable or disable usage reporting. | | ||
| | `endpoint` | `string` | `https://app.graphql-hive.com/usage` | Override for self-hosted Hive. | | ||
| | `sample_rate` | `string` | `100%` | Percentage between `0%` and `100%`. | | ||
| | `exclude` | `string[] \| { expression: string }` | - | Operations to exclude. Accepts a list of operation names or a VRL expression object. See details below. | |
| You can also exclude based on request headers — for example, checking a custom `x-graphql-client-name` header: | ||
|
|
||
| ```yaml title="router.config.yaml" | ||
| telemetry: | ||
| hive: | ||
| usage_reporting: | ||
| enabled: true | ||
| exclude: | ||
| expression: '.request.headers."x-graphql-client-name" == "my-internal-tool"' | ||
| ``` | ||
|
|
||
| Expressions can use any fields available under `.request` (see [Expressions](/docs/router/configuration/expressions#request) for the full list of variables). For more examples, see [Excluding Operations](/docs/router/observability/usage_reporting#excluding-operations). |
| **Exclude traffic from a specific client identified via a request header:** | ||
|
|
||
| You can check any request header — for example, a custom `x-graphql-client-name` header sent by your clients: | ||
|
|
||
| ```yaml title="router.config.yaml" |
|
@copilot apply changes based on the comments in this thread and fix lint errors |
…metry/usage_reporting docs Agent-Logs-Url: https://github.com/graphql-hive/docs/sessions/be1c26d6-1f65-4536-bd88-a13dd4ea6c54 Co-authored-by: ardatan <20847995+ardatan@users.noreply.github.com>
Done in 10075ef. Applied all three reviewer suggestions:
Also fixed the |
|
@copilot resolve the merge conflicts in this pull request |
…n, add ip_header Co-authored-by: ardatan <20847995+ardatan@users.noreply.github.com>
Resolved in a432e08. The only conflict was in |
| client_identification: | ||
| name_header: "graphql-client-name" # default value | ||
| version_header: "graphql-client-version" # default value | ||
| name_header: "x-graphql-client-name" # default value |
There was a problem hiding this comment.
it's graphql-client-name and not x-*
There was a problem hiding this comment.
Fixed in efa69ad — reverted the header-based exclude example in telemetry.mdx from x-graphql-client-name back to graphql-client-name.
… exclude example Agent-Logs-Url: https://github.com/graphql-hive/docs/sessions/261dd532-74f5-4d19-939b-eaf83497ca2b Co-authored-by: ardatan <20847995+ardatan@users.noreply.github.com>
Documents the changes from graphql-hive/router#932, which adds dynamic exclusions to the exclude field in telemetry.hive.usage_reporting.