-
Notifications
You must be signed in to change notification settings - Fork 888
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
What to do with non well-known http.method values? #3470
Comments
I don't think there are "invalid" HTTP method values. Using custom HTTP verbs seems unusual but valid. Special considerations may apply to span names (and maybe metric attributes?) but otherwise I see no reason to scrub non-well-known values. https://www.rfc-editor.org/rfc/rfc9110.html#section-9.1-5:
https://www.rfc-editor.org/rfc/rfc9110.html#section-9.1-11:
|
good point, thx, I've updated the title and description
I think it's a bit awkward to have different definition of |
I'm torn on this. I think the safe option is to add the on-by-default optional special case for non-well-known verbs. But it comes with some information loss especially in "interesting" cases and also you'll have to add the list of verbs. Also we might break certain cases we don't know of. And I am not sure a "on/off" switch is good enough here, because if you need the normalization to be protected from flooding, this is independent from whether you use custom verbs or not. So you'd rather have a configurable list of accepted verbs. Maybe this is better scrubbed/normalized on the collector? If still possible, we may want to remove the assumption that http.method is low-cardinality. E.g. remove it from the span name suggestions and whatever is required in the metrics. |
@open-telemetry/technical-committee can you post the results of the vote here? thx! |
@open-telemetry/technical-committee met and voted last Wednesday (Jun. 14th, 2023) and here are the results:
Please close other options and push Option A through the finishing line. |
I think this is resolved by open-telemetry/semantic-conventions#17. |
http.method
is a required field in both traces and metrics, but it's not clear what instrumentation should do with non well-known values, e.g. if someone sends a request with http methodXYZ
, should instrumentation preserve that value? or normalize it to something likeOTHER
?on the tracing side it seems to make sense to preserve the
XYZ
value, but on the metrics side this could leave you open to cardinality problems, so it seems to make sense to normalize it toOTHER
on the metrics side.but having different values captured for traces and metrics seems bad, so I think it makes sense to normalize it to
OTHER
for both.The text was updated successfully, but these errors were encountered: