Sha256: 8aeab324a7ff6dc3a8f192eac7080c52d7e7eb3c4cb07f92278a689ecff9fe62

Contents?: true

Size: 844 Bytes

Versions: 1

Compression:

Stored size: 844 Bytes

Contents

# Copyright (c) 2016 SolarWinds, LLC.
# All rights reserved.

module AppOpticsAPM
  module API
    ##
    # Utility methods for the Memcache instrumentation
    module Memcache
      MEMCACHE_OPS = %w(add append cas decr decrement delete fetch get incr increment prepend replace set)

      def memcache_hit?(result)
        result.nil? ? 0 : 1
      end

      def remote_host(key)
        return unless defined?(Lib.memcached_server_by_key) &&
                      defined?(@struct) && defined?(is_unix_socket?)

        server_as_array = Lib.memcached_server_by_key(@struct, key.to_s)

        return unless server_as_array.is_a?(Array)

        server = server_as_array.first
        if is_unix_socket?(server)
          'localhost'
        elsif defined?(server.hostname)
          server.hostname
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
appoptics_apm-4.0.1-x86_64-linux lib/appoptics_apm/api/memcache.rb