# SPDX-License-Identifier: Apache-2.0

pekko.cluster.sharding {
  passivation.simulator {
    runs = []

    print-detailed-stats = false

    run-defaults {
      shards = 100
      regions = 10
    }

    strategy-defaults {
      strategy = least-recently-used
      least-recently-used {
        per-region-limit = 100000
        segmented {
          levels = none
          proportions = []
        }
      }
      least-frequently-used {
        per-region-limit = 100000
        dynamic-aging = off
      }
      composite {
        main.strategy = least-recently-used
        admission {
          window {
            proportion = 0.01
            minimum-proportion = 0.01
            maximum-proportion = 1.0
            strategy = least-recently-used
          }
          filter = frequency-sketch
          frequency-sketch {
            depth = 4
            counter-bits = 4
            width-multiplier = 4
            reset-multiplier = 10
          }
          optimizer = hill-climbing
          hill-climbing {
            adjust-multiplier = 10
            initial-step = 0.0625
            restart-threshold = 0.05
            step-decay = 0.98
          }
        }
      }
    }

    pattern-defaults {
      synthetic {
        sequence {
          start = 1
        }
        loop {
          start = 1
          end = 1000000
        }
        uniform {
          min = 1
          max = 10000000
        }
        exponential {
          mean = 100
        }
        hotspot {
          min = 1
          max = 10000000
          hot = 0.1
          rate = 0.3
        }
        zipfian {
          min = 1
          max = 10000000
          constant = 0.99
          scrambled = true
          shifts = off
        }
      }
    }
  }
}
