Spark Web API
A small plugin that will host a Web API for Spark.
This plugin is made for Paper. You are free to fork this on GitHub and port this to other mod loaders.
This README is a simplified version of the Project's GitHub README.
Installation
First, Make sure Spark is installed on your Paper server.
Then, Install Spark Web API. You generally would download the JAR with -all at the end of the file name.
Configuration
When starting the server for the first time with the plugin, The plugin will generate a config file. The config file allows you to change the port of the server, which routes are enabled, and add additional headers to responses.
port: 3000
routes:
tps: true
mspt: true
sys_cpu: false
proc_cpu: false
gc: false
headers:
enabled: false
API paths
/api/tps
Return the TPS of the past 10 seconds, 1 minute, 5 minutes, and 15 minutes.
Example Response:
{
"tenSeconds": 19.999926688268733,
"oneMinute": 20.000035730063832,
"fiveMinutes": 20.00000458740105,
"fifteenMinutes": 19.94021043987079
}
This route will return 500 Internal Server Error if Spark cannot get the TPS of the server.
/api/mspt
Returns the MSPT value for the past 10 seconds and 1 minute.
Example Response:
{
"tenSeconds": {
"min": 6.523605,
"max": 2692.747083,
"mean": 66.92731750515465,
"median": 23.108289
},
"oneMinute": {
"min": 6.523605,
"max": 2692.747083,
"mean": 66.92731750515465,
"median": 23.108289
}
}
This route will return 500 Internal Server Error if Spark cannot get the MSPT of the server.
/api/gc
Returns the information about the Garbage Collector.
Example Response:
{
"G1 Young Generation": {
"name": "G1 Young Generation",
"frequency": 22328,
"avgTime": 81,
"totalCollections": 3,
"totalTime": 243
},
"G1 Old Generation": {
"name": "G1 Old Generation",
"frequency": 0,
"avgTime": 0,
"totalCollections": 0,
"totalTime": 0
}
}
/api/cpu/sys
Returns the system CPU usage in percentage.
Example Response:
{
"tenSeconds": 0.20461582280862525,
"oneMinute": 0.31800215079510524,
"fifteenMinutes": 0.39118254849183964
}
/api/cpu/proc
Returns the Minecraft process CPU usage in percentage.
Example Response:
{
"tenSeconds": 0.025064927938294894,
"oneMinute": 0.030417615615548597,
"fifteenMinutes": 0.06684861042724896
}
License
This plugin is licensed under the MIT License.
External resources
Featured versions
See allProject members
lines-of-codes
Member