self.with_telemetry

in lib/gdk/telemetry.rb [24:45]


    def self.with_telemetry(command)
      return yield unless telemetry_enabled?

      start = Process.clock_gettime(Process::CLOCK_MONOTONIC)

      err = nil
      begin
        result = yield
      rescue StandardError => e
        err = e
        result = false
      ensure
        duration = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
      end

      send_telemetry(result, command, duration: duration)

      result
    ensure
      raise err if err
    end