# Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details. # frozen_string_literal: true module Contrast module Utils # Timer is class that can track state about when an event starts and how long it takes # Also contains utility methods to get time values in milliseconds class Timer # @return [Integer] the ms of the Time that this instance represents attr_reader :start_ms # Create a wrapper for the current time # # @param time [Time] def initialize time = Time.now @start_at = time @start_ms = (@start_at.to_f * 1000).to_i @events = {} end # @return [Integer] time, in ms def self.now_ms (Time.now.to_f * 1000).to_i end end end end