Sponge
Integrate FastStats with Sponge plugins
Use dev.faststats.sponge.SpongeContext for Sponge plugins. Requires Java 17+.
Artifact: dev.faststats.metrics:sponge
If you absolutely cannot use Java 17, a Java 8 fallback is available as
dev.faststats.metrics.j8:sponge with the same version number. Prefer the
standard artifact above for new projects.
import com.google.inject.Inject;
import dev.faststats.ErrorTracker;
import dev.faststats.Metrics;
import dev.faststats.sponge.SpongeContext;
import org.jspecify.annotations.Nullable;
import org.spongepowered.api.Server;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.lifecycle.StartedEngineEvent;
import org.spongepowered.api.event.lifecycle.StoppingEngineEvent;
import org.spongepowered.plugin.builtin.jvm.Plugin;
@Plugin("example")
public class ExamplePlugin {
public static final ErrorTracker ERROR_TRACKER = ErrorTracker.contextAware();
private @Inject SpongeContext.Builder contextBuilder;
private @Nullable SpongeContext context = null;
@Listener
public void onServerStart(final StartedEngineEvent<Server> event) {
this.context = contextBuilder
.token("YOUR_TOKEN")
.errorTrackerService(ERROR_TRACKER)
.metrics(Metrics.Factory::create)
.create();
context.ready();
}
@Listener
public void onServerStop(final StoppingEngineEvent<Server> event) {
if (context != null) context.shutdown();
}
}See Error Tracking for configuring error reporting.