github getsentry/sentry-java 8.53.0

2 hours ago

Features

  • Allow child spans to use explicit start timestamps through ISpan (#5929)
  • Make ISpan.startChild overloads with SpanOptions public (#5927)

Improvements

  • Remove ApiStatus.Experimental annotation from SentrySQLiteDriver (#5938)

Fixes

  • Clear contexts when calling Scope.clear() (#5902)
  • Preserve custom Throwable identities when R8 optimizes Android apps (#5881)
  • Report the correct cpu usage for the first performance sample of a transaction, which was measured against the time since device boot (#5926)
  • Prevent an ANR when the Session Replay video encoder gets stuck (#5842)
    • Some hardware encoders never signal end-of-stream, which made the replay worker spin forever while holding the encoder lock. The app's lifecycle callbacks then blocked on that lock and the app froze until the system killed it. The encoder now gives up instead of spinning, and closing the replay cache no longer waits indefinitely for a wedged encoder.

Performance

  • Read the clock once per performance collection round instead of once per in-flight transaction (#5934)
  • Reduce allocations while collecting cpu usage during transactions by reading the process cpu time via Process.getElapsedCpuTime() instead of parsing /proc/self/stat (33.6kB to 16 bytes per sample on a Pixel 3) (#5926)
  • Store performance measurements as primitives, removing a boxed allocation per measurement per performance sample (#5935)

Dependencies

Don't miss a new sentry-java release

NewReleases is sending notifications on new releases.