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
I've got a desktop JVM app as part of a Compose Multiplatform project. I'm using Bugsnag's JVM library for reporting errors, but it's pretty obvious it was built with server-sided apps in mind.
I can handle reporting sessions using the library's API, by calling startSession() when I initialize the Bugsnag client, and then using close() before the application terminates, but I haven't figured out how to associate users with sessions to enable the User Stability metric.
Describe the solution you'd like
It'd be really helpful to have (default-null/disabled) APIs in the library for enabling a "client-side mode" of some sort that could handle session and user tracking like the Android and iOS libraries, or at least a public way to add that information into the payloads sent into Bugsnag.
Describe alternatives you've considered
I checked around for third-party Bugsnag libraries for client-side Java apps but couldn't find any.
It might be possible to implement the C++ Bugsnag library, but then I'd lose Java stacktraces.
Additional context
I noticed that the logic for associating users with sessions is at least partly implemented, but I couldn't figure out how to get it to work, even when using reflection.
To add the user object into a Report, I made a CustomReport class that extends Report and overrides setSession():
I use that in my notify() wrapper instead of the normal Report class, and I have a custom Exception handler that calls my notify() wrapper on unhandled Exceptions.
I also used reflection to add a BeforeSendSessionCallback to the Bugsnag client and add a user object to the session diagnostics:
The Stability Score is actually calculated from the device.id and not the user.id. As the device.id is not currently available in a session or an event when using our Java notifier, we have raised some feedback with our Product Team, and we will update this thread when any news becomes available.
We have some work in our backlog to add device.id to sessions and events in our Java notifier in order to support session and user stability scores. While we don’t have an ETA on when this will be implemented, we will be sure to let you know of any updates.
Description
I've got a desktop JVM app as part of a Compose Multiplatform project. I'm using Bugsnag's JVM library for reporting errors, but it's pretty obvious it was built with server-sided apps in mind.
I can handle reporting sessions using the library's API, by calling
startSession()
when I initialize the Bugsnag client, and then usingclose()
before the application terminates, but I haven't figured out how to associate users with sessions to enable the User Stability metric.Describe the solution you'd like
It'd be really helpful to have (default-null/disabled) APIs in the library for enabling a "client-side mode" of some sort that could handle session and user tracking like the Android and iOS libraries, or at least a public way to add that information into the payloads sent into Bugsnag.
Describe alternatives you've considered
I checked around for third-party Bugsnag libraries for client-side Java apps but couldn't find any.
It might be possible to implement the C++ Bugsnag library, but then I'd lose Java stacktraces.
Additional context
I noticed that the logic for associating users with sessions is at least partly implemented, but I couldn't figure out how to get it to work, even when using reflection.
To add the
user
object into a Report, I made aCustomReport
class that extendsReport
and overridessetSession()
:I use that in my
notify()
wrapper instead of the normalReport
class, and I have a custom Exception handler that calls mynotify()
wrapper on unhandled Exceptions.I also used reflection to add a
BeforeSendSessionCallback
to the Bugsnag client and add auser
object to the session diagnostics:But this combination doesn't seem to make User Stability show up.
The text was updated successfully, but these errors were encountered: