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.