Coder Social home page Coder Social logo

lucko / spark Goto Github PK

View Code? Open in Web Editor NEW
953.0 14.0 124.0 4.18 MB

A performance profiler for Minecraft clients, servers, and proxies.

Home Page: https://spark.lucko.me/

License: GNU General Public License v3.0

Java 100.00%
minecraft performance profiler spigot fabric forge fabricmc minecraft-server bukkit

spark's People

Contributors

44trent3 avatar astei avatar avaruus1 avatar darkere avatar davidmayr avatar draradech avatar drexhd avatar extclp avatar ishland avatar james58899 avatar kenroukoro avatar liach avatar literallyfiro avatar llamalad7 avatar lucko avatar lukeeey avatar mdcfe avatar moritzr200 avatar paintninja avatar phit avatar potatopresident avatar powercasgamer avatar pschichtel avatar sashasemenishchev avatar scrayos avatar sk89q avatar theomega24 avatar therealryguy avatar titaniumtown avatar vaperion avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spark's Issues

Line numbers

Would it be possible to show line numbers instead of method names like massivelag?

Privacy issues

As i was reading the spark-web project is just a reader-data from another storage provider. Would be possible to set own-storage provider?

[Bug] Player /spark cause "java.lang.NoClassDefFoundError"

Reproduce:

  1. Run /spark command in-game.

Resources:

  • spark b52
  • Spigot 1.14 b2225
  • Java 11.0.2 (Oracle JDK)

Versions affected: b52

[14:21:21] [Server thread/INFO]: i0xHeX issued server command: /spark
[14:21:21] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'spark' in plugin spark v1.3.0
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServer.java:707) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.PlayerConnection.handleCommand(PlayerConnection.java:1666) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1506) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:13) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:135) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:114) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.MinecraftServer.aW(MinecraftServer.java:892) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:885) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(SourceFile:123) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:869) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:802) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class me.lucko.spark.common.command.CommandResponseHandler
	at me.lucko.spark.common.SparkPlatform.executeCommand(SparkPlatform.java:108) ~[?:?]
	at me.lucko.spark.bukkit.SparkBukkitPlugin.onCommand(SparkBukkitPlugin.java:80) ~[?:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	... 17 more

[Bug] Console /spark cause "IllegalStateException: content must be set"

Reproduce:

  1. Run spark command withing console.

Resources:

  • spark b52
  • Spigot 1.14 b2225
  • Java 11.0.2 (Oracle JDK)

Versions affected: b52

[14:20:59] [Server thread/WARN]: Unexpected exception while parsing console command "spark"
org.bukkit.command.CommandException: Unhandled exception executing command 'spark' in plugin spark v1.3.0
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServer.java:707) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchServerCommand(CraftServer.java:692) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.DedicatedServer.handleCommandQueue(DedicatedServer.java:433) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:397) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:953) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:798) [spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.ExceptionInInitializerError
	at me.lucko.spark.common.SparkPlatform.executeCommand(SparkPlatform.java:108) ~[?:?]
	at me.lucko.spark.bukkit.SparkBukkitPlugin.onCommand(SparkBukkitPlugin.java:80) ~[?:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	... 8 more
Caused by: java.lang.IllegalStateException: content must be set
	at net.kyori.text.TextComponent$Builder.build(TextComponent.java:291) ~[?:?]
	at me.lucko.spark.common.command.CommandResponseHandler.<clinit>(CommandResponseHandler.java:41) ~[?:?]
	at me.lucko.spark.common.SparkPlatform.executeCommand(SparkPlatform.java:108) ~[?:?]
	at me.lucko.spark.bukkit.SparkBukkitPlugin.onCommand(SparkBukkitPlugin.java:80) ~[?:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[spigot-1.14.jar:git-Spigot-4d24e36-5193f76]
	... 8 more

1.7.10 version

Hey. Is there a 1.7.10-compatible version of spark?
The file itself injects into the classpath, but no command in-game is available.

heapsummary ArrayIndexOutOfBoundsException

Just after downloading and installing the plugin, /spark heapsummary throws this error. I was able to heapdump just fine though.

[21:21:18 INFO]: [⚡] Creating a new heap dump summary, please wait...
[21:21:18 INFO]: [⚡] An error occurred whilst inspecting the heap.
[21:21:18 WARN]: java.lang.ArrayIndexOutOfBoundsException: 30
[21:21:18 WARN]: at me.lucko.spark.common.util.TypeDescriptors.getJavaType(TypeDescriptors.java:72)
[21:21:18 WARN]: at me.lucko.spark.common.util.TypeDescriptors.getJavaType(TypeDescriptors.java:65)
[21:21:18 WARN]: at me.lucko.spark.common.util.TypeDescriptors.getJavaType(TypeDescriptors.java:35)
[21:21:18 WARN]: at me.lucko.spark.common.heapdump.HeapDumpSummary.lambda$createNew$0(HeapDumpSummary.java:97)
[21:21:18 WARN]: at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
[21:21:18 WARN]: at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
[21:21:18 WARN]: at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
[21:21:18 WARN]: at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
[21:21:18 WARN]: at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
[21:21:18 WARN]: at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[21:21:18 WARN]: at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
[21:21:18 WARN]: at me.lucko.spark.common.heapdump.HeapDumpSummary.createNew(HeapDumpSummary.java:101)
[21:21:18 WARN]: at me.lucko.spark.common.command.modules.MemoryModule.lambda$null$0(MemoryModule.java:61)
[21:21:18 WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59)
[21:21:18 WARN]: at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
[21:21:18 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[21:21:18 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[21:21:18 WARN]: at java.lang.Thread.run(Thread.java:748)

Flag --ignore-sleeping does not work?

I just tried to test new flags, and as I understood, --ignore-sleeping should ignore time, when server sleeps for tick and this means if tick took 25 ms, sampler should not record this, if threshold is 50ms.

My commands:
/spark profiler --start --ignore-sleeping --only-ticks-over 50
/spark profiler --stop --order-by-time

Expected behaviour:
Empty logs.

Actual output:
https://spark.lucko.me/#yKgkSTTzBC
Command /spark tps shows that the maximum tick duration during a minute was 23.3ms, but logs show some data recorded.

Question about spark on waterdall

Im looking for what is causing lag on waterfall and im using
/sparkb sampler --thread * --combine-all

but im not sure if thats the proper way to find it. After some time my waterfall is using 70% of cpu and starts lagging a lot. What should be proper flags to find what is causing that?

Spark with flags i've used doesnt say much:
https://sparkprofiler.github.io/#af1UqnDE1j

Tabcompletion

A default user without any spark related permission can see the commands:

  • spark
  • tps

Is it possible to suggest these commands only if a player has any permission for spark?

java.lang.NoSuchMethodError: org.bukkit.Server.getMinecraftVersion()Ljava/lang/String;

[23:05:26 INFO]: LaotouY issued server command: /spark:spark sampler --stop
[23:05:26 INFO]: [⚡] The active sampling operation has been stopped! Uploading results...
[23:05:27 WARN]: [spark] Plugin spark v1.4.2 generated an exception while executing task 35093684
java.lang.NoSuchMethodError: org.bukkit.Server.getMinecraftVersion()Ljava/lang/String;
at me.lucko.spark.bukkit.BukkitPlatformInfo.getMinecraftVersion(BukkitPlatformInfo.java:50) ~[?:?]
at me.lucko.spark.common.platform.PlatformInfo.toData(PlatformInfo.java:43) ~[?:?]
at me.lucko.spark.common.sampler.Sampler.toProto(Sampler.java:167) ~[?:?]
at me.lucko.spark.common.sampler.Sampler.formCompressedDataPayload(Sampler.java:192) ~[?:?]
at me.lucko.spark.common.command.modules.SamplerModule.lambda$handleUpload$5(SamplerModule.java:270) ~[?:?]
at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:81) ~[spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) [spigot-1.15.2.jar:git-Spigot-800b93f-8160e29]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_251]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_251]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]

TPS Graph

A TPS graph which shows a graph of tps history during the profiling

Don't include spark/warmroast threads in the profiler output.

When running /profiler start --thread * all threads are included, even the profiler threads. This causes a huge list of spark worker threads in the output which I don't need.
capture
Looking at the scroll bar you can see how long the list is beyond the image, at the bottom there are only 3 threads that are actually useful.

[Feature] Add used memory after GC to memory reports

Problem:
Used memory at the time we send for example /spark health includes garbage memory, that will be collected soon. When looking for lag source (or for memory leak) checking used memory may confuse, at the moment it could be like 80%, and the next time GC will collect everything so usage become 47%:
https://i.imgur.com/MIdEkcl.png

This forces to send command again and again to see the approximate memory usage excluding garbage.

Solution:
We can calculate used memory without GC, lets assume we check it every tick:

  • Record current memory usage to current_mem_usage
  • If there is prev_mem_usage recorded, then compare. If current_mem_usage < prev_mem_usage, then we assign no_garbage_mem_usage = current_mem_usage, else do nothing.
  • Assign prev_mem_usage = current_mem_usage

So briefly if we see that GC collected garbage, we update so called no_garbage_mem_usage to current memory usage. This will produce us "stable" memory usage. I think it would be much better to use some GC listeners if possible. I never worked with this, but searching fast I found something:
https://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/GarbageCollectionNotificationInfo.html

[1.16.1] /tps crashes session, player logged out

[13:01:26] [Server thread/INFO]: mrfloris issued server command: /tps
[13:01:26] [Server thread/INFO]: mrfloris lost connection: Disconnected
[13:01:26] [Server thread/INFO]: [DiscordSRV] Player mrfloris quit with silent quitting permission, not sending a quit message
[13:01:26] [Server thread/INFO]: 11/07/20 13:01:26 Inventory saved with id: 5781
>tps
[13:02:06] [Server thread/INFO]: [⚡] TPS from last 5s, 10s, 1m, 5m, 15m:
[13:02:06] [Server thread/INFO]: [⚡]  *20.0, *20.0, *20.0, *20.0, *20.0
[13:02:06] [Server thread/INFO]: [⚡]
[13:02:06] [Server thread/INFO]: [⚡] CPU usage from last 10s, 1m, 15m:
[13:02:06] [Server thread/INFO]: [⚡]  16%, 25%, 28%  (system)
[13:02:06] [Server thread/INFO]: [⚡]  4%, 6%, 6%  (process)
[13:02:08] [User Authenticator #2/INFO]: UUID of player mrfloris is 631e3896-da2a-4077-974b-d047859d76bc
[13:02:08] [Server thread/INFO]: [DiscordSRV] Player mrfloris joined with silent joining permission, not sending a join message
[13:02:08] [Server thread/INFO]: mrfloris[/127.0.0.1:57271] logged in with entity id 20237 at ([pvp]34.06864175636525, 36.79787905151586, -835.5741209429926)
[13:02:08] [Craft Scheduler Thread - 66/INFO]: Failed to check for TradeMe update on spigot web page.
[13:02:10] [Server thread/INFO]: mrfloris issued server command: /tps
[13:02:10] [Server thread/INFO]: mrfloris lost connection: Disconnected
[13:02:10] [Server thread/INFO]: [DiscordSRV] Player mrfloris quit with silent quitting permission, not sending a quit message
[13:02:10] [Server thread/INFO]: 11/07/20 13:02:10 Inventory saved with id: 5782
[13:02:11] [Craft Scheduler Thread - 62/INFO]: [mcMMO] Aborting profile loading recovery for mrfloris - player logged out
[13:02:21] [User Authenticator #3/INFO]: UUID of player mrfloris is 631e3896-da2a-4077-974b-d047859d76bc
[13:02:21] [Server thread/INFO]: [DiscordSRV] Player mrfloris joined with silent joining permission, not sending a join message
[13:02:21] [Server thread/INFO]: mrfloris[/127.0.0.1:57278] logged in with entity id 20238 at ([pvp]34.06864175636525, 36.79787905151586, -835.5741209429926)
[13:02:24] [Server thread/INFO]: mrfloris issued server command: /cmi tps
>ver spark
[13:02:46] [Server thread/INFO]: spark version 1.4.2
[13:02:46] [Server thread/INFO]: spark is a performance profiling plugin based on sk89q's WarmRoast profiler
[13:02:46] [Server thread/INFO]: Authors: Luck and sk89q
>ver
[13:02:48] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-c3a49df-b0c6dfe (MC: 1.16.1) (Implementing API version 1.16.1-R0.1-SNAPSHOT)
[13:02:48] [Server thread/INFO]: Checking version, please wait...
[13:02:48] [Thread-264/INFO]: You are running the latest version
>

Screenshot 2020-07-11 at 13 04 13

In the console i can do spark tps and tps and spark healthreport fine. in-game it crashes the session or whatever it is called, you get logged out and get the msg as in the screenshot.

NoSuchMethod getMinecraftVersion

Build 141 and above.
image
Java 8
Paper 1.8.8 latest

As far as I can tell, this function isn't present in any version of Spigot.

Steps to recreate:

  1. Start profiling with /spark profiler
  2. Stop profiling with /spark profiler --stop or /spark sampler --stop

Add the ability to see the methods the CPU is spending the most time on

The current state of spark's profiling allows for a quite comprehensive look into the call stack but it is lacking when it comes to actually interpreting the data presented. Adding the ability to see the methods the CPU is spending the most time on will allow for developers to optimize hot spots in their code that they simply didn't know was lagging because of how spread-out the calls are throughout the stack.

403 Forbidden when uploading results

Hi there,

We are getting 403 forbidden when uploading results:

[14:34:58 INFO]: [⚡] The active sampling operation has been stopped! Uploading results...
[14:35:00 WARN]: [spark] Plugin spark v1.3.2 generated an exception while executing task 15274897
java.lang.RuntimeException: Request was unsuccessful: 403 - Forbidden
        at me.lucko.spark.common.util.AbstractHttpClient.makeHttpRequest(AbstractHttpClient.java:41) ~[?:?]
        at me.lucko.spark.common.util.BytebinClient.postContent(BytebinClient.java:84) ~[?:?]
        at me.lucko.spark.common.command.modules.SamplerModule.lambda$handleUpload$5(SamplerModule.java:261) ~[?:?]
        at me.lucko.spark.common.command.modules.SamplerModule$$Lambda$5947.0000000000000000.run(Unknown Source) ~[?:?]
        at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.15.2.jar:git-Paper-"7bd0b6ab"]
        at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.15.2.jar:git-Paper-"7bd0b6ab"]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.15.2.jar:git-Paper-"7bd0b6ab"]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_232]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_232]
        at java.lang.Thread.run(Thread.java:819) [?:1.8.0_232]

