← View all posts
June 25, 2024

Helpful Firefox about: pages for debugging WebRTC

Contributed by ngrunbaum@mozilla.com,

Debugging WebRTC calls can be difficult. When you work on WebRTC any call you are in can unexpectedly become a troubleshooting session and printing messages to the JS console may not cut it. Firefox ships with several tools to help. We’ll briefly touch on each of these tools at a glance and learn when you might want to reach for them.

Using about:webrtc and about:logging

about:webrtc has lots of information about WebRTC sessions. Of all the tools covered here, this one is the most tailored for debugging active call issues. You can look at the call signaling, connection establishment, network traffic, and more. In a future article we will look at effective ways to get data out of about:webrtc and into your notes, bug reports, and more. There are more generalized tools available as well, so let’s take a peak at those next.

If one needs to get WebRTC (and other) logging out of the browser about:logging is there to help. By selecting the “WebRTC” logging preset one can tell Firefox to produce in depth logging related to WebRTC calls. We’ll cover this in greater detail in a later article.

Useful about: pages for process, memory and crash information

Did Firefox crash during your call? If so about:crashes may have exactly what you need to get a crash stack. You can also submit crashes from there and get links to those submissions. This is great information to include in any related bugs you may file. Check out this article for more guidance on using about:crashes.

If one needs to attach a debugger to Firefox, about:processes can help you find the right process quickly. You can see at a glance what tabs belong to which processes, see per process CPU and memory usage, and you can dig down to inspect threads in those processes. You can read a bit more about it in this support article.

When diving deep into tracking down memory usage about:memory can be useful. You can produce a memory report, force garbage collection, and other esoteric memory related things. The Firefox Source Docs, our in-tree documentation, has a detailed article to help you use it effectively.

If you want to find even more tools that may be useful for other problems you can always explore about:about. Have fun!