New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

45216 continuousbenchmarking 20160926 asb 4 #2292

Merged
merged 35 commits into from Sep 27, 2016

Conversation

Projects
None yet
9 participants
@ashawnbandy-te-tfb
Contributor

ashawnbandy-te-tfb commented Sep 26, 2016

The work in this PR introduces a basic facility for continuous benchmarking. run-continuously is essentially a while-loop that makes 'life-cycle' calls in addition to initiating a benchmarking run. Additionally, an example of an upstart process configuration is included.

Below are some relevant notes from a recent commit:

toolset/run-continuously.sh is simply a while loop that
removes and rebuilds the framework benchmark suite and
then runs the benchmarks.

There are five environment variables to be set:

  • TFB_REPOPARENT the absolute path to the folder containing
    the repository
  • TFB_REPONAME the name of the repository folder
  • TFB_REPOURI the URI of the repository
  • TFB_REPOBRANCH the branch of the repository to use
  • TFB_LOGSFOLDER the folder to archive log files

There are four life cycle stages in run-continuously:

  • tear-down-environment.sh called upon to remove the existing
    environment
  • rebuild-environment.sh called upon to rebuild the environment
  • pre-run-tests scripts in this folder are called
    before the benchmarks are run
  • post-run-tests scripts in this folder are called
    after the benchmarks are run
  • Notes -

run-continuously.sh generally assumes that a clone of the
appropriate repo and branch exist and have the list
scripts available and an appropriate copy of benchmark.cfg
in place. Some effort is made to support starting states
that differ but those are not intended to be the general
case for use.

At the end of each run (post-run-tests) there are two python scripts. One zips the results.json file and sends it to a specified email address. The other makes copies of the logs for each frameworks (each are independently zipped while being copied).

Changes made following the previous PR for this work:

  1. Added @knewmanTE's work towards tagging the results with a commit.
  2. The mailing list environment variables are now split into two, on for TO: and one for FROM:
  3. I removed a duplicated block of code in email-results.py.

knewmanTE and others added some commits Aug 1, 2016

Update web2py db.py (#2217)
You are using a debug setup.
The proposed changes should give some benefit
Postgres/MySQL: Restrict database permissions to just what is required (
#2237)

* Postgres/MySQL: Restrict database permissions to just what is required

Some frameworks were misbehaving and changing the schema.

Also remove upper-case verions of MySQL tables as those are not needed.

* Fix GRANT syntax error
45216 - Adds continuous benchmarking to the TFB project.
toolset/run-continuously.sh is simply a while loop that
removes and rebuilds the framework benchmark suite and
then runs the benchmarks.

There are five environment variables to be set:

* TFB_REPOPARENT     the absolute path to the folder containing
  the repository
* TFB_REPONAME       the name of the repository folder
* TFB_REPOURI        the URI of the repository
* TFB_REPOBRANCH     the branch of the repository to use
* TFB_LOGSFOLDER     the folder to archive log files

There are four life cycle stages in run-continuously:

* tear-down-environment.sh  called upon to remove the existing
  environment
* rebuild-environment.sh    called upon to rebuild the environment
* pre-run-tests             scripts in this folder are called
                            before the benchmarks are run
* post-run-tests            scripts in this folder are called
                            after the benchmarks are run

- Notes -

run-continuously generally assumes that a clone of the
appropriate repo and branch exist and have the list
scripts available and an appropriate copy of benchmark.cfg
in place.  Some effort is made to support starting states
that differ but those are not intended to be the general
case for use.
Merge branch 'master' of github.com:TechEmpower/FrameworkBenchmarks i…
…nto 45216-continuousbenchmarking-20160609-asb-2
@ashawnbandy-te-tfb

This comment has been minimized.

Show comment
Hide comment
@ashawnbandy-te-tfb

ashawnbandy-te-tfb Sep 26, 2016

Contributor

Also, I will defer the work related to @knewmanTE's PR #2283 until after it has been merged into master.

Contributor

ashawnbandy-te-tfb commented Sep 26, 2016

Also, I will defer the work related to @knewmanTE's PR #2283 until after it has been merged into master.

@knewmanTE knewmanTE merged commit 8ce974a into TechEmpower:master Sep 27, 2016

1 check was pending

continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
@knewmanTE

This comment has been minimized.

Show comment
Hide comment
@knewmanTE

knewmanTE Sep 27, 2016

Contributor

Merge'd!

Contributor

knewmanTE commented Sep 27, 2016

Merge'd!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment