Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unusual watch time calculation #383

Open
AkhilMohan-R opened this issue Nov 4, 2024 · 2 comments
Open

Unusual watch time calculation #383

AkhilMohan-R opened this issue Nov 4, 2024 · 2 comments

Comments

@AkhilMohan-R
Copy link

AkhilMohan-R commented Nov 4, 2024

Hi,

We are using the com.mux.stats.sdk.muxstats:MuxExoPlayer_r2_17_1:2.9.0 for monitoring the ExoPlayer. Once i pause a playback and seek then the heartbeats ("e": "hb") are called repeatedly and it will not stop until another event like play/pause is called. Is that an expected behavior, if it is then this behavior is resulting in unexpected watch time for our content in the mux dashboard.

Image

@daytime-em
Copy link
Collaborator

Hi @AkhilMohan-R, Thanks for your report.

It is expected that hb events are sent while the player is seeking, but we do find this view to be a little odd.

If possible, I'd like to ask you for some more information. Would you be able to provide the following:

  • A link to a full View where this issue can be seen
  • A network trace (Charles or Proxyman or other of your choice), if you can reproduce this locally

Also, based on this timeline, it appears the user may have abandoned the app during seeking. When the user is no longer watching, you should release() your MuxStatsSdkMedia3 monitor and stop() your ExoPlayer. If the ExoPlayer is stuck seeking in the background for long periods of time, this situation can occur.

@AkhilMohan-R
Copy link
Author

Hi @daytime-em, Here Iam attaching the screenshot of the network call. and also the connection trace.

Image
As you can see in the network inspector the android calls are being called multiple time without any invocation or any other events.
{ "duration-microseconds": 326797, "method": "POST", "request-content-type": "application/json", "request-headers": { "Content-Type": "application/json" }, "request-payload-base64": "eyJldmVudHMiOlt7InhpZCI6IjU4YmU2MzZjLWI2ZTItNGFhNS1hYWM0LTU2YmIzNDg4Zjc4ZiIsInh3YXRpIjoiMjE0MzUxMiIsInV0aSI6IjE3MzE1NzA0MTM2NjUiLCJ4c3FubyI6IjQwNSIsInh0bGN0cGJ0aSI6Ijk1ODM2NDM2IiwieHRsZGciOiIyLjQ0MjAxMzE3OTM5ODA5RTciLCJ4Y3RwYnRpIjoiMjM4NzQ0OCIsInBpbmlkIjoiNWIyM2EzOWUtZDZkYS00NzIwLTllNDgtZjQ2OWU2NjE0ZmM2IiwicHBodGkiOiIzNDczMjk5IiwicGh0IjoiMCIsInB3ZCI6IjAiLCJwc3FubyI6IjQwNSIsInBwZ3RpIjoiLTkyMjMzNzIwMzY4NTEzMDI1MDgiLCJha2UiOiI0MzR1cGJvYW03aGxpYWM5YWIyNzczazl2IiwibWFwdmUiOiIyLjEiLCJzZXgiOiIxNzMxNTcxOTEzNjY1IiwiZSI6ImhiIn1dLCJtZXRhZGF0YSI6eyJydHRfbXMiOjMzOCwidHJhbnNtaXNzaW9uX3RpbWVzdGFtcCI6MTczMTU3MDQxNTA2M319", "response-code": 200, "response-content-type": "", "response-headers": { "access-control-allow-methods": "POST, GET", "access-control-allow-origin": "*", "content-length": "0", "date": "Thu, 14 Nov 2024 07:46:53 GMT", "null": "HTTP/1.1 200 OK", "server": "envoy", "X-Android-Received-Millis": "1731570415387", "X-Android-Response-Source": "NETWORK 200", "X-Android-Selected-Protocol": "http/1.1", "X-Android-Sent-Millis": "1731570415115", "x-envoy-upstream-service-time": "0" }, "response-payload-base64": "", "stack-trace": "java.net.URL.openConnection(URL.java:1006)\ncom.mux.stats.sdk.muxstats.MuxNetworkRequests$c.a(Unknown Source:5)\ncom.mux.stats.sdk.muxstats.MuxNetworkRequests$c.a(Unknown Source:76)\ncom.mux.stats.sdk.muxstats.MuxNetworkRequests$c.doInBackground(Unknown Source:2)\nandroid.os.AsyncTask$3.call(AsyncTask.java:394)\njava.util.concurrent.FutureTask.run(FutureTask.java:266)\njava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\njava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\njava.lang.Thread.run(Thread.java:923)\n", "threads": "AsyncTask #3", "transport": "JAVA_NET", "url": "https://434upboam7hliac9ab2773k9v.litix.io/android" }

This is the connection trace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants