    # File lib/phusion_passenger/classic_rails_extensions/analytics_logging/as_cache_extension.rb, line 57
            def fetch_2_2(key, options = {})
                    @logger_off = true
                    if !options[:force] && value = read(key, options)
                            @logger_off = false
                            log("hit", key, options)
                            PhusionPassenger.log_cache_hit(nil, key)
                            value
                    elsif block_given?
                            @logger_off = false
                            log("miss", key, options)

                            value = nil
                            seconds = Benchmark.realtime { value = yield }

                            @logger_off = true
                            write(key, value, options)
                            @logger_off = false

                            log("write (will save #{'%.2f' % (seconds * 1000)}ms)", key, nil)
                            PhusionPassenger.log_cache_miss(nil, key, seconds * 1_000_000)

                            value
                    else
                            PhusionPassenger.log_cache_miss(nil, key)
                            value
                    end
            end