Anything we can do to solve this?

Thank you in advance.

spark-forge tab completion problems

When using tab complete on any --options it will delete the previous inputs.

For example typing /spark sampler --time then tab-complete reverts to /spark --timeout.

spark-forge

Spam Warning in console when completing /spark sampler (during run and stop process)

The following warnings spammed the console when running and stopping /spark sampler to get the link and review timings.

_[20:31:38] [Server thread/INFO]: [⚡] There isn't an active sampling task running.
[20:32:07] [Server thread/INFO]: EchocallingEarth issued server command: /spark sampler
[20:32:07] [Server thread/INFO]: [⚡] Initializing a new profiler, please wait...
[20:32:07] [Server thread/INFO]: [⚡] Profiler now active!
[20:32:07] [Server thread/INFO]: [⚡] Use '/spark sampler --stop' to stop profiling and upload the results.
[20:35:16] [Craft Scheduler Thread - 22/WARN]: java.util.ConcurrentModificationException
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.HashMap$EntryIterator.next(HashMap.java:1479)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.HashMap$EntryIterator.next(HashMap.java:1477)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.HashMap.putMapEntries(HashMap.java:512)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.HashMap.<init>(HashMap.java:490)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at com.songoda.epicfarming.farming.levels.modules.ModuleAutoCollect.collectLivestock(ModuleAutoCollect.java:122)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at com.songoda.epicfarming.farming.levels.modules.ModuleAutoCollect.runFinal(ModuleAutoCollect.java:49)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at com.songoda.epicfarming.farming.levels.modules.Module.run(Module.java:47)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at com.songoda.epicfarming.tasks.FarmTask.lambda$run$3(FarmTask.java:107)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at com.songoda.epicfarming.tasks.FarmTask.run(FarmTask.java:105)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[20:35:16] [Craft Scheduler Thread - 22/WARN]: 	at java.lang.Thread.run(Thread.java:748)
[20:37:44] [Server thread/INFO]: EchocallingEarth is now AFK
[20:44:06] [Server thread/INFO]: [⚡] TPS from last 5s, 10s, 1m, 5m, 15m:
[20:44:06] [Server thread/INFO]: [⚡]  *20.0, *20.0, *20.0, 20.0, 19.89
[20:44:06] [Server thread/INFO]: [⚡] 
[20:44:06] [Server thread/INFO]: [⚡] Tick durations (avg/min/max ms) from last 5s, 10s, 1m:
[20:44:06] [Server thread/INFO]: [⚡]  13.0/11.1/18.2, 13.1/10.5/21.8, 13.0/9.8/122.2
[20:44:06] [Server thread/INFO]: [⚡] 
[20:44:06] [Server thread/INFO]: [⚡] CPU usage from last 10s, 1m, 15m:
[20:44:06] [Server thread/INFO]: [⚡]  12%, 12%, 19%  (system)
[20:44:06] [Server thread/INFO]: [⚡]  16%, 16%, 23%  (process)
[20:52:40] [Server thread/INFO]: EchocallingEarth is no longer AFK
[20:54:27] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 6568ms or 131 ticks behind
[20:54:34] [Server thread/INFO]: EchocallingEarth issued server command: /gms
[20:54:37] [Server thread/INFO]: EchocallingEarth issued server command: /fly
[20:55:27] [Server thread/INFO]: EchocallingEarth issued server command: /ah
[20:56:13] [Server thread/INFO]: EchocallingEarth issued server command: /spark sampler --stop
[20:56:13] [Server thread/INFO]: [⚡] The active sampling operation has been stopped! Uploading results...
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.comphenix.protocol.injector.netty.EventLoopProxy from ProtocolLib v4.5.0 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class net.goldtreeservers.worldguardextraflags.listeners.WorldListener from WorldGuardExtraFlags v4.1.4 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.sk89q.worldguard.protection.managers.RegionManager from WorldGuard v7.0.2-SNAPSHOT;bf2593e which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class nl.pim16aap2.bigDoors.handlers.ChunkUnloadHandler from BigDoors vAlpha 0.1.8.18 (b436) which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.imdanix.caves.mobs.MobsManager from DangerousCaves v2.2.2;16 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.lucko.luckperms.bukkit.inject.permissible.LuckPermsPermissible from LuckPerms v5.1.46 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.sk89q.worldedit.bukkit.BukkitWorld from WorldEdit v7.1.0;8e55131 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.morelaid.AcceptTheRules.Event.Events from AcceptTheRules v2.5 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class DqnTRLiLuUyhkGRHw3Oq3bDufmzmJWPLA3OCehjlT5Vosl4nyo4AaVxAbQKFPsaftaKz4ndYRIUgPlWUB4hWhBtaSBnB7itsBCpgblXONsh6UsMIxsAoR5Rxc2wiXHCjwxHp44sDRravbEU2MkyGfZofOm2Jj8AyoB3CcSmUuJ from leakBanking v0.9.4 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.bergerkiller.bukkit.mw.MWListener from My_Worlds v1.15.2-v1 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.bergerkiller.bukkit.common.MaterialProperty from BKCommonLib v1.15.2-v4 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.konsolas.aac.bY from AAC v4.3.12 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.Zrips.CMI.Modules.FlightCharge.FlightListener from CMI v8.6.26.9 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class n3kas.ae.enchanthandler.effects.WebWalkerEffect from AdvancedEnchantments v7.6.14 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class xzot1k.plugins.ds.core.Listeners from DisplayShops v1.5 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.gamingmesh.jobs.listeners.JobsListener from Jobs v4.15.11 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.ryanhamshire.GPFlags.listener.PlayerListener from GriefPreventionFlags v5.9.0 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.epicspawners.listeners.InteractListeners from EpicSpawners v6.3.15 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.phil14052.CustomCobbleGen.Events.PlayerEvents from CustomCobbleGen v1.4.0 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class org.mineacademy.chatcontrol.lib.fo.model.p from ChatControl v8.6.6 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.griefcraft.listeners.LWCBlockListener from LWC v2.2.5-cdffea1 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.epicfarming.listeners.InteractListeners from EpicFarming v3.0.19 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.rockyhawk.commandPanels.utils from CommandPanels v3.1.1 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:14] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.ryanhamshire.GriefPrevention.PlayerEventHandler from GriefPrevention v16.13.0 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.epicanchors.core.gui.GuiManager$GuiListener from EpicAnchors v1.4.8 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.epichoppers.core.gui.GuiManager$GuiListener from EpicHoppers v4.6.7 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.epiclevels.core.gui.GuiManager$GuiListener from EpicLevels vmaven-version-number which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.ultimatecatcher.core.gui.GuiManager$GuiListener from UltimateCatcher v1.3.6 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.ultimatefishing.core.gui.GuiManager$GuiListener from UltimateFishing v1.2.6 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.ultimatekits.core.gui.GuiManager$GuiListener from UltimateKits v2.6.5 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.ultimaterepairing.core.gui.GuiManager$GuiListener from UltimateRepairing v1.3.4 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.arcaniax.hdb.listener.InventoryListener from HeadDatabase v4.12.3 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.wolfyscript.utilities.api.inventory.InventoryAPI from WolfyUtilities v1.5.6.19 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.wolfyscript.customcrafting.listeners.AnvilListener from CustomCrafting v1.5.5.0 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.xanium.noplugin.ui.MenuListener from NoPlugins v7.2 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.vomarek.MessagesGUI.Events.GUIClickListener from MessagesGUI v3.0 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class sh99.iteminchat.Listener.AsyncInventoryChatListener from ItemInChatFree v1.9.3 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class fr.moribus.imageonmap.image.MapInitEvent from ImageOnMap v4.0-pre2 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.rabbitcompany.admingui.listeners.InventoryClickListener from AdminGUI-Premium v4.1.2 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.qKing12.AuctionMaster.meniu.MeniuEvents2 from AuctionMaster v2.2 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.ultimatetimber.manager.TreeFallManager from UltimateTimber v2.0.6 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.mylogo.chestlock.listeners.PlayerListener from ChestLockGui v3.0.0 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.ebonjaeger.perworldinventory.listener.player.PlayerGameModeChangeListener from PerWorldInventory v2.3.2 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class me.hexedhero.lp.listeners.Stopper from LimitPillagers v2.12.0 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.gmail.filoghost.holographicdisplays.listener.MainListener from HolographicDisplays v2.4.2 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:15] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.ultimatestacker.listeners.EntityListeners from UltimateStacker v1.11.14 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:16] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.divisionind.bprm.events.BackpackTrackEvents from BackpacksRemastered v2020.0.4 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:16] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.epicfurnaces.tasks.FurnaceTask from EpicFurnaces v4.5.7 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:16] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.songoda.epicheads.listeners.DeathListeners from EpicHeads v3.2.10 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:16] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.froobworld.avl.tasks.MainTask from VillagerOptimiser v1.1.2 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:16] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.haroldstudios.infoheads.bukkit.Metrics from InfoHeads v2.2.21 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:16] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class ca.tweetzy.cosmicvaults.core.inventory.TInventoryEventListener from CosmicVaults v2.0.3 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:17] [Craft Scheduler Thread - 74/WARN]: [spark] Loaded class com.flodoerr.item_chest_sorter.Listener from Item-Chest-Sorter v1.5.1 which is not a depend, softdepend or loadbefore of this plugin.
[20:56:19] [Craft Scheduler Thread - 74/INFO]: [⚡] Sampling results:
[20:56:19] [Craft Scheduler Thread - 74/INFO]: https://spark.lucko.me/#SjOU8xYiHh_

