irmen / Pyro5

Pyro 5 - Python remote objects
https://pyro5.readthedocs.io
MIT License
305 stars 36 forks source link

Sentry integration #13

Closed sergio-bershadsky closed 4 years ago

sergio-bershadsky commented 4 years ago

Can't figure out how to configure Sentry it can catch server or client side exceptions.

irmen commented 4 years ago

I don't know Sentry. What are you trying to accomplish, and how does it not work?

irmen commented 4 years ago

@sergio-bershadsky I guess you mean https://sentry.io/ Pyro client exceptions are just that, so I don't see why they would not work with Sentry. Server side exceptions are normally swallowed by Pyro and returned to the client. There's no way I guess to report these to sentry. There is this https://pyro4.readthedocs.io/en/stable/clientcode.html#pyro-callbacks but I don't think you want to sprinkle that all over your Pyro server.

sergio-bershadsky commented 4 years ago

Yes, that's the point I can't figure where the code broke. The problem is much more general and can touch sentry too. Maybe the only option is to tweak traceback.

The goal is to know where exactly exception origin, version of client / server, context ant etc

irmen commented 4 years ago

Maybe we can add an error handling callback somewhere in the server. You can then register the error with sentry in a custom handler. Is that possible?
Also I assume this only a server side issue. Catching and logging errors in the client code should just be business as usual

irmen commented 4 years ago

@sergio-bershadsky I've added a custom error handler possibility in 4d860a8494770f12e5888f4aa6298f25a56b4fe7 Have a look. The "exceptions" example shows how you can use it. Maybe you can use that to hook into sentry now?

irmen commented 4 years ago

Feel free to comment or reopen the issue if need arises, but for now I'm closing it because I think the error handler callback should be flexible enough to achieve your goal