class Opera::MobileStoreSDK::FaradayMiddleware::SDKBenchmark

Parses the responses to models:

Public Instance Methods

call(request_env) click to toggle source
# File lib/opera/mobile_store_sdk/faraday_middleware/sdk_benchmark.rb, line 9
def call(request_env)

  # Get the start times:
  t0 = Process.times
  r0 = if defined?(Benchmark::BENCHMARK_CLOCK)
    Process.clock_gettime(Benchmark::BENCHMARK_CLOCK)
  else
    Time.now
  end

  @app.call(request_env).on_complete do |response_env|

    response_env[:opera_api_response_datetime] = Time.parse(
      response_env.response_headers["Date"]
    )

    # Get the finish times:
    t1 = Process.times
    r1 = if defined?(Benchmark::BENCHMARK_CLOCK)
      Process.clock_gettime(Benchmark::BENCHMARK_CLOCK)
    else
      Time.now
    end

    response_env[:opera_api_calling_tms] = ::Benchmark::Tms.new(
      t1.utime  - t0.utime,
      t1.stime  - t0.stime,
      t1.cutime - t0.cutime,
      t1.cstime - t0.cstime,
      r1 - r0,
      "api_calling"
    )
  end
end