I am unsure if this is a Bug or what so I am reporting it and hoping that you will know the answer and a fix so we do not have a spammed console when using Spark. Thanks, I'll await your reply for further info etc.

Find the Chunk that caused the lag

I am sorry to post this issue here, as I have not found your discord channel.
I wonder if spark could find out which chunk are in lag, if not, whether similar features can be added?

[Feature Request] Automatic profiling on lag spike

We are currently being plagued by some specific bug which randomly causes the server to freeze until the watchdog causes it to crash.

As it's crashing it's not possible to generate a spark report about it making it very difficult to figure out what's causing it.

My request would be a feature where an automatic profiling can start if a tick takes longer than.. 5 min or so.

heapsummary crashed the server

downloaded spark, put the plugin in the server and rebooted. after a while i went to do /spark heapsummary but my server crashed.

i have 4 players on at the time (if it matter)
here is the console log from the crash:
2020-03-17-3.log

server running mc version 1.15.2
6GB memory 3vCores 40Gb Disk space.

thanks.

Add some server information to profiler reports

It would be useful for easier debugging and stuff if profiler reports would include some information about the server software and version used and that to be visible on the web page too.

Add statistical context

Heya! I know that Spark is meant to replace Warmroast to its most 'feature full' extent, but often enough, I end up using a timings or a /gc printout as well because spark on its own doesn't necessarily provide enough context to properly analyze the logging.

