Class AccessPatternAnalyzer

java.lang.Object
com.loomcache.server.metrics.AccessPatternAnalyzer

public class AccessPatternAnalyzer extends Object
Detects and analyzes access patterns in cache operations. Identifies temporal patterns, distribution types, and bursty behavior.

Thread-safe using ReentrantReadWriteLock.

  • Constructor Details

    • AccessPatternAnalyzer

      public AccessPatternAnalyzer()
      Create a new AccessPatternAnalyzer.
  • Method Details

    • recordAccess

      public void recordAccess(String key, long latencyNs)
      Record a key access.
      Parameters:
      key - the accessed key
      latencyNs - access latency in nanoseconds
    • detectPattern

      public AccessPatternAnalyzer.PatternType detectPattern(long window)
      Detect the access pattern type in the given time window.
      Parameters:
      window - the time window in milliseconds
      Returns:
      detected pattern type
    • getKeyDistribution

      public AccessPatternAnalyzer.DistributionStats getKeyDistribution()
      Get key distribution statistics.
      Returns:
      distribution statistics
    • getTemporalPattern

      public AccessPatternAnalyzer.TemporalPattern getTemporalPattern()
      Get temporal pattern information.
      Returns:
      temporal pattern
    • clear

      public void clear()
      Clear all recorded accesses.
    • getAccessCount

      public int getAccessCount()
      Get number of recorded accesses.
      Returns:
      access count
    • getUniqueKeyCount

      public int getUniqueKeyCount()
      Get number of unique keys accessed.
      Returns:
      unique key count