Sha256: c96cc86a791146c82d21abfef2cbaf3e933ee1e6dfe0ae6d7bfbfff7dc677b0a

Contents?: true

Size: 1.05 KB

Versions: 13

Compression:

Stored size: 1.05 KB

Contents

module PerfMonger
module Command

class CoreFinder
  class << self
    def find(name, os = nil, arch = nil)
      # check os
      unless os
        case RUBY_PLATFORM
        when /linux/
          os = "linux"
        when /darwin/
          os = "darwin"
        else
          os = nil
        end
      end

      # check arch
      unless arch
        case RUBY_PLATFORM
        when /x86_64|amd64/
          arch = "amd64"
        when /i\d86/
          arch = "386"
        else
          arch = nil
        end
      end

      if !os || !arch
        return nil
      end

      suffix = "_" + os + "_" + arch

      path = File.expand_path("../../../exec/perfmonger-#{name}#{suffix}", __FILE__)

      if File.executable?(path)
        return path
      else
        return nil
      end
    end

    def recorder
      self.find("recorder")
    end

    def player
      self.find("player")
    end

    def summarizer
      self.find("summarizer")
    end

    def plot_formatter
      self.find("plot-formatter")
    end
  end
end

end # module
end # module

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
perfmonger-0.14.4 lib/perfmonger/command/core.rb
perfmonger-0.14.2 lib/perfmonger/command/core.rb
perfmonger-0.14.1 lib/perfmonger/command/core.rb
perfmonger-0.14.0 lib/perfmonger/command/core.rb
perfmonger-0.13.1 lib/perfmonger/command/core.rb
perfmonger-0.12.1 lib/perfmonger/command/core.rb
perfmonger-0.12.0 lib/perfmonger/command/core.rb
perfmonger-0.11.2 lib/perfmonger/command/core.rb
perfmonger-0.11.1 lib/perfmonger/command/core.rb
perfmonger-0.11.0 lib/perfmonger/command/core.rb
perfmonger-0.10.2 lib/perfmonger/command/core.rb
perfmonger-0.10.1 lib/perfmonger/command/core.rb
perfmonger-0.9.0 lib/perfmonger/command/core.rb