Class InstanceMetricsCollector

java.lang.Object
com.soulfiremc.server.metrics.InstanceMetricsCollector

public final class InstanceMetricsCollector extends Object
Collects and stores per-instance metrics in a ring buffer. Metrics are sampled every 3 seconds (every 6th session tick at 500ms intervals). Thread-safe: counters use atomic operations, snapshot buffer is synchronized.
  • Constructor Details

    • InstanceMetricsCollector

      public InstanceMetricsCollector(InstanceManager instanceManager)
  • Method Details

    • onPacketReceive

      public void onPacketReceive(BotPacketPreReceiveEvent event)
    • onPacketSend

      public void onPacketSend(BotPacketPreSendEvent event)
    • onPreTick

      public void onPreTick(BotPreTickEvent event)
    • onPostTick

      public void onPostTick(BotPostTickEvent event)
    • onSessionTick

      public void onSessionTick(SessionTickEvent event)
    • onSessionStart

      public void onSessionStart(SessionStartEvent event)
    • onBotConnectionInit

      public void onBotConnectionInit(BotConnectionInitEvent event)
    • onBotRemove

      public void onBotRemove(SessionBotRemoveEvent event)
    • addBytesSent

      public void addBytesSent(long bytes)
    • addBytesReceived

      public void addBytesReceived(long bytes)
    • getSnapshots

      public List<MetricsSnapshot> getSnapshots(com.google.protobuf.Timestamp since)
      Returns all stored snapshots, optionally filtered by a "since" timestamp.
    • buildDistributions

      public MetricsDistributions buildDistributions()
      Builds current-state distributions from live bot data.