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
Steps to reproduce.
UploadNow() is a non-blocking function
LogManager.UploadNow();
ExitApp();
Will reliably lose telemetry.
For our use case we need to be able to attempt to send telemetry ASAP and have way to know if it has finished before we exit our app. We want to send data right away not flush to disk since this is part of a crash reporter and we do not want to have a long delay before we receive crash information.
Solutions
Open to suggestions but we need a way to determine that all, or just a given event, has been sent so we know we can exit. Obviously in some cases it won't be possible to send events so perhaps a callback or a Result return value is needed.
The text was updated successfully, but these errors were encountered:
UploadNow has no guarantee whatsoever that it will actually even trigger the upload. It may be discarded if you immediately tearddown the SDK. The proper way to handle it is to set the configuration to wait for certain number of seconds:
config[CFG_INT_MAX_TEARDOWN_TIME] = 2; // max number of seconds to try pushing HTTP posts thru
And invoke LogManager::FlushAndTeardown(), which will wait for up to 2 seconds to try push your data. Typically milliseconds. I think there's a possible issue with this in latest code, however, since it appears like this functionality has been broken for some time. See #1120 . This feature operates well on SDK build from June 2021.
Steps to reproduce.
UploadNow() is a non-blocking function
Will reliably lose telemetry.
For our use case we need to be able to attempt to send telemetry ASAP and have way to know if it has finished before we exit our app. We want to send data right away not flush to disk since this is part of a crash reporter and we do not want to have a long delay before we receive crash information.
Solutions
Open to suggestions but we need a way to determine that all, or just a given event, has been sent so we know we can exit. Obviously in some cases it won't be possible to send events so perhaps a callback or a Result return value is needed.
The text was updated successfully, but these errors were encountered: