NetworkProfiler: Detailed Network Flow Analysis

As a Roblox developer, it is currently too difficult to accurately diagnose and pinpoint the specific causes of high network spikes, continuous data streams, and fluctuating ping times. While the existing Network Overview provides some insights by categorizing data into areas like Physics, Data, Touch, and Clusters, and the “Network” tab in the dev console offers service breakdowns, these tools lack the necessary detail to fully understand the exact sources of network traffic. For example, when faced with constant data streams, it’s challenging to discern whether the issue stems from streaming models, service calls, texture loading, or other in-game activities. This lack of detailed information makes it difficult to effectively identify and resolve these network-related issues.

Examples of current Network Stats and “Network” section:
grafik


If this issue is addressed, it would greatly improve my development experience because it would allow me to quickly identify the root causes of abnormal data flows, network spikes, and ping variability without the need for extensive manual testing and script analysis. With more detailed insights into what data is being transmitted, developers could directly address performance issues, optimize data flow, and minimize unnecessary network traffic. This would lead to smoother gameplay experiences for users and more efficient development cycles.

  • Recv spike which went up to 200 - 300 kb/s, followed by a ping spike of around 200 ms, even though I was standing still in the lobby:

  • Another unexplainable Recv spike visible in this image:


Use Cases and Detailed Description:

  1. Baseline Network Traffic Analysis: In our game, we often see a baseline network traffic of 40-60 kb/s with no visible in-game activity. However, in other instances, the baseline can drop to 1-5 kb/s on a different server without any apparent changes. With more advanced network analysis tools, we could instantly identify the cause of this constant data flow, whether it’s due to background processes, specific scripts, or streaming instances and take corrective measures.

Example of varying baseline Recv rates:

  1. Network Spikes Diagnosis: Our game experiences significant fluctuations in network traffic, sometimes spiking up to 180 MB/s, while at other times, it’s as low as 20 MB/s. This wide variability makes it challenging to determine whether these spikes are solely due to map loading (e.g., streaming instances, loading textures) or other processes. A detailed breakdown of these spikes would allow us to identify the exact contributors, such as specific models or assets, and optimize these processes to reduce their impact on gameplay.

Example of a data spike affecting all players’ ping:

  • A huge data spike, (likely caused by a new game start and map loading, which appears to impact the ping of all players on the server)
    grafik
  1. Ping Variability Analysis: We’ve noticed that when a new match starts, the ping for everyone in the server sometimes spikes. While this is often thought to be related to map loading, there are times when Recv spikes happen even when players are just in the lobby and not participating in a match, leading to a ping spike afterward. The cause of this is unclear. Tools that can show exactly what’s causing these ping spikes would help us fix these issues and improve server performance.

Proposed Features: Integrated into a New Network Profiler

  • Network Data Recording and Analysis Tool: Similar to LuaUHeap, ScriptProfiler, and Server MicroProfiler, this tool would record and break down network data, detailing exactly what data is being sent/ received and categorizing it by type (e.g., streaming instances, service calls, remote events). For example, this tool could include Detailed Remote Event Tracking, which would show the percentage of data being sent/ received through remote events and identify which remote events contribute the most to network traffic. This detailed analysis, showing percentages and kb/s for each category, would allow developers to trace network spikes back to specific models, assets, remotes or scripts. (Server/ Client)
  • Ping Analysis Tool: A tool that provides feedback on potential causes of high ping, possibly linking it to specific processes or data spikes. This would help developers understand and address issues that lead to unstable ping, thereby improving the overall server experience.

Additional Feature Idea:

  • Optimizing Roblox’s Handling of Data Spikes: Enhance how Roblox manages data spikes, especially in scenarios where multiple players (e.g., 8 players) load into a match with a detailed map streaming in. Instead of causing all players outside the match to experience high ping due to the data spike, this feature would aim to manage the data flow so that only the players entering the match experience a temporary increase in ping, while other players remain unaffected.

Summary: Implementing these features would provide developers with a deeper understanding of network behavior in their games, enabling more efficient troubleshooting and optimization. This would not only enhance the development experience but also significantly improve the overall performance and stability of Roblox games, allowing developers to effectively address underlying issues and optimize data flow.

12 Likes

Yeah, at first, I go into the problems with examples from my game, then I provide use cases and suggest features.

I’ve seen devforum posts which are like 2-5x as long

1 Like

I think your request is reasonable, and to be honest it would help a lot of developers diagnosing memory leaks and stuff

I hope roblox listens to this post

2 Likes

Thanks alot! Roblox has also recently added LuauHeap into Dev Console, I found like 30-40 memory leaks of instaces in scripts with it under “Unique References”

1 Like

Hi all,

We understand your frustrations with the tooling - this is a big pain point and something we do want to improve so you guys can get more actionable details. Unfortunately, we don’t have a timeline for you guys just yet. That being said, please feel free to discuss on this thread or others going forward, we’ll continue to read you guys’ feedback.

4 Likes

Great feature request. As the developer of Packet Profiler, network data analysis has always been a crucial aspect of my development career – it becomes very hard to figure out the root cause of network spikes the moment the root cause leaves the scope of whatever the developer is equipped with monitoring. Physics has consistently been a troublemaker in terms of networking spikes, and so I believe that being equipped with better diagnostic tools for analyzing physics replication in-game would be a huge help.

3 Likes