[VERSION 2.0.0] Packet Profiler - easily measure all of your remotes!

v.1.4.6

  • Remove a print that was accidentally left in

v1.4.7

  • Disable localization on all TextLabel and TextButton objects in the plugin. Fixes #6

v1.4.8

  • Fix Roact still creating the state tree & trying to render the packet profiler despite it being disabled. Should improve performance

Plugin just errors when it opens which makes it unusable.
image

1 Like

v1.5.0

  • Fix packet profiler errors if opened after game start (cc. @jake_4543 @faumes )
  • Cleanup remnant connections when packet profiler is closed
1 Like

Thank you for this! This is an extremely useful tool for analyzing remote event data traffic!

1 Like

v2.0.0

Packet Profiler has been updated with better and improved functionality - among other things it now shows the first parent of the remote, provides support for remote compression libraries such as Zap to send the decompressed packet data to the profiler, and a lot of UX/DX improvements.

Changes since v1.5.0

Improvements

  • The packet chart’s pie chart UI now animates upon opening a packet frame.
  • “Packet data: …” has been replaced with “Remote call 1: …” for better intuition on what it means.
  • Every remote call is now under a separate container for the same reason as above.
  • Reworked how the remote naming module works: it now allows the module to output multiple remote calls from different remotes, which will make it possible for remote compression libraries such as Zap - who compress multiple remote calls into one - to decompress the remote data, and have it displayed on the packet profiler as individual remotes.
  • When using the in-game profiler, you can resize one, or both, axes of the packet chart UI by dragging the ends of the frame.
  • The buttons for the in-game profiler are now positioned on the right side of the screen, due to Roblox’s topbar having occluded the buttons previously.
  • Slightly updated the syntax highlighting to highlight curly brackets, and how buffers were highlighted.
  • The packet frame tooltip now has its position clamped in order to not leave the screen viewport.
  • The first parent of the RemoteEvent is now included in the remote name, as to more easily see which category the remote belongs to.
  • Buffers now have each byte read as a uint8 for easier debugging.
  • You can hover over parts of the pie chart, which will highlight that area. I’ve yet to come up with a good idea on what pressing it should do :slight_smile:
  • The packet chart UI now adjusts its sizes based on whether the scroll bar is visible, to maximize space usage.
  • The packet chart UI and packet profiler UI now use “bytes” and “kilobytes” respectively, instead of their abbreviations, for better readability.
  • Slightly modified the packet chart UI to be more sleek.
  • Reworked parts of the code for better readability.
  • Removed the RichText render cap due to Roblox changing how the limit is counted.

Fixes

  • Fixed a bug where some instances could break the richtext rendering, if named with one of the characters used by the richtext markup format.
3 Likes

v2.0.1

Fixes

  • Fixed an error in the plugin when the user stopped the studio session

v2.1.0

Changes since v2.0.x

  • Update the remote name profiler to instead pass every remote argument, including the player if called on the server. This is change will allow Zap to provide decompressed remote data & names.

Fixes

  • Fix in-game packet chart resizer not properly taking core gui inset into account
  • Fix packet chart code containers cutting into scrollbar

PacketProfiler v2.2.0

Changes since v2.1.x

Links

PacketProfiler v2.2.1

Changes since v2.2.0

  • Rewrote TableToSyntaxString to be more readable

Fixes

Links

1 Like

PacketProfiler v2.2.3…v2.2.2

Fixes

  • Fix bytes for individual values no longer being shown in packet chart
  • Fix compressed remotes showing their decompressed packet sizes

Links

PacketProfiler v2.2.4

Minor plugin update

  • An internal Roblox service was accidentally indexable through game:GetDescendants(), but errored when any script tried reading to it. This caused the plugin to break as a result. According to engineers this will be fixed next week, however I’ve rolled out a patch to the plugin to ensure this doesn’t happen again either.
1 Like

this is an awesome plugin, thank you for your contributions to the community

1 Like