-
Notifications
You must be signed in to change notification settings - Fork 76
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
Documentation request: rollbar-reactive-streams-reactor example #307
Comments
@matsev Sure thing. We have some examples, but we'll need to clean them up. If nothing urgent comes up, we'll update the examples by the end of next week. |
One question that has surfaced is if log statements need to be duplicated? For example, if we use Reason for asking is that without this option, either developer experience will suffer (as each log statement need to be written twice) or operations experience will suffer (if ops need to go back and forth between Rollbar logs and application logs to get the full picture when troubleshooting application errors). |
@matsev I had an internal discussion about your requests. I want to share some updates and ask you to specify specific questions.
Can you elaborate on what you consider a more involved example? We're happy to update the reactor example you mentioned, but we need more hints on what you missed.
You can use both, but the log appender must be configured separately, and
This can work. Use the |
It is unclear to me if you recommend that I use an (async) log appender or the public class Application {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(Application.class);
// ...
Mono<HttpClientResponse> request = HttpClient.create()
.get()
.uri(url)
.response()
.onErrorResume(t -> {
log.error("bad stuff happened", t);
return Mono.error(t);
});
} I locked in Rollbar's documentation for configuration examples for an async log appender configuration. Maybe I was looking in the wrong place, because I have not found any async log appender example? I found the logback.xml in the reference docs and a corresponding logback.xml in the example repository, but they are both synchronous.
|
As for the async wrapper, it will depend on the underlying logging implementation. If you’re using As for the tradeoff, it’s the usual tradeoff in non-blocking, callback-based concurrency vs thread-based concurrency. Sending occurrences via On the other hand, the async appender offloads the log action to a different thread dedicated to logging. With only 1 thread, there can only be 1 in-flight request to report an occurrence, and it will be blocking (the thread won’t progress until the request is completed.) Though I wouldn’t call this a tradeoff situation, I think |
We've updated the documentation for reactive streams. https://docs.rollbar.com/docs/reactive-streams |
Please add some recommendations and a working example of a
rollbar-reactive-streams-reactor
to the list of java examples on your docs page. Questions that comes to mind are what happens if you combine therollbar-reactive-streams-reactor
with log appenders such asrollbar-logback
orrollbar-log4j2
? What happens if you omit therollbar-reactive-streams-reactor
entirely and revert use vanilla Log4J or Logback in the reactive code path, etc?Can you please also share a more involved example then the one provided in the com.rollbar.reactivestreams.reactor.example.Application which I find somewhat rudimentary.
The text was updated successfully, but these errors were encountered: