module Supido

  class AbstractBenchmarkBase
    def build(profile_action)
      raise "build is not implemented!"
    end
  end
end
module Supido
  # Public: A interface with necessary methods to specific benchmark tools 
  # analizers.
  # Supido comes with native support to Apache Benchmark through 
  # Supido::Tools::ApacheBenchmark class extension, but it's possible to do
  # integration with any other command-line based benchmark tool.
  #
  # Examples
  #
  #   class MyBenchmarkTool < Supido::AbstractBenchmarkBase
  #
  #     def build(profile_action)
  #       # command line code generator
  #     end
  #
  #     def report(raw_data)
  #       # results interpreter code
  #     end
  #
  #   end
  class AbstractBenchmarkBase
    include AbstractInterface

    # Public: Prepare the benchmark tool to run the profile.
    #
    # profile_action  - The profile action registered in profile.
    #
    # Raises AbstractInterface.not_implemented if not implemented.
    def build(profile_action)
      AbstractBenchmarkBase.not_implemented(self)
    end

    # Public: Process the report generated by the benchmark tool.
    #
    # raw_data - Data from the generated report.
    #
    # Raises AbstractInterface.not_implemented if not implemented.
    def report(raw_data)
      AbstractBenchmarkBase.not_implemented(self)
    end

  end

end
Include a better interface method to extentions and documentation
Include a better interface method to extentions and documentation
