Class SnifferSupport

java.lang.Object
dev.agenor.tools.agents.SnifferSupport

public final class SnifferSupport extends Object
Utility class for accessing MessageSnifferAgent from runtime.

Provides convenient static methods for common sniffer operations.

Usage:


 // Register sniffer
 SnifferSupport.register(runtime);

 // Or with custom filter
 SnifferSupport.register(runtime, TopicFilter.startsWith("order."), 500);

 // Query messages
 List<StoredMessage> recent = SnifferSupport.getRecent(runtime, 50);
 List<StoredMessage> orders = SnifferSupport.findByTopic(runtime, "order.*");
 
Since:
0.4.0
  • Method Details

    • register

      public static MessageSnifferAgent register(AgenorRuntime runtime)
      Registers a default sniffer agent with the runtime.
      Parameters:
      runtime - the runtime to register with
      Returns:
      the registered sniffer
    • register

      public static MessageSnifferAgent register(AgenorRuntime runtime, MessageFilter filter, int historySize)
      Registers a sniffer with custom configuration.
      Parameters:
      runtime - the runtime
      filter - message filter
      historySize - max messages to retain
      Returns:
      the registered sniffer
    • register

      public static MessageSnifferAgent register(AgenorRuntime runtime, MessageHistoryService history)
      Registers a sniffer with shared history (for WebConsole integration).
      Parameters:
      runtime - the runtime
      history - shared history service
      Returns:
      the registered sniffer
    • register

      public static MessageSnifferAgent register(AgenorRuntime runtime, MessageFilter filter, MessageHistoryService history)
      Registers a sniffer with filter and shared history.
      Parameters:
      runtime - the runtime
      filter - message filter
      history - shared history service
      Returns:
      the registered sniffer
    • get

      public static Optional<MessageSnifferAgent> get(AgenorRuntime runtime)
      Gets the sniffer agent from runtime.
      Parameters:
      runtime - the runtime
      Returns:
      optional sniffer if registered
    • getRecent

      public static List<MessageHistoryService.StoredMessage> getRecent(AgenorRuntime runtime, int count)
      Gets recent messages from sniffer.
      Parameters:
      runtime - the runtime
      count - max messages
      Returns:
      messages or empty list if no sniffer
    • findByTopic

      public static List<MessageHistoryService.StoredMessage> findByTopic(AgenorRuntime runtime, String topicPattern)
      Finds messages by topic pattern.
      Parameters:
      runtime - the runtime
      topicPattern - wildcard pattern
      Returns:
      matching messages
    • findBySender

      public static List<MessageHistoryService.StoredMessage> findBySender(AgenorRuntime runtime, String senderId)
      Finds messages by sender.
      Parameters:
      runtime - the runtime
      senderId - sender agent ID
      Returns:
      messages from sender
    • findByConversation

      public static List<MessageHistoryService.StoredMessage> findByConversation(AgenorRuntime runtime, String conversationId)
      Gets one conversation's messages, oldest first.
      Parameters:
      runtime - the runtime holding the sniffer
      conversationId - the conversation to collect
      Returns:
      the conversation in the order it happened, empty when no sniffer is registered
      Since:
      0.31.0
    • getConversations

      public static Map<String,Integer> getConversations(AgenorRuntime runtime)
      Lists the conversations captured so far with each one's message count.
      Parameters:
      runtime - the runtime holding the sniffer
      Returns:
      conversation id to message count, empty when no sniffer is registered
      Since:
      0.31.0
    • getMessageCount

      public static int getMessageCount(AgenorRuntime runtime)
      Gets message count from sniffer.
      Parameters:
      runtime - the runtime
      Returns:
      message count or 0 if no sniffer
    • clear

      public static void clear(AgenorRuntime runtime)
      Clears sniffer history.
      Parameters:
      runtime - the runtime
    • isActive

      public static boolean isActive(AgenorRuntime runtime)
      Checks if sniffer is registered and capturing.
      Parameters:
      runtime - the runtime
      Returns:
      true if sniffer is active