Roblox has launched LibMP, a new Luau API that allows developers to programmatically access MicroProfiler performance data across clients and servers. This tool enables the creation of custom in-game debug widgets, performance analytics collection, and snapshot generation for external analysis.
Vibe score
-100 to +100
This topic was automatically opened after 10 minutes.
Is this for Version 726 or 727? Important question because it is putting me in 726. I am not sure if it puts others there as well, but like yesterday it was fine. And not because of zluauscatterhash who is still stuck on version 726. image 360×150 2.87 KB So what will happen to the .html file
could this be requireable via require("@rbx/LibMP") ?
Does this enable memory tracking if forced on by LibMP.Control:EnableProfiler(true) ? This will allow our devs not to have to go through the process of: Opening the game Turning on the micro-profiler on the mobile device Leaving the game Killing the Roblox client app Starting the Roblox client app J
Okay but that place thumbnail is sick. Anyway, can’t wait to have access to this in live servers! My home network doesn’t let me view the mobile microprofiler for whatever reason, so it would be neat to make a dev-only way to access this on mobile for my game.
Awesome to see what seems like Spider for WASM to Luau - any chance Roblox might release the original source code for this? I’m skimming through to understand it more, but it’s kind of impossible in a lot of places. I also second @rbx/libmp if it gives opportunity to avoid freezes and potential cras
This should work fine in v726! So what will happen to the .html files. They’ll continue to work as usual, and at the same time I’ll be unifying the internal formats, so they’ll also be readable via LibMP.
could this be requireable via require(“ @rbx /LibMP”)? At the moment, no. We had some internal discussions about it, and it was decided that these @rbx shortcuts are reserved for special use cases only. For use in actual games, you’ll still need to add it manually.
Now this is actually pretty darn awesome. … But you know what isnt awesome? The fact that the microprofiler stopped showing core assignments and frequencies! image 504×317 10.4 KB I hope this is just a bug because god i need that else all profiling on mobile is entirely worthless. Is it running on a
Coderz: Does this enable memory tracking if forced on by LibMP.Control:EnableProfiler(true) ? The logic remains the same here, you simply enable MP programmatically. When the memory counters were refactored to be disabled by default (it’s a long story), they were designed so that they can only be re
image 821×515 23.1 KB So what was the original language this was written in? I don’t think a real person went in and created variable L9 or Code local L3pw, L3px, L3py, L3pz, L3q0, L3q1, L3q2, L3q3, L3q4, L3q5, L3q6, L3q7, L3q8, L3q9, L3qA, L3qB, L3qC, L3qD, L3qE, L3qF, L3qG, L3qH, L3qI, L3qJ, L3qK,
Spider Nice find! I like Spider a lot - it’s a wonderful tool, and it is indeed used here. WASM-to-Luau is a very powerful approach when you want to maintain a single codebase that runs across different environments and languages. any chance Roblox might release the original source code for this? Ye
So what was the original language this was written in? It’s written in C++ and exposes a C-style API to make this WASM-based approach work.
Pretty interesting approach. I was expecting a full pure Luau implementation but this is cool to see as well.
the microprofiler stopped showing core assignments and frequencies! I remember that the last time this addon caused a regression on macOS, we did some refactoring, and it’s possible we haven’t re-enabled it yet. I’ll double-check - thanks for reporting it! It’s also good to know that this feature is
Yes thank you thank you! A smaller issue i have experienced with the profiler for a bit of time is that it tends to swap labels around like this. It’s not a big deal to be fair since i know what it actually is (and i imagine most developers who properly label their code will also know what it is act
Will MicroProfilerService ever be properly documented? The compiled system seems to be using it, and I would like it if it was documented so folks can make a pure Luau implementation if they wish in their libraries.
Noctua: Pretty interesting approach. Yeah, pure Luau would be better for… Luau. But we work with MP data in C++ (in the engine), in Luau (in scripts), and in JavaScript (in the HTML dump viewer). Our engineers also frequently write small Python scripts to extract information from dumps. On top of th
ZenMa1n: But we work with MP data in C++ (in the engine), in Luau (in scripts), and in JavaScript (in the HTML dump viewer). Our engineers also frequently write small Python scripts to extract information from dumps. Hmm. JavaScript is understandable when it comes to working with HTML files, but Pyt