|
15 | 15 | |[**override\_subgraph\_urls**](#override_subgraph_urls)|`object`|Configuration for overriding subgraph URLs.<br/>Default: `{}`<br/>|| |
16 | 16 | |[**query\_planner**](#query_planner)|`object`|Query planning configuration.<br/>Default: `{"allow_expose":false,"timeout":"10s"}`<br/>|| |
17 | 17 | |[**supergraph**](#supergraph)|`object`|Configuration for the Federation supergraph source. By default, the router will use a local file-based supergraph source (`./supergraph.graphql`).<br/>|| |
18 | | -|[**traffic\_shaping**](#traffic_shaping)|`object`|Configuration for the traffic-shaper executor. Use these configurations to control how requests are being executed to subgraphs.<br/>Default: `{"dedupe_enabled":true,"max_connections_per_host":100,"pool_idle_timeout_seconds":50}`<br/>|| |
| 18 | +|[**traffic\_shaping**](#traffic_shaping)|`object`|Configuration for the traffic-shaping of the executor. Use these configurations to control how requests are being executed to subgraphs.<br/>Default: `{"all":{"dedupe_enabled":true,"pool_idle_timeout":"50s","request_timeout":"30s"},"max_connections_per_host":100}`<br/>|| |
19 | 19 |
|
20 | 20 | **Additional Properties:** not allowed |
21 | 21 | **Example** |
@@ -107,9 +107,11 @@ query_planner: |
107 | 107 | timeout: 10s |
108 | 108 | supergraph: {} |
109 | 109 | traffic_shaping: |
110 | | - dedupe_enabled: true |
| 110 | + all: |
| 111 | + dedupe_enabled: true |
| 112 | + pool_idle_timeout: 50s |
| 113 | + request_timeout: 30s |
111 | 114 | max_connections_per_host: 100 |
112 | | - pool_idle_timeout_seconds: 50 |
113 | 115 |
|
114 | 116 | ``` |
115 | 117 |
|
@@ -1808,25 +1810,75 @@ Request timeout for the Hive Console CDN requests. |
1808 | 1810 | <a name="traffic_shaping"></a> |
1809 | 1811 | ## traffic\_shaping: object |
1810 | 1812 |
|
1811 | | -Configuration for the traffic-shaper executor. Use these configurations to control how requests are being executed to subgraphs. |
| 1813 | +Configuration for the traffic-shaping of the executor. Use these configurations to control how requests are being executed to subgraphs. |
1812 | 1814 |
|
1813 | 1815 |
|
1814 | 1816 | **Properties** |
1815 | 1817 |
|
1816 | 1818 | |Name|Type|Description|Required| |
1817 | 1819 | |----|----|-----------|--------| |
1818 | | -|**dedupe\_enabled**|`boolean`|Enables/disables request deduplication to subgraphs.<br/><br/>When requests exactly matches the hashing mechanism (e.g., subgraph name, URL, headers, query, variables), and are executed at the same time, they will<br/>be deduplicated by sharing the response of other in-flight requests.<br/>Default: `true`<br/>|| |
| 1820 | +|[**all**](#traffic_shapingall)|`object`|The default configuration that will be applied to all subgraphs, unless overridden by a specific subgraph configuration.<br/>Default: `{"dedupe_enabled":true,"pool_idle_timeout":"50s","request_timeout":"30s"}`<br/>|| |
1819 | 1821 | |**max\_connections\_per\_host**|`integer`|Limits the concurrent amount of requests/connections per host/subgraph.<br/>Default: `100`<br/>Format: `"uint"`<br/>Minimum: `0`<br/>|| |
1820 | | -|**pool\_idle\_timeout\_seconds**|`integer`|Timeout for idle sockets being kept-alive.<br/>Default: `50`<br/>Format: `"uint64"`<br/>Minimum: `0`<br/>|| |
| 1822 | +|[**subgraphs**](#traffic_shapingsubgraphs)|`object`|Optional per-subgraph configurations that will override the default configuration for specific subgraphs.<br/>|| |
1821 | 1823 |
|
1822 | 1824 | **Additional Properties:** not allowed |
1823 | 1825 | **Example** |
1824 | 1826 |
|
1825 | 1827 | ```yaml |
1826 | | -dedupe_enabled: true |
| 1828 | +all: |
| 1829 | + dedupe_enabled: true |
| 1830 | + pool_idle_timeout: 50s |
| 1831 | + request_timeout: 30s |
1827 | 1832 | max_connections_per_host: 100 |
1828 | | -pool_idle_timeout_seconds: 50 |
1829 | 1833 |
|
1830 | 1834 | ``` |
1831 | 1835 |
|
| 1836 | +<a name="traffic_shapingall"></a> |
| 1837 | +### traffic\_shaping\.all: object |
| 1838 | + |
| 1839 | +The default configuration that will be applied to all subgraphs, unless overridden by a specific subgraph configuration. |
| 1840 | + |
| 1841 | + |
| 1842 | +**Properties** |
| 1843 | + |
| 1844 | +|Name|Type|Description|Required| |
| 1845 | +|----|----|-----------|--------| |
| 1846 | +|**dedupe\_enabled**|`boolean`|Enables/disables request deduplication to subgraphs.<br/><br/>When requests exactly matches the hashing mechanism (e.g., subgraph name, URL, headers, query, variables), and are executed at the same time, they will<br/>be deduplicated by sharing the response of other in-flight requests.<br/>Default: `true`<br/>|| |
| 1847 | +|**pool\_idle\_timeout**|`string`|Timeout for idle sockets being kept-alive.<br/>Default: `"50s"`<br/>|| |
| 1848 | +|**request\_timeout**||Optional timeout configuration for requests to subgraphs.<br/><br/>Example with a fixed duration:<br/>```yaml<br/> timeout:<br/> duration: 5s<br/>```<br/><br/>Or with a VRL expression that can return a duration based on the operation kind:<br/>```yaml<br/> timeout:<br/> expression: \|<br/> if (.request.operation.type == "mutation") {<br/> "10s"<br/> } else {<br/> "15s"<br/> }<br/>```<br/>Default: `"30s"`<br/>|| |
| 1849 | + |
| 1850 | +**Additional Properties:** not allowed |
| 1851 | +**Example** |
| 1852 | + |
| 1853 | +```yaml |
| 1854 | +dedupe_enabled: true |
| 1855 | +pool_idle_timeout: 50s |
| 1856 | +request_timeout: 30s |
| 1857 | +
|
| 1858 | +``` |
| 1859 | + |
| 1860 | +<a name="traffic_shapingsubgraphs"></a> |
| 1861 | +### traffic\_shaping\.subgraphs: object |
| 1862 | + |
| 1863 | +Optional per-subgraph configurations that will override the default configuration for specific subgraphs. |
| 1864 | + |
| 1865 | + |
| 1866 | +**Additional Properties** |
| 1867 | + |
| 1868 | +|Name|Type|Description|Required| |
| 1869 | +|----|----|-----------|--------| |
| 1870 | +|[**Additional Properties**](#traffic_shapingsubgraphsadditionalproperties)|`object`||yes| |
| 1871 | + |
| 1872 | +<a name="traffic_shapingsubgraphsadditionalproperties"></a> |
| 1873 | +#### traffic\_shaping\.subgraphs\.additionalProperties: object |
| 1874 | + |
| 1875 | +**Properties** |
| 1876 | + |
| 1877 | +|Name|Type|Description|Required| |
| 1878 | +|----|----|-----------|--------| |
| 1879 | +|**dedupe\_enabled**|`boolean`, `null`|Enables/disables request deduplication to subgraphs.<br/><br/>When requests exactly matches the hashing mechanism (e.g., subgraph name, URL, headers, query, variables), and are executed at the same time, they will<br/>be deduplicated by sharing the response of other in-flight requests.<br/>|no| |
| 1880 | +|**pool\_idle\_timeout\_seconds**|`string`|Timeout for idle sockets being kept-alive.<br/>|yes| |
| 1881 | +|**request\_timeout**||Optional timeout configuration for requests to subgraphs.<br/><br/>Example with a fixed duration:<br/>```yaml<br/> timeout:<br/> duration: 5s<br/>```<br/><br/>Or with a VRL expression that can return a duration based on the operation kind:<br/>```yaml<br/> timeout:<br/> expression: \|<br/> if (.request.operation.type == "mutation") {<br/> "10s"<br/> } else {<br/> "15s"<br/> }<br/>```<br/>|no| |
| 1882 | + |
| 1883 | +**Additional Properties:** not allowed |
1832 | 1884 |
|
0 commit comments