4 Replies Latest reply on Jun 1, 2005 3:03 PM by tom.elrod

    AntBenchmarkReceiver question

    clebert.suconic

      This is a question addressed to Tom Elrod which I think it would be nice to have it recorded as a forum.

      My plan for saving benchmarks is to use database persistence, being managed by AntBenchmarkReceiver.

      As you (Tom Elrod) created FileBenchmarkReceiver, maybe I should create a DatabaseBenchmarkReceiver and having AntBenchmarkReceiver dealing as a façade for both implementations. So, a question:

      - Do you see a use case for having a DatabaseBenchmarReceiver outside AntBenchmarkReceiver?
      - Do you see an use case for AntBenchmarkReceiver also using FileBenchmarkReceiver?


      Clebert

        • 1. Re: AntBenchmarkReceiver question
          clebert.suconic

          I've already created org.jboss.jrunit.controller.persistence.DatabaseBenchmarkReceiver as a refactoring from AntBenchmarkReceiver.

          The question now is if we should have AntBenchmarkReceiver also controlling FileBenchmarkReceiver by some kind of parameter. (Is there a usecase for that?).

          I'm not seeing a usecase for this, but I want somebody else's opinion.

          • 2. Re: AntBenchmarkReceiver question

            I figure there will be two use cases. The first is where want to formally track performance benchmarks over time. The database receiver is best for this and would probably be used for any test machines running continous builds and specific test runs (maybe for release testing).

            The other use case is for the developer. I will probably never set up a database for this, so the file based persistence works better for me. It is certainly less important, but I just added it so I when am testing locally, I can compare results. Would be nice to have it built into my test build file, but starting it manually is not big deal either.

            Guess a bigger question would be how to distinquish when to run the particular benchmark receiver task. If include in the build script for a database, I am not likely to have access to the preconfigured database, so guess it would error? Maybe another way to look at it is to have the receiver actually running on the central database server and listen for the benchmark results via jgroups. That way, if on the same network, it will pick up the results.

            • 3. Re: AntBenchmarkReceiver question
              clebert.suconic

               

              Guess a bigger question would be how to distinquish when to run the particular benchmark receiver task. If include in the build script for a database, I am not likely to have access to the preconfigured database, so guess it would error? Maybe another way to look at it is to have the receiver actually running on the central database server and listen for the benchmark results via jgroups. That way, if on the same network, it will pick up the results.


              I'm trying to set HSQLDB by default in the script, and generating a simple report at the end of each running for developers.

              But I liked the idea also of having the FileBenchmarkReceiver being controlled by AntBenchmarkReceiver. But I think I would create two Ant tasks:

              I - AntFileBenchmarkReceiver
              II - AntDatabaseBenchmarkReceiver

              Both receivers would have an equivalent BenchmarkReceiver outside the ant task.


              Clebert Suconic

              • 4. Re: AntBenchmarkReceiver question

                Sounds good.