You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
We use the collector along with otlpreceiver to receive logs and we would also like to validate incoming data with our own rules (e.g. looking for special values in Resource().Attributes()). Depending on the values, some logs can be processed or dropped. It seems that the protocol supports a partialSuccess response with a number of processed and dropped spans / logs. However, if we write a processor with our validation logic, the only way to tell otlpreceiver (and a user) that some logs were dropped is to return an error with a string description. In that case, otlpreceiver does not return a partialSuccess. Instead it returns an error with the http.StatusInternalServerError code.
Is there a way to tell otlpreceiver that some logs were dropped but that it still needs to return a partialSuccess?
Describe the solution you'd like
I see two options:
Extend the protocol so Logs.ConsumeLogs returns not only an error, but also information about processed and dropped logs with a description of a rejection. In that case, we will continue to use our processor which is executed after a receiver, and a user would get a partialSuccess with an error description if some logs were dropped, but the processing of valid logs would continue
Support receiver extensions writing which developers could add their own validation
Describe alternatives you've considered
Forking otlpreceiver with adding our custom validation which is probably not (or hardly) maintainable in the long-term
Writing our own receiver that should comply with the changing OTLP format rules
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
We use the collector along with otlpreceiver to receive logs and we would also like to validate incoming data with our own rules (e.g. looking for special values in
Resource().Attributes()
). Depending on the values, some logs can be processed or dropped. It seems that the protocol supports apartialSuccess
response with a number of processed and dropped spans / logs. However, if we write a processor with our validation logic, the only way to tell otlpreceiver (and a user) that some logs were dropped is to return an error with a string description. In that case, otlpreceiver does not return apartialSuccess
. Instead it returns an error with thehttp.StatusInternalServerError
code.Is there a way to tell otlpreceiver that some logs were dropped but that it still needs to return a partialSuccess?
Describe the solution you'd like
I see two options:
Logs.ConsumeLogs
returns not only an error, but also information about processed and dropped logs with a description of a rejection. In that case, we will continue to use our processor which is executed after a receiver, and a user would get apartialSuccess
with an error description if some logs were dropped, but the processing of valid logs would continueDescribe alternatives you've considered
The text was updated successfully, but these errors were encountered: