-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Stats: RDS_ROUTE_CONFIG tag extraction #32976
Comments
Looks to be introduced by #14519 |
If we decide what the behavior should be (how much to allow in this regex), I can make the change. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
Ok I'll make a PR and we can talk about what characters to allow in comments. |
Commit Message: Extract route names with forward-slash. Additional Description: RDS protocol allows almost any route name, and stats are lightly sanitized before emitting to statsd and prometheus endpoints. This change slightly relaxes the capture group for RDS route names in stats, instead of opening the floodgates to everything, because YAGNI. Risk Level: Low Testing: Updated unit test Docs Changes: None: No restrictions on the route name in RDS were documented before (anything goes, as far as I can tell), so there's nothing to change there. The minimal documentation on route name in RDS stats don't mention allowing, disallowing, or special handling for anything but ":". Release Notes: N/A Platform Specific Features: None Fixes: #32976 Signed-off-by: Kevin Burek <[email protected]>
Title: Some
route_config_name
s fail tag extractionDescription:
RDS routes with legal names not expected by the <ROUTE_CONFIG_NAME> re2 regex fail tag extraction into prometheus stats.
The use case I've run across includes
/
in route names, though from the xds spec I'm not sure there's actually any restriction on route naming. You can configure the HttpConnectionManager with"route_config": {"name": "🚀🙏:)", ... }
and it's accepted.Repro steps:
Configure an xds route named ingressgateway/api-tess-io-1-gw-443 on http connection manager
ingress_http
Admin and Stats Output:
/stats
:/stats/prometheus
:Prometheus stats should be:
The text was updated successfully, but these errors were encountered: