Code Monkey home page Code Monkey logo

Comments (8)

xgouchet avatar xgouchet commented on May 27, 2024

Hi @mszerling-ynd ,
One of the limitation of our SDK is that RUM Actions, Errors and Resources are only reported when a View is active (this is a topic we're working on to make sure all information are correctly reported). One of my guess is that those actions are happening between the first fragment's onPause and the next one's onResume. What is strange is that nothing is showing up in the LogCat, did you enable the SDK's logs. You can do so using the following line after you initialised the SDK:

         Datadog.setVerbosity(Log.VERBOSE);

from dd-sdk-android.

mszerling-ynd avatar mszerling-ynd commented on May 27, 2024

One of my guess is that those actions are happening between the first fragment's onPause and the next one's onResume

The addUserAction method is called while the first fragment is still active

What is strange is that nothing is showing up in the LogCat

Something is shown, but it's just some logging related to syncing with the backend (no errors/warnings related to actions)

from dd-sdk-android.

xgouchet avatar xgouchet commented on May 27, 2024

Another option that might explain this is that only one action can be active at a given time (and action's span can extend with Resources and errors), meaning that some actions might be dropped because of that. We don't have yet any log for this situation but we'll add one very soon, and that way we'll be able to check if this is the case in your app.

from dd-sdk-android.

mszerling-ynd avatar mszerling-ynd commented on May 27, 2024

In our app there aren't really any bursts (multiple consecutive actions) fired one after another (if that's helpful for debugging).

Just one more comment on this:

The addUserAction method is called while the first fragment is still active

this refers to when the method is called but from what I see in the source code of the sdk the action is processed asynchronously by some executor service so maybe when it is being processed there is no active "View" (fragment in this case).

from dd-sdk-android.

xgouchet avatar xgouchet commented on May 27, 2024

Ok, well we'll add more logs to better understand the situation anyway. And indeed because calls to our API need to return fast, we delegate the creation of the Event to a background thread so it can explain that the action is dealt with after the view is stopped.

from dd-sdk-android.

0xnm avatar 0xnm commented on May 27, 2024

Hello @mszerling-ynd ,

We have added additional logging in the form of warning when action if dropped if another action is still active for the certain view, hope it will help debugging the issue. The change will be available in the next release.

from dd-sdk-android.

eldarcbb avatar eldarcbb commented on May 27, 2024

Hello, So what are we supposed to do when getting this message?
RUM Action (CUSTOM on {Some Action Name}) was dropped, because another action is still active for the same view
Calling GlobalRum.get().stopUserAction(map); prior to addUserAction does not seem to help.
Also why does an action have any sort of "active" status. Isn't it supposed to be an event-like thing?

from dd-sdk-android.

xgouchet avatar xgouchet commented on May 27, 2024

Hi @eldarcbb,
RUM Actions can be active as we link resources and errors to the active action, in an attempt to find correlations that will provide valuable information in Datadog (Error X is caused by Action A, …).
Since version 1.10.0, when you add a custom action, it will never be dropped anymore, even when a previous action is still active.

from dd-sdk-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.