                          :starting-servers starting-servers'
                          :outstanding-requests (+ (count active-requests') queued-clients')
                          :total-clients (+ (count active-requests') (count idle-clients') queued-clients')
-                         :total-instances (+ (count starting-servers') (count active-requests') idle-servers')
+                         :total-instances total-instances
                          :total-queue-time (+ total-queue-time queued-clients)
                          :total-idle-server-time (+ total-idle-server-time idle-servers)
+                         :utilization utilization
                          :healthy-instances (+ (count active-requests') idle-servers')
                          :scale-amount scale-amount
                          :target-instances target-instances

        active-requests' (vec (concat (drop requests-to-cancel (filter #(< tick %) active-requests))
                                      (map (fn [_] (+ tick (randomized request-ticks))) (range requests-created))))
        queued-clients' (max 0 (- interested-clients available-servers))
        idle-servers' (+ (max 0 (- available-servers interested-clients)) requests-to-cancel)]
    (assoc current-state :idle-clients idle-clients'
                         :interested-clients interested-clients
                         :activating-clients activating-clients

  Stats:
    total-queue-time       The total amount of ticks that clients have been sitting in the queue.
    total-idle-server-time The total amount of ticks that servers have been sitting idle.
    utilization            The percentage of servers that are in use during the current tick.
    scale-ups              The total number of scale up operations.
    scale-downs            The total number of scale down operations."
  [{:strs [idle-ticks request-ticks startup-ticks]}
