blob: 7bc633e81e05dbdc8ac0a222f6754c5691c64d7c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
WarmRoast
=========
WarmRoast is an easy-to-use CPU sampling tool for JVM applications, but particularly suited for Minecraft servers/clients.
* Adjustable sampling frequency.
* Supports loading MCP mappings for deobfuscating class and method names.
* Web-based — perform the profiling on a remote server and view the results in your browser.
* Collapse and expand nodes to see details.
* Easily view CPU usage per method at a glance.
* Hover to highlight all child methods as a group.
* See the percentage of CPU time for each method relative to its parent methods.
* Maintains style and function with use of "File -> Save As" (in tested browsers).
**Download Latest Version:** http://builds.enginehub.org/job/warmroast/last-successful/
Java 7 and above is required to use WarmRoast.
Screenshots
-----------
![Sample output](http://i.imgur.com/Iy7kJ7f.png)
Usage
-----
1. Note the path of your JDK.
2. Download WarmRoast.
3. Replace `PATH_TO_JDK` in the following commands with the path to your JDK and execute the program.
**Note:** The example command line below includes `--thread "Server thread"`, which filters all threads but the main server thread. You can remove it to show all threads.
**Modded/vanilla servers:** If you are using a modded server, get a copy of [MCP](http://mcp.ocean-labs.de/index.php/MCP_Releases) for your server's Minecraft version, copy the files from conf/ somewhere, and point WarmRoast to it with `--mappings path/to/folder`. This helps readability a lot. Bukkit uses its own mapping, so a pure non-modded Bukkit server can't use MCP mappings.
### Linux ###
java -Djava.library.path=PATH_TO_JDK/jre/bin -cp /path/to/jdk/lib/tools.jar:warmroast-1.0.0-SNAPSHOT.jar com.sk89q.warmroast.WarmRoast --thread "Server thread"
### Windows ###
An example `PATH_TO_JDK` would be `C:\Program Files\Java\jdk1.7.0_45`
java -Djava.library.path=PATH_TO_JDK/jre/bin -cp PATH_TO_JDK/lib/tools.jar;warmroast-1.0.0-SNAPSHOT.jar com.sk89q.warmroast.WarmRoast --thread "Server thread"
Parameters
----------
Usage: warmroast [options]
Options:
--bind
The address to bind the HTTP server to
Default: 0.0.0.0
-h, --help
Default: false
--interval
The sample rate, in milliseconds
Default: 100
-m, --mappings
A directory with joined.srg and methods.csv
--name
The name of the VM to attach to
--pid
The PID of the VM to attach to
-p, --port
The port to bind the HTTP server to
Default: 23000
-t, --thread
Optionally specify a thread to log only
--timeout
The number of seconds before ceasing sampling (optional)
Hint: `--thread "Server thread"` is useful for Minecraft servers.
License
-------
The project is licensed under the GNU General Public License, version 3.
|