Changeset ae28ee2


Ignore:
Timestamp:
Feb 16, 2017, 2:33:21 PM (8 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
8a7db7c
Parents:
0ef06b6
Message:

New try at benchmark data sent to server

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • Jenkins/FullBuild

    r0ef06b6 rae28ee2  
    11#!groovy
    22
     3//===========================================================================================================
     4// Main loop of the compilation
     5//===========================================================================================================
     6
     7node ('master') {
     8        def err = null
     9
     10        try {
     11                //Prevent the build from exceeding 30 minutes
     12                timeout(60) {
     13
     14                        //Wrap build to add timestamp to command line
     15                        wrap([$class: 'TimestamperBuildWrapper']) {
     16
     17                                stage 'Build'
     18
     19                                        results = [null, null]
     20
     21                                        parallel (
     22                                                x64: {
     23                                                        trigger_build('64-bit')
     24                                                },
     25                                                x32: {
     26                                                        trigger_build('32-bit')
     27                                                }
     28                                        )
     29
     30                                //Push latest changes to do-lang repo
     31                                push_build()
     32                        }
     33                }
     34        }
     35
     36        //If an exception is caught we need to change the status and remember to
     37        //attach the build log to the email
     38        catch (Exception caughtError) {
     39                echo('error caught')
     40
     41                //rethrow error later
     42                err = caughtError
     43
     44                //Store the result of the build log
     45                currentBuild.result = 'FAILURE'
     46
     47                //Send email to notify the failure
     48                promote_failure_email()
     49        }
     50
     51        finally {
     52                //Must re-throw exception to propagate error
     53                if (err) {
     54                        throw err
     55                }
     56        }
     57}
    358//===========================================================================================================
    459// Main compilation routines
     
    69124
    70125//===========================================================================================================
    71 // Main loop of the compilation
    72 //===========================================================================================================
    73 
    74 node ('master') {
    75         def err = null
    76 
    77         try {
    78                 //Prevent the build from exceeding 30 minutes
    79                 timeout(60) {
    80 
    81                         //Wrap build to add timestamp to command line
    82                         wrap([$class: 'TimestamperBuildWrapper']) {
    83 
    84                                 stage 'Build'
    85 
    86                                         results = [null, null]
    87 
    88                                         parallel (
    89                                                 x64: {
    90                                                         trigger_build('64-bit')
    91                                                 },
    92                                                 x32: {
    93                                                         trigger_build('32-bit')
    94                                                 }
    95                                         )
    96 
    97                                 //Push latest changes to do-lang repo
    98                                 push_build()
    99                         }
    100                 }
    101         }
    102 
    103         //If an exception is caught we need to change the status and remember to
    104         //attach the build log to the email
    105         catch (Exception caughtError) {
    106                 echo('error caught')
    107 
    108                 //rethrow error later
    109                 err = caughtError
    110 
    111                 //Store the result of the build log
    112                 currentBuild.result = 'FAILURE'
    113 
    114                 //Send email to notify the failure
    115                 promote_failure_email()
    116         }
    117 
    118         finally {
    119                 //Must re-throw exception to propagate error
    120                 if (err) {
    121                         throw err
    122                 }
    123         }
    124 }
    125 //===========================================================================================================
    126126//Routine responsible of sending the email notification once the build is completed
    127127//===========================================================================================================
  • Jenkinsfile

    r0ef06b6 rae28ee2  
    3131                                //Compile latex documentation
    3232                                doc_build()
    33 
    34                                 //Run benchmark and save result
    35                                 benchmark()
    3633
    3734                                if( bIsFullBuild ) {
     
    194191                }
    195192
     193        build_stage 'Benchmark'
     194
     195                //Write the commit id to Benchmark
     196                writeFile( 'bench.csv', 'data=' + env.CHANGE_ID + ',' )
     197 
     198                //Append bench results
     199                sh 'make -C src/benchmark csv-data >> bench.csv'
     200
     201                //Then publish the results
     202                sh 'curl --data @bench.csv http://plg2/~cforall/cgi-bin/publish.cgi'
     203
    196204        build_stage 'Cleanup'
    197205
     
    235243                        make_doc()
    236244                }
    237 }
    238 
    239 def benchmark() {
    240         stage 'Benchmark'
    241 
    242                 status_prefix = 'Documentation'
    243 
    244                 // //We can't just write to a file outside our repo
    245                 // //Copy the file locally using ssh
    246                 // sh 'scp plg2.cs.uwaterloo.ca:/u/cforall/public_html/perf-history/concurrency.csv bench.csv'
    247 
    248                 // //Then append to the local file
    249                 // sh 'make -C src/benchmark csv-data >> bench.csv'
    250 
    251                 // //Then publish the file again
    252                 // sh 'scp bench.csv plg2.cs.uwaterloo.ca:/u/cforall/public_html/perf-history/concurrency.csv'         
    253245}
    254246
  • src/benchmark/csv-data.c

    r0ef06b6 rae28ee2  
    8484int main()
    8585{
    86         sout | time(NULL) | "," | measure_coroutine() | "," | measure_thread() | endl;
     86        sout | measure_coroutine() | "," | measure_thread() | endl;
    8787}
Note: See TracChangeset for help on using the changeset viewer.