Indeed, stats like playercount would help know if normal scheduling tasks like worldsave are to be taken seriously - as its strain would vastly depend on whether playercount is high or low. Average TPS would help as well, as it would tell you whether the server is or isn't observing TPS loss. Additional items like chunk count or entity count might help big modded servers as well, for similar reasons as the playercount.

Of course, this is a suggestion and it is by no need necessary, but I thought I might as well input on what, to me, is 'missing' to fully make sense of a spark read.

[Feature] Add more information to stack trace elements

Providing more information about stack trace element, like line (if present) and jar file name will help faster to find and eliminate the issue. Line information will help to search faster, without looking for entire classes when finding needed method. There are plugins, which contains some classes of other plugins to replace. In that case we may go into a trap, finding issue in wrong place.

Sampling operation failed unexpectedly

Noticed this exception when stopping sampler

spark sampler --stop
[16:44:39 INFO]: [⚡] The active sampling operation has been stopped! Uploading results...
[16:44:39 INFO]: [⚡] Sampling operation failed unexpectedly. Error: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@5b1860eb rejected from java.util.concurrent.ScheduledThreadPoolExecutor@55df95f8[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 175036]
[16:44:39 WARN]: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@5b1860eb rejected from java.util.concurrent.ScheduledThreadPoolExecutor@55df95f8[Shutting down, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 175036]
[16:44:39 WARN]: at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
[16:44:39 WARN]: at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
[16:44:39 WARN]: at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:326)
[16:44:39 WARN]: at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:533)
[16:44:39 WARN]: at java.util.concurrent.ScheduledThreadPoolExecutor.execute(ScheduledThreadPoolExecutor.java:622)
[16:44:39 WARN]: at me.lucko.spark.common.sampler.Sampler.run(Sampler.java:134)
[16:44:39 WARN]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[16:44:39 WARN]: at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
[16:44:39 WARN]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
[16:44:39 WARN]: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
[16:44:39 WARN]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[16:44:39 WARN]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[16:44:39 WARN]: at java.lang.Thread.run(Thread.java:748)
[16:44:39 INFO]: [⚡] Sampling results:
[16:44:39 INFO]: https://sparkprofiler.github.io/#z42eF6Swf

