Produced by Araxis Merge on 10/3/2017 11:16:07 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.
| # | Location | File | Last Modified |
|---|---|---|---|
| 1 | ehmp.zip\ehmp\ehmp\product\tests\performance-tests\archive | TrialRun.rb | Tue Jan 10 16:20:50 2017 UTC |
| 2 | ehmp.zip\ehmp\ehmp\product\tests\performance-tests\archive | TrialRun.rb | Mon Oct 2 20:10:36 2017 UTC |
| Description | Between Files 1 and 2 |
|
|---|---|---|
| Text Blocks | Lines | |
| Unchanged | 2 | 308 |
| Changed | 1 | 2 |
| Inserted | 0 | 0 |
| Removed | 0 | 0 |
| Whitespace | |
|---|---|
| Character case | Differences in character case are significant |
| Line endings | Differences in line endings (CR and LF characters) are ignored |
| CR/LF characters | Not shown in the comparison detail |
No regular expressions were active.
| 1 | # Demonstr ation cucu mber scrip t for perf orming a s et of perf ormance te sts using | |
| 2 | # the perf ormance te sting fram ework. | |
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | require "a gilex-load gen" | |
| 7 | ||
| 8 | ||
| 9 | Given /^th at eVPR ha s ramped u p to a loa d of "([^" ]*)" reque sts per se cond after "([^"]*)" minutes a nd continu es for "([ ^"]*)" min utes$/ do |typReqRat e, typRamp Time, typD uration| | |
| 10 | ||
| 11 | @Local ProjectRoo t = ENV["W ORKSPACE"] | |
| 12 | #@Loca lProjectRo ot = "~/Pr ojects/vis tacore/ehm p" | |
| 13 | @Targe tEnvName = @LocalPro jectRoot + "/infrast ructure/va grant/aws/ vista-exch ange" | |
| 14 | ||
| 15 | @Targe tHostName = 've-api' | |
| 16 | ||
| 17 | # The gem server where agi lex-loadge n is hoste d. | |
| 18 | @Proje ctGemServe rURL = "ht tps://gem. vistacore. us" | |
| 19 | ||
| 20 | ||
| 21 | @typRe qRate = ty pReqRate | |
| 22 | @typRa mpTime = t ypRampTime | |
| 23 | @typDu ration = t ypDuration | |
| 24 | ||
| 25 | ||
| 26 | @rt1 = LoadGener ator.reque stType :Ty picalReque st | |
| 27 | @r t1.tag "@p erf.FHIRht tparty" | |
| 28 | #@ rt1.tag "@ perf.spike delta" | |
| 29 | ||
| 30 | @r t1.color= "darkblue" # See ht tp://www.d ecember.co m/html/spe c/colorsvg .html | |
| 31 | ||
| 32 | ||
| 33 | @d1 = LoadGenera tor.distri bution :Ty picalDistr ibution, : ramp | |
| 34 | ||
| 35 | @d 1.level @t ypReqRate, @typRampT ime # ram p up to th e request rate. | |
| 36 | @d 1.level @t ypReqRate, @typDurat ion # kee p the base load goin g until th e end of t he test. | |
| 37 | ||
| 38 | ||
| 39 | @p1 = LoadGenera tor.profil e :Typical Profile | |
| 40 | ||
| 41 | @p 1.requestT ype= :Typi calRequest | |
| 42 | @p 1.distribu tion= :Typ icalDistri bution | |
| 43 | ||
| 44 | end | |
| 45 | ||
| 46 | ||
| 47 | When /^the load is i ncreased b y "([^"]*) " requests per secon d after "( [^"]*)" mi nutes for "([^"]*)" minutes$/ do |spikeR eqRate, sp ikeDelay, spikeDurat ion| | |
| 48 | ||
| 49 | @spike ReqRate = spikeReqRa te | |
| 50 | @spike Delay = sp ikeDelay | |
| 51 | @spike Duration = spikeDura tion | |
| 52 | ||
| 53 | @rt2 = LoadGener ator.reque stType :Sp ikeRequest | |
| 54 | @r t2.tag "@p erf.FHIRht tparty" | |
| 55 | #@ rt2.tag "@ perf.spike delta" | |
| 56 | #@ rt2.color= "goldenro d" | |
| 57 | @r t2.color= "forestgre en" | |
| 58 | ||
| 59 | ||
| 60 | @d2 = LoadGenera tor.distri bution :Sp ikeDistrib ution, :ra mp | |
| 61 | ||
| 62 | @d 2.level 0. 0, spikeDe lay | |
| 63 | @d 2.level sp ikeReqRate , 0.01 | |
| 64 | @d 2.level sp ikeReqRate , spikeDur ation | |
| 65 | @d 2.level 0. 0, 0.01 | |
| 66 | ||
| 67 | ||
| 68 | @p2 = LoadGenera tor.profil e :SpikePr ofile | |
| 69 | ||
| 70 | @p 2.requestT ype= :Spik eRequest | |
| 71 | @p 2.distribu tion= :Spi keDistribu tion | |
| 72 | ||
| 73 | ||
| 74 | #LoadGener ator.ipPoo l " IP ", " IP " # needed b y VirtualB ox. | |
| 75 | ||
| 76 | puts " @LocalProj ectRoot=#{ @LocalProj ectRoot}" | |
| 77 | LoadGe nerator.re sultsDirec tory= @Loc alProjectR oot + "/pr oduct/test s/performa nce-tests/ results" | |
| 78 | ||
| 79 | @provi der = Load Generator. dynamicPro vider :aws conf # fo r AWS | |
| 80 | #@prov ider = Loa dGenerator .providerC onfig :vbc onf # for VirtualBo x | |
| 81 | @p rovider.pr oviderName = :aws | |
| 82 | @p rovider.pr oviderBoxN ame= "aws- dummy" | |
| 83 | @p rovider.pr oviderBoxU RL= "https ://github. com/mitche llh/vagran t-aws/raw/ master/dum my.box" | |
| 84 | #@ provider.p roviderNam e= :virtua lbox | |
| 85 | #@ provider.p roviderBox Name= "ops code-cento s-6.3" | |
| 86 | #@ provider.p roviderBox URL= "http s://store. vistacore. us/reposit ories/file repo/com/v agrantup/b asebox/ops code-cento s/6.3/opsc ode-centos -6.3.box" | |
| 87 | ||
| 88 | ||
| 89 | @tr = LoadGenera tor.testRu n :NormalT estRun | |
| 90 | ||
| 91 | @t r.provider Config= "a wsconf" | |
| 92 | #@ tr.provide rConfig= " vbconf" # for virtu albox | |
| 93 | ||
| 94 | re quire File .expand_pa th(@Target EnvName + "/../Vagra ntfileUtil .rb") | |
| 95 | @t r.defineEn vVariable "EHMP_IP", Vagrantfi leUtil::AW S.get_priv ate_ip("vi sta-exchan ge", "ehmp ") | |
| 96 | @t r.defineEn vVariable "VE_API_IP ", Vagrant fileUtil:: AWS.get_pr ivate_ip(" vista-exch ange", "ve -api") | |
| 97 | @t r.defineEn vVariable "JDS_IP", Vagrantfil eUtil::AWS .get_priva te_ip("vis ta-exchang e", "jds") | |
| 98 | ||
| 99 | @t r.projectG emServerUR L= @Projec tGemServer URL | |
| 100 | @t r.localPro jectRoot= @LocalProj ectRoot | |
| 101 | @t r.projectN ame= "vist acore" | |
| 102 | @t r.projectR epoName= " ehmp" | |
| 103 | @t r.projectR epoURL= "h ttps://cod e.vistacor e.us/scm/a pp/ehmp.gi t" | |
| 104 | @t r.projectR epoFQDN= " code.vista core.us" | |
| 105 | @t r.gitUseri d= ENV['GI T_USER'] | |
| 106 | @t r.gitPassw ord= ENV[' GIT_PASSWO RD'] | |
| 107 | ||
| 108 | ||
| 109 | # The featur es directo ry is rela tive to th e local pr oject root . | |
| 110 | @t r.features Directory= "product/ tests/perf ormance-te sts/client -tests/fea tures" | |
| 111 | ||
| 112 | @t r.feature "perf.FHIR httparty.f eature" | |
| 113 | #@ tr.feature "perf.spi kedelta.fe ature" # commented out becaus e this fea ture does not match any step. | |
| 114 | ||
| 115 | # If feature s are NOT specified, then the whole dire ctory will be run. | |
| 116 | # If feature s ARE spec ified, the n only tho se will be run. | |
| 117 | #t r.feature "features/ authentica tion/authe nticate_us er.feature " | |
| 118 | #t r.feature "features/ get_vitals .feature" | |
| 119 | ||
| 120 | # Draw graph s for thes e events. | |
| 121 | @t r.graphEve nt "vpr_al lergy" | |
| 122 | @t r.graphEve nt "vpr_vi tal" | |
| 123 | @t r.graphEve nt "vpr_pa tient" | |
| 124 | ||
| 125 | @t r.nodes= 2 | |
| 126 | ||
| 127 | @t r.useProfi le :Typica lProfile | |
| 128 | ||
| 129 | @t r.useProfi le :SpikeP rofile | |
| 130 | ||
| 131 | #@ tr.reuseNo des # re- provision existing n odes if pr esent. | |
| 132 | @t r.keepNode s # do no t destroy nodes at t he end. | |
| 133 | ||
| 134 | @t r.start | |
| 135 | ||
| 136 | end | |
| 137 | ||
| 138 | ||
| 139 | Then /^at "([^"]*)" minutes af ter the sp ike ends, the system response time still averages less than "([^"]*)" seconds fo r cached p atients$/ do |delay, avgRespTi me| | |
| 140 | ||
| 141 | puts " Statistics :" | |
| 142 | puts " \tvpr_alle rgy: #{@tr .getStats( "vpr_aller gy", "Typi calRequest ", "SpikeR equest")}" | |
| 143 | puts " \tvpr_vita l: #{@tr.g etStats("v pr_vital", "TypicalR equest", " SpikeReque st")}" | |
| 144 | puts " \tvpr_pati ent: #{@tr .getStats( "vpr_patie nt", "Typi calRequest ", "SpikeR equest")}" | |
| 145 | puts | |
| 146 | ||
| 147 | actual Avg_vpr_al lergy = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "vpr_all ergy", "Ty picalReque st") | |
| 148 | actual Avg_vpr_vi tal = @tr. avgRespons eTimeAfter (@typDurat ion + @spi keDuration + delay, "vpr_vital ", "Typica lRequest") | |
| 149 | actual Avg_vpr_pa tient = @t r.avgRespo nseTimeAft er(@typDur ation + @s pikeDurati on + delay , "vpr_pat ient", "Ty picalReque st") | |
| 150 | ||
| 151 | raise "Failed: a ctual aver age (#{act ualAvg_vpr _allergy}) > SLA (#{ avgRespTim e.to_f})" unless act ualAvg_vpr _allergy < = avgRespT ime.to_f | |
| 152 | raise "Failed: a ctual aver age (#{act ualAvg_vpr _vital}) > SLA (#{av gRespTime. to_f})" un less actua lAvg_vpr_v ital <= av gRespTime. to_f | |
| 153 | raise "Failed: a ctual aver age (#{act ualAvg_vpr _patient}) > SLA (#{ avgRespTim e.to_f})" unless act ualAvg_vpr _patient < = avgRespT ime.to_f | |
| 154 | ||
| 155 | end |
Araxis Merge (but not the data content of this report) is Copyright © 1993-2016 Araxis Ltd (www.araxis.com). All rights reserved.