Profiler Analizcisi
Dahili FiveM profiler ile kayıt al, kaydedilen JSON'u buraya bırak ve okunabilir bir rapor al: resource başına süre, en kötü frame'ler, yoğun thread'ler ve event'ler, zaman içindeki spike'lar ve neyi düzeltmen gerektiğine dair net tavsiyeler. Her şey tarayıcında işlenir, hiçbir şey yüklenmez.
Bu araç ve notları şimdilik İngilizce.
How to record a profile
FiveM has a profiler built in on both sides. It records every resource tick and event handler with microsecond timing, including escrowed resources, and saves it as a Chrome trace file.
Server (txAdmin Live Console or the FXServer window)
profiler record 1200
profiler status
profiler saveJSON lag.jsonThe server runs 20 ticks per second, so 1200 ticks is one minute. Record during peak hours: problems that only show with players online will not show on an empty server. The file is written to the folder FXServer runs in (next to server.cfg with txAdmin).
Client (F8 console)
profiler record 1000
profiler saveJSON lag.jsonStand where the game feels bad and do the laggy thing while it records. The file ends up in%localappdata%\FiveM\FiveM.app\citizen\. Client recordings store a small screenshot per frame, which is why they get big. Files of a few hundred MB are fine here.
Other profiler commands
profiler record startandprofiler record stop: record until you stop it.profiler resource myresource 300: records Lua function calls of one resource (use*for all). Slower, but shows which function is heavy.profiler view: opens the raw trace in Chrome DevTools, handy for a manual look.profiler save namewrites a binary file this page can't read. UsesaveJSON.
What you are looking at
Script time vs frame time
Script time is what resources spent in a frame (client) or tick (server): their threads, event handlers and callbacks. Frame time on the client is the time between two frames for the whole game, and tick interval on the server is the time between two server ticks. When the gap is big but script time is small, the stall came from somewhere else (streaming, the host, garbage collection in C# or JS), and the findings say so instead of blaming a script.
Budgets
| Client | Server | |
|---|---|---|
| Frame or tick | 16.7 ms at 60 FPS | 50 ms (20 ticks per second) |
| Scripts get heavy at | 4 ms per frame | 25 ms per tick |
| Hitch | a frame over 50 ms | ticks over 150 ms apart (the console's hitch warning) |
| One resource worth a look | 0.1 ms per frame, heavy from 0.5 ms | 0.5 ms per tick, heavy from 2 ms |
Resources
Avg is time per frame or tick over the whole recording, the same thing resmon shows. Times are exclusive: when resource A triggers an event in resource B, B's handler counts for B, not twice. Click a resource to see what triggered it (its tick or which events), its Lua threads and handlers with file and line numbers, and its worst frames. It also lights up in white on the timeline.
Timeline and frames
One bar per frame or tick. Amber and red mark the budgets above. Click a bar to open that frame: a flame chart of exactly what ran, in order, and on the client the screenshot the game took at that moment.
Flame graph
The whole recording merged by call path: the wider a block, the more total time it took. Click to zoom in, search to highlight a resource or file.
Findings
Rules that read the numbers: loops that run every frame (the Wait(0) pattern), heavy event handlers, events fired too often, heavy NUI callbacks, spikes that repeat on a timer, resources with many small threads, and hitches with and without a script to blame. Each one shows the evidence and a concrete fix.
Compare
Record before and after a change, open the first file, then drop the second one in Compare. Numbers are per frame or tick, so two recordings of different length still line up.
Privacy
The file never leaves your browser. There is no upload and no shared leaderboard. Resource names in your profile stay on your machine.
Limits
- Only Lua threads and handlers get names. JS and C# resources show up as a total per resource.
- The profiler adds a little overhead itself, so absolute numbers run slightly high. Compare recordings made the same way.
- The "Try a sample" file is made up, with invented resource names.
Sources and other tools
- Using the Profiler (Cfx.re docs)
- [FREE] Profiler Analyzer on the Cfx.re forum and app.1of1scripts.com/profiler
- fivemprofiler.com (source)
Diğer sunucu araçları
Sunucu Durumu Kontrolü
Bir FiveM sunucusu açık mı? Oyuncular, build, resource'lar ve map için IP:port ya da cfx.re join kodu gir.
Cfx Blacklist Kontrolü
Bir IP'nin, host'un ya da sunucu join kodunun Cfx.re platform blacklist'inde olup olmadığını kontrol et. VPS almadan önce bak.
Sunucu Durum Rozeti
Sitene, README'ne ya da Discord'una canlı durum rozeti ekle. Her zaman gerçek oyuncu sayını gösterir.
