A Spark report is a sampled record of what your Minecraft server was doing during a specific capture window. Read it from the server thread downward: identify the branch that occupies the most time, follow it to the deepest actionable method or subsystem, and verify that it was active during the lag. Then check the same interval’s TPS, MSPT distribution, CPU, memory, and disk data. A wide flame-graph bar or large percentage is a lead to test, not automatic proof of a culprit.
Playing with friends? Godlike.Host runs hosted Minecraft Java servers from 10 data-center locations, with free DDoS protection.
What a Spark report actually represents
Spark profiles Minecraft clients, servers, and proxies. Its CPU profiler uses statistical sampling to build a call graph: while the process runs, samples are taken from active execution, then grouped by the methods and callers seen in those samples. The result describes sampled activity, not every instruction that executed.
As an Amazon Associate I earn from qualifying purchases.
Recommended Free Tools
For a server investigation, the report is most useful alongside Spark’s health information. Health reporting can include TPS, tick durations, CPU usage, memory usage, and disk usage. Those measurements provide the operating context needed to decide whether a hot path is sustained tick work, a short-lived spike, allocation or garbage-collection pressure, or something outside the main server thread.
The capture window is decisive. The official Spark project documentation says that running a profile for about 30 seconds is generally enough to reveal useful problem areas, but only when those seconds overlap the workload you are diagnosing. Thirty seconds of an idle world will not explain a freeze caused by a farm, exploration, redstone activity, or a scheduled job that did not run during the capture.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Capture a report that can answer your question
Before interpreting percentages, make the evidence representative. Use the server-version-appropriate Spark profiler command; Spark can display a web-viewer link, save a .sparkprofile file, or open a live viewer while the profile is running. Record the profile start and stop times so you can match them with player reports, console messages, scheduled tasks, and health output.
- Define the symptom. Decide whether you are investigating continuously low tick rate, periodic freezes, high process CPU, memory growth, slow chunk generation, entity or block-entity work, or a particular plugin/mod action.
- Reproduce or wait for the workload. Keep the farm active, generate or load the affected chunks, move through the area that causes the problem, run the command or map job, or wait for the recurring spike. Do not start and stop the capture only during quiet time.
- Start the profiler and note the time. Use Spark’s profiler command for your server version. If the event is frequent and lasts long enough, a capture of roughly 30 seconds may be useful; extend it when the workload is less frequent.
- Collect matching health data. During the same interval, obtain Spark’s TPS and health information, including tick-duration values and the available CPU, memory, and disk context.
- Stop and preserve the result. Keep the viewer link or the
.sparkprofilefile with the capture times and a short note describing what players or operators were doing. - For intermittent problems, target long ticks. Use Spark’s tick monitoring, long-tick filters, or threshold-focused capture so the report contains the bad ticks instead of averaging them together with normal ticks.
A useful note might say: “Capture from 20:14:00 to 20:14:45 UTC; three players explored new terrain; the freeze was reported at 20:14:22.” That context makes a later comparison meaningful.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Orient yourself in the viewer
Start with the top-level server thread or tick entry
The first row or root node represents the scope being profiled, commonly the server thread or a top-level tick entry. Its children divide that work into subsystems such as entity ticking, block entities, world or chunk work, command processing, event callbacks, and other server tasks. Names vary with Minecraft version, loader, and installed software.
Do not stop at a broad label such as tick, entities, or world. These are containers. Expand the branch and continue until the names become actionable: a particular callback, scheduler task, entity type, block-entity routine, world-generation method, command handler, or plugin/mod package.
Understand caller and callee direction
In a call tree, callers appear above the methods they invoke; callees appear below them. A parent node therefore tells you where execution came from, while a child shows how that parent’s time was spent. Follow the dominant child at each level, but stop and inspect sibling branches when their scope differs or when a threshold filter changes the ordering.
The flame graph presents the same hierarchy spatially. Bars higher in the graph are callers; bars below them are callees. A wider bar means more sampled time in that branch within the current profile scope. Clicking a bar drills into its children, and returning to the parent lets you compare the other branches that share its time.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Read percentages without being misled
A percentage beside a node is normally relative to that node’s parent. If an entity branch shows 60%, that means roughly 60% of the sampled time attributed to its immediate parent, not necessarily 60% of the entire server tick. A top-level percentage is relative to the profile or sampled tick scope.
Some Spark views expose a second whole-tick percentage. That value tells you how much of the complete tick the branch represents and is the appropriate measure when comparing branches from different parents. Forge’s profiler documentation describes this hierarchy explicitly: each row can include section depth, section name, percentage relative to the parent, and percentage of the entire tick.
| Value to inspect | Question it answers | Correct use |
|---|---|---|
| Parent-relative percentage | Which child dominates this subsystem? | Choose the next branch to expand. |
| Whole-tick percentage | How much of the complete tick does this branch consume? | Compare branches that come from different parents. |
| Flame-graph width | How much sampled time is represented by this branch? | See the same hierarchy spatially and drill down. |
Never add parent-relative percentages from unrelated parents as though they were all percentages of one total. They have different denominators. Also remember that a large percentage can be perfectly normal if the captured workload intentionally consisted of that subsystem; the question is whether the work explains the reported symptom.
Use TPS, MSPT, and health data as the reality check
TPS tells you whether the target rate is being maintained
Ticks per second (TPS) describes whether the server is maintaining its target tick rate. A falling or unstable TPS value confirms that the server is not keeping up, but it does not identify the method responsible.
MSPT shows the cost and distribution of ticks
Milliseconds per tick (MSPT) is more diagnostic for slow-tick behavior because it measures how long ticks take. Spark’s current command documentation reports rolling values and distributions that can include the minimum, median, 95th percentile, and maximum. The median describes ordinary behavior; the 95th percentile exposes the slower tail; the maximum shows the worst observed tick and may represent a single extreme event.
Read those values for the same interval as the profile. A high maximum with an ordinary median suggests spikes, while an elevated median indicates sustained work. A high 95th percentile means slow ticks are recurring often enough to affect a meaningful portion of the interval, even if the average looks acceptable.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Interpret CPU, memory, and disk in context
- CPU: High process CPU during the capture supports a CPU-bound explanation, but normal host-wide CPU does not rule out a main-thread bottleneck. One busy server thread can limit tick rate while other cores remain idle.
- Memory and garbage collection: Rising allocation, memory pressure, or GC activity points toward a different investigation from consistently expensive tick work. Use Spark’s memory and GC tools when the symptom is pauses or memory growth.
- Disk: Disk measurements help identify storage-related context, but a disk figure alone does not prove that a particular method caused a tick delay.
These signals are hypotheses to test against the profile and workload, not automatic diagnoses. A profile branch, health metric, and player-visible symptom should line up in time before you treat the branch as the leading explanation.
Separate sustained load from intermittent spikes
An all-ticks average can hide a rare freeze. Suppose a server runs normally for 29 seconds and then pauses for one expensive chunk-generation event. The ordinary profile may contain too little of that event to make it prominent. For periodic freezes, use Spark’s tick monitor or long-tick and threshold filters, and capture while the freeze is occurring whenever possible.
Compare the filtered report with the unfiltered capture:
- A branch that is large only in the long-tick capture is a spike candidate.
- A branch that dominates both reports is sustained work.
- A branch that disappears when the suspected workload is removed is correlated with that workload, but still needs a controlled re-test before you call it causal.
Keep the threshold and scope with the report. A long-tick profile filtered at one threshold cannot be compared directly with an all-tick profile collected under different conditions.
Investigate the common hot-path patterns
Entities and block entities
Entity and block-entity branches reflect both count and activity. A farm can be expensive because many entities are ticking, because a particular behavior is active, or because a block entity is processing inventories, machines, or scheduled work. Profile while the farm or machine is operating; an idle area may never sample the expensive path. After locating the branch, drill down to the entity type or concrete routine and correlate it with the affected area and player actions.
Chunk loading and world generation
Chunk and world-generation work appears only when the relevant chunks are being loaded or generated. Reproduce exploration, teleportation, dimension changes, or the exact travel route that causes the delay. If the profile was taken in an already-generated area, absence of a generation branch says only that generation was not reached during that capture.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Plugin or mod callbacks
Event, scheduler, and callback labels are starting points, not proof of ownership. Expand through the event or scheduler node to the deepest named method and package. Check whether that method appears during the reported lag and whether its whole-tick share is large enough to matter. A broad callback node can contain many unrelated handlers, so assigning blame at the event name alone is unsafe.
Commands, maps, and scheduled jobs
Correlate the profile timestamp with command execution, map rendering, backups, and other scheduled jobs. Expand command or map-processing branches until you reach the concrete operation. If the job did not run in the capture window, its absence is expected and does not demonstrate that it is harmless.
Allocation and garbage collection
When players describe pauses, memory growth, or periodic stop-the-world behavior rather than continuously slow ticks, switch attention from only the CPU call tree to Spark’s memory and GC tools. Look for a time relationship between allocation or collection activity and the long-tick capture. Do not label an ordinary high-allocation method as the cause of a pause without matching timing evidence.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.How to test a suspected plugin or subsystem
- Record a baseline. Capture the normal or problematic workload and save its TPS/MSPT distribution, health context, and top hot branches.
- Identify the deepest actionable name. Expand from the server thread through the subsystem, callback, or scheduler label to a concrete method, package, entity type, or world operation.
- Isolate one condition. Change one relevant factor: pause the farm, stop the scheduled job, move away from the generated area, or temporarily disable the suspected handler in a controlled maintenance window.
- Repeat the same workload. Keep the server version, player activity, dimensions, capture duration, and filtering as consistent as practical.
- Compare measurements. Check whether the suspected branch shrank or disappeared and whether median, 95th-percentile, and maximum MSPT improved. A changed profile without improved tick behavior is not a complete fix.
- Re-enable and retest. Restore the changed condition and confirm that the hot path and symptom return. This reversal strengthens the causal case and guards against coincidental timing.
This process turns a hot path into evidence. It is more reliable than removing several plugins at once or upgrading hardware because a broad node looked large.
Compare two Spark reports fairly
Percentages are directly comparable only when the reports have matching scope and conditions. Use this checklist before drawing a trend:
| Comparison axis | What must match or be documented | Why it matters |
|---|---|---|
| Server software | Same Minecraft/server version and relevant plugin or mod set | Method names and execution paths can change between versions. |
| Workload | Same farm, players, dimensions, entities, exploration route, or scheduled job | Different work naturally produces different hot branches. |
| Capture duration | Start and stop times, including whether the problem occurred inside | A short event can disappear in a longer quiet sample. |
| Profile scope | All ticks versus long-tick or threshold-filtered ticks | Filtered and unfiltered percentages have different meanings. |
| Tick metrics | TPS plus minimum, median, 95th percentile, and maximum MSPT where available | One average can conceal a slow tail or a single spike. |
| Resource context | CPU, memory, GC, and disk observations from the same interval | Separates compute pressure from allocation or storage symptoms. |
| Deepest hot path | Concrete method or subsystem, not only a broad parent label | Broad containers are not actionable diagnoses. |
If any of these axes differ, describe the difference instead of presenting the percentages as a before-and-after measurement.
Best Value
Know what the report cannot prove
A Spark profile is sampled evidence from a bounded time window. It cannot prove what happened outside that window, and it cannot prove causation merely because a method appears near the top. An absent path means only that it was not reached or not sampled under those conditions.
Forge’s profiler documentation makes the reachability issue explicit: entities and block entities must exist in the level to appear in output. The same practical limitation applies to other conditional work. A command that did not run, a chunk that was not generated, or a machine that was idle will not contribute samples.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteUse the report to form a testable lead. Re-run with the suspected workload isolated, change one relevant condition, and compare the resulting TPS, MSPT distribution, health data, and deepest hot path. Do not recommend a server upgrade solely because a broad node is large; first establish which actionable branch is expensive during the reported problem.
A compact reading checklist
- Was the real lag or workload active during the capture?
- What are the capture times, server version, dimensions, players, and filters?
- Which top-level branch consumes the most whole-tick time?
- Which child consumes that parent’s time, and how deep can you trace it?
- Are you reading a parent-relative percentage or a whole-tick percentage?
- Do TPS and the MSPT median, 95th percentile, and maximum describe sustained slowness or spikes?
- Does CPU, memory, GC, or disk context support the same explanation?
- Does the branch appear in a long-tick capture as well as an all-tick capture?
- Can you change one condition and reproduce the profile and symptom?
Frequently asked questions
Why can a server have low TPS when overall CPU usage looks normal?
Tick execution can be limited by one busy main server thread while other cores remain mostly idle. Host-wide CPU is therefore not a sufficient test for a main-thread bottleneck; inspect the server-thread branch and the matching MSPT data.
Is a 30-second profile always enough?
No. The Spark project describes roughly 30 seconds as generally useful when it overlaps the problematic workload. A rare freeze or infrequent scheduled task requires a longer wait, a capture during the event, or long-tick and threshold-focused monitoring.
What does it mean if the suspected branch is missing?
It was not reached or not sampled in that window. Reproduce the condition that should activate it, such as loading the affected chunks, running the command, or operating the machine, and capture again.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesCan I compare percentages from any two reports?
Only when their server version, workload, scope, filtering, and capture conditions are aligned. Otherwise compare the documented differences first and treat the percentages as separate observations.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




