rollbar-php-laravel icon indicating copy to clipboard operation
rollbar-php-laravel copied to clipboard

How is max_items reset since RollbarLogger is set as singleton

Open ls-paulo opened this issue 3 years ago • 1 comments

According to the docs, max_items is "Maximum number of items sent in a single app request/response cycle".

The RollbarServiceProvider defines RollbarLogger as a singleton, in which the same instance will be returned on subsequent calls into the container.

Given the above, wouldn't be more appropriate to use scoped instead? As it would do exactly what the Rollbar docs state for max_items config?

ls-paulo avatar Jun 21 '22 15:06 ls-paulo

You are correct that this would be an issue if running under Octane.

I looked into this a bit, and I think there will be some more changes required in how the core PHP SDK is configured since the default Rollbar::init() method will retain the previous RollbarLogger instance meaning RollbarLogger::reportCount may not start at 0 for each request/response cycle.

My initial thought is using Rollbar::scope() along with Laravel's Application:scoped() method should give us an isolated RollbarLogger instance.

There may need to also be some work to isolate the telemetry queue once that released.

However, I need to spend more time making sure the core SDK is safe to run concurrently.

danielmorell avatar Oct 25 '24 22:10 danielmorell