Command used: spark sampler --only-ticks-over 500

Paper 1.13.2 build 650
Spark build 95

[Feature] Add exact duration threshold to tickmonitoring

Something like --only-ticks-over <ms> in profiler feature.

This will add an ability to monitor spikes for example at the moment you make a sampling with given threshold and wanna know how much spikes occurred during recording and if this is enough for some or another situation, without spamming /spark tps command.

I don't find percentage threshold clear enough, as average TPS during 6 seconds may vary and there should be something more "stable" to monitor.

Forge Mod Does not work

> 18:34:10 [INFO] Starting minecraft server version 1.6.4
> 18:34:10 [INFO] Attempting early MinecraftForge initialization
> 18:34:10 [INFO] MinecraftForge v
> 18:34:10 [INFO] 9.11.1.965
> 18:34:10 [INFO] Initialized
> 18:34:10 [INFO] MinecraftForge v9.11.1.965 Initialized
> 18:34:11 [INFO] Replaced 111 ore recipies
> 18:34:11 [INFO] Completed early MinecraftForge initialization
> 18:34:11 [INFO] Reading custom logging properties from /home/container/config/logging.properties
> 18:34:11 [OFF] Logging level for ForgeModLoader logging is set to ALL
> > > > > > > 18:34:11 [INFO] Searching /home/container/mods for mods
> > > > > > > > > > > > 18:34:11 [SEVERE] Unable to read a class file correctly
java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at cpw.mods.fml.common.discovery.asm.ASMModParser.<init>(ASMModParser.java:52)
at cpw.mods.fml.common.discovery.JarDiscoverer.discover(JarDiscoverer.java:72)
at cpw.mods.fml.common.discovery.ContainerType.findMods(ContainerType.java:42)
at cpw.mods.fml.common.discovery.ModCandidate.explore(ModCandidate.java:71)
at cpw.mods.fml.common.discovery.ModDiscoverer.identifyMods(ModDiscoverer.java:134)
at cpw.mods.fml.common.Loader.identifyMods(Loader.java:341)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:472)
at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:94)
at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:366)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:93)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:637)
at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)
> 18:34:11 [SEVERE] There was a problem reading the entry me/lucko/spark/forge/ForgeServerSparkPlugin.class in the jar /home/container/mods/spark-forge.jar - probably a corrupt zip
cpw.mods.fml.common.LoaderException: java.lang.IllegalArgumentException
at cpw.mods.fml.common.discovery.asm.ASMModParser.<init>(ASMModParser.java:58)
at cpw.mods.fml.common.discovery.JarDiscoverer.discover(JarDiscoverer.java:72)
at cpw.mods.fml.common.discovery.ContainerType.findMods(ContainerType.java:42)
at cpw.mods.fml.common.discovery.ModCandidate.explore(ModCandidate.java:71)
at cpw.mods.fml.common.discovery.ModDiscoverer.identifyMods(ModDiscoverer.java:134)
at cpw.mods.fml.common.Loader.identifyMods(Loader.java:341)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:472)
at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:94)
at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:366)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:93)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:637)
at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)
Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at cpw.mods.fml.common.discovery.asm.ASMModParser.<init>(ASMModParser.java:52)
... 11 more
> 18:34:11 [WARNING] Zip file spark-forge.jar failed to read properly, it will be ignored
cpw.mods.fml.common.LoaderException: java.lang.IllegalArgumentException
at cpw.mods.fml.common.discovery.asm.ASMModParser.<init>(ASMModParser.java:58)
at cpw.mods.fml.common.discovery.JarDiscoverer.discover(JarDiscoverer.java:72)
at cpw.mods.fml.common.discovery.ContainerType.findMods(ContainerType.java:42)
at cpw.mods.fml.common.discovery.ModCandidate.explore(ModCandidate.java:71)
at cpw.mods.fml.common.discovery.ModDiscoverer.identifyMods(ModDiscoverer.java:134)
at cpw.mods.fml.common.Loader.identifyMods(Loader.java:341)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:472)
at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:94)
at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:366)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:93)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:637)
at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:583)
Caused by: java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at cpw.mods.fml.common.discovery.asm.ASMModParser.<init>(ASMModParser.java:52)
... 11 more
> 18:34:11 [INFO] Forge Mod Loader has identified 4 mods to load
> > > > > > > > 18:34:11 [INFO] Activating mod mcp
> > 18:34:11 [INFO] Activating mod FML
> > > 18:34:12 [INFO] Activating mod Forge

[suggestion] tickmonitoring

Currently the only way to stop the tickmonitoring after you start it is to put the threashold higher than what it is reporting. Woud like an option to simply --stop it

[Bug] /spark healthreport newline not working

What behaviour is expected:
the newline works the same on other commands
What behaviour is observed:
Screenshot_1

How to reproduce:
Type /spark healthreport

Server info:
Server Software: Thermos-1.7.10-1614
Mods and plugins: https://pastebin.com/XfmkN2sY
Plugin version: spark v1.3.0
Note: The plugin works perfectly, just this command that has this problem.

web page unresponsive and glitchy

often have to wait a few seconds for things to happen, I am using chrome, like I will click on a expand button a few times, then nothing will happen then it will suddenly expand and contract a ton of times very quickly

[Suggestion] Compress heap dumps

In my experience, heap dump (.hprof files) file size can be cut down atleast by 3-4x by using LZMA. Compressing them makes heap dumps more easily downloadable as smaller files take less time to download.

Of course this should be configurable, via command argument preferably.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.