Hi,
This is my idea for an in-built metrics api similar to MCMetrics
Ideally, this would be linked to a centralised API endpoint, if sponge has a version of BukkitDev it might be linked to this?
Should log
Custom Events
Load time (average/fastest/slowest)
Times loaded
Times error occurred
Times crash occurred because of the plugin
MetaData included
Server IP
Server name (server.properties)
Server port
Server OS
Memory allocated
Java version
Stack trace (errors)
Custom meta (set by plugin)
API Specs (Java)
Api.event(eventname, pluginname)
Api.error(message, pluginname, stacktrace?) – Should be built into Error logger?
Both of these return a MetricData which has the following methods
metricdata.setMeta(name, value)
metricdata.getMeta(name)
metricdata.send()
API Specs (Web)
API Blueprint: TODO
This is just my idea and i probably haven’t written it the best way, leave an ideas you have beelow!
While it is certainly useful, this requires a central set of API endpoints that must be always-running. I feel like this will be an extra burden on the sponge team, and will honestly be too much of a problem.
In addition, I wouldn’t really classify this as a core Minecraft feature. Sponge’s problem domain is to provide a coherent set of interfaces for core Minecraft features, and metrics is just not part of that vision.
That being said, you are totally free to create a metrics plugin for Sponge on your own API server. This may be considered once the Sponge ecosystem develops considerably and there is a need for metrics.
Ok… granted this is a little gray-area because it is a developer side feature but it is still not a developer interface into the minecraft server. This will be the job of a plugin like it always has been.
I know a lot of people don’t like to have their server info uploaded elsewhere. I recall quite a few angry people when a few plugins silently implemented stats in their plugin, and caused them to lose some users.
Also, this feels more like an implementation rather than an API, so not sure how well it fits into Sponge. (Which I think is what RobodudeMC said, but not entirely clear)
I would prefer as a server owner Not to use a plugin if it has metrics, particularly when these metrics are there when there is no official metric setup, like in bukkit.