Sponge
Integrate FastStats with Sponge plugins
Use dev.faststats.sponge.SpongeContext for Sponge plugins. Requires Java 17+.
Artifact: dev.faststats.metrics:sponge
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.