-
Notifications
You must be signed in to change notification settings - Fork 232
Log SenderException errors in RemoteReporter #653
Comments
Instead of blindly logging the exceptions, we should probably have the ability for the application to be called back when an exception occurs, so that it can decide what to do. |
How would be propagate failures to the app? We don't want to throw exceptions and interrupt the execution. I have run into similar problems in past, the logging should help to pinpoint the issue. |
Callbacks. The Tracer could have a Something like (untested): // public API
public interface ErrorHandler {
public void handle(Throwable t);
}
public class JaegerTracer {
private List<ErrorHandler> errorHandlers = new ArrayList<ErrorHandler>();
// public API
public void onError(ErrorHandler handler) {
this.errorHandlers.add(handler);
}
// private API, to be called by Senders/Reporters when an exception happens
public void notifyError(Throwable t) {
for (ErrorHandler handler : errorHandlers) {
handler.handle(t);
}
}
} |
my preference would be to log errors rather than maintain an extra API |
+1 for logging, errors can be alerted by log collector such as |
Will give it a try and let you know, if there are any open questions....! |
It would be easier of course to follow @pavolloffay and @yurishkuro suggestion to just log it 😃 |
just add a |
Yes, follow their suggestion ;-) |
Requirement - what kind of business use case are you trying to solve?
Troubleshooting errors in the trace pipeline can be difficult. The metrics emitted by Jaeger tell me there is an error, but I'm unable to see any information in the logs about that error.
Problem - what in Jaeger blocks you from solving the requirement?
SenderException is swallowed in RemoteReporter
Proposal - what do you suggest to solve the problem or improve the existing situation?
Log the exception at error level
The text was updated successfully, but these errors were encountered: