apm-agent-rum-js icon indicating copy to clipboard operation
apm-agent-rum-js copied to clipboard

rum can't capture video type transactions

Open LHB6540 opened this issue 2 years ago • 6 comments
trafficstars

In my site html site I try to follow this documentation Synchronous / Blocking Pattern and Asynchronous / Non-Blocking Pattern in the two ways to install the agent. But no matter which one, I can capture image, css and other types of transactions, but I can't capture video access or loading transactions. My video reference code is as follows, it is located in html->body, the same location as those image type files

<video id="bgVideo" x5-video-player-fullscreen="true" x5-playsinline
     playsinline webkit-playsinline muted autoplay loop poster="/assets/images/m/common/kv.jpg">
     <source src="https://xxx.com/landing/dhs/mbg77.mp4?v=1" type="video/mp4">
</video>

I would like to know if the capture of video type is supported, if so, how should I troubleshoot and solve the current problem

LHB6540 avatar Aug 23 '23 02:08 LHB6540

Hi @LHB6540,

I have a few questions:

  • What do you mean by capturing video-type transactions, could you elaborate more?
  • What are you exactly expecting to see in Kibana UI?

I can capture image, css and other types of transactions

Are you creating them as a custom transaction? or do you mean that you can see each of those resources represented as a span of a transaction (e.g. page-load transaction)?

Cheers, Alberto

devcorpio avatar Aug 25 '23 08:08 devcorpio

It means that I want to see the video request or loading time in kibana's tracking ui. As shown in the picture below, I can observe the loading time of the referenced picture, but there is no loading time of the video type file, which means that no video transaction event is reported. Even if I use the Synchronous / Blocking Pattern to ensure that rum.js is completed before the video loads, the result is still like this。 image

LHB6540 avatar Aug 25 '23 08:08 LHB6540

Hi @LHB6540,

I see, thanks for the clarification.

Let's check if the resource timing API is identifying the video resource properly:

Steps:

  1. Load your page
  2. Once the page is loaded, go to your browser console and execute: performance.getEntriesByType("resource").filter(entry => entry.initiatorType === 'video')

Let me know if it's returning any entries and if the values are the ones that you would expect to see in Kibana

Thanks, Alberto

devcorpio avatar Aug 25 '23 08:08 devcorpio

You are right @LHB6540. When we developed this feature a while ago it was decided not to include all the resources initiator type that browsers support. So as you said, we are not capturing resources such as video (audio and embed either)

The list below contains the resources initiator type that we are currently capturing:

  link
  css
  script
  img
  xmlhttprequest
  fetch
  beacon
  iframe

will discuss this within the team and we'll let you know once we have more info

Thanks, Alberto

devcorpio avatar Aug 25 '23 09:08 devcorpio

OK,thank you

LHB6540 avatar Aug 25 '23 09:08 LHB6540

will keep it open to not lose track of this

devcorpio avatar Aug 25 '23 10:08 devcorpio