You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2014/11/03 19:48:56 UTC
git commit: simplify simulation
Repository: incubator-usergrid
Updated Branches:
refs/heads/key-row-sharding 45416984b -> 24ac268d7
simplify simulation
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/24ac268d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/24ac268d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/24ac268d
Branch: refs/heads/key-row-sharding
Commit: 24ac268d750f97ad39601bb756fb66617c018af6
Parents: 4541698
Author: Shawn Feldman <sf...@apache.org>
Authored: Mon Nov 3 11:48:42 2014 -0700
Committer: Shawn Feldman <sf...@apache.org>
Committed: Mon Nov 3 11:48:42 2014 -0700
----------------------------------------------------------------------
.../scenarios/NotificationScenarios.scala | 23 ++++++++++++-
.../scenarios/OrganizationScenarios.scala | 3 +-
.../PushNotificationTargetUserSimulation.scala | 35 +++++---------------
3 files changed, 32 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/24ac268d/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala
index f17e6d0..8bd1ad7 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/NotificationScenarios.scala
@@ -21,7 +21,8 @@ import java.nio.file.{Paths, Files}
import io.gatling.core.Predef._
import io.gatling.http.Predef._
-import scala.concurrent.duration._
+ import org.apache.usergrid.datagenerators.FeederGenerator
+ import scala.concurrent.duration._
import scala.io.Source
@@ -66,6 +67,26 @@ object NotificationScenarios {
.check(status.is(200))
)
+ val numEntities:Int = Settings.numUsers * 3 * Settings.duration
+
+ val userFeeder = FeederGenerator.generateUserWithGeolocationFeeder(Settings.numUsers * Settings.duration, Settings.userLocationRadius, Settings.centerLatitude, Settings.centerLongitude)
+
+ val createScenario = scenario("Create Push Notification")
+ .feed(userFeeder)
+ .exec( UserScenarios.postUser)
+ .exec(TokenScenarios.getUserToken)
+ .repeat(2){
+ feed(FeederGenerator.generateEntityNameFeeder("device", numEntities))
+ .exec( DeviceScenarios.postDeviceWithNotifier)
+ .exec(ConnectionScenarios.postUserToDeviceConnection)
+ }
+ .exec(session => {
+ // print the Session for debugging, don't do that on real Simulations
+ println(session)
+ session
+ })
+ .exec( NotificationScenarios.sendNotificationToUser)
+
/**
* TODO: Add posting to users, which would expect a user in the session
*/
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/24ac268d/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/OrganizationScenarios.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/OrganizationScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/OrganizationScenarios.scala
index 27d23c7..534ccbb 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/OrganizationScenarios.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/OrganizationScenarios.scala
@@ -56,7 +56,6 @@ object OrganizationScenarios {
val createOrgScenario = scenario("Create org")
.exec(OrganizationScenarios.createOrgBatch)
- .inject(atOnceUsers(1))
- .protocols(http.baseURL(Settings.baseUrl))
+
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/24ac268d/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PushNotificationTargetUserSimulation.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PushNotificationTargetUserSimulation.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PushNotificationTargetUserSimulation.scala
index c1143b7..b8d57d1 100644
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PushNotificationTargetUserSimulation.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PushNotificationTargetUserSimulation.scala
@@ -17,38 +17,21 @@
package org.apache.usergrid.simulations
import io.gatling.core.Predef._
-import org.apache.usergrid.datagenerators.FeederGenerator
+import io.gatling.http.Predef._
import org.apache.usergrid.scenarios._
import org.apache.usergrid.settings.Settings
import scala.concurrent.duration._
class PushNotificationTargetUserSimulation extends Simulation {
-
- val duration:Int = Settings.duration
- val numUsersPerSecond:Int = Settings.numUsers
- val numEntities:Int = numUsersPerSecond * 3 * duration
- val httpConf = Settings.httpConf.acceptHeader("application/json")
- val userFeeder = FeederGenerator.generateUserWithGeolocationFeeder(numUsersPerSecond * duration, Settings.userLocationRadius, Settings.centerLatitude, Settings.centerLongitude)
-
- val scnToRun = scenario("Create Push Notification")
- .feed(userFeeder)
- .exec( UserScenarios.postUser)
- .exec(TokenScenarios.getUserToken)
- .repeat(2){
- feed(FeederGenerator.generateEntityNameFeeder("device", numEntities))
- .exec( DeviceScenarios.postDeviceWithNotifier)
- .exec(ConnectionScenarios.postUserToDeviceConnection)
- }
- .exec(session => {
- // print the Session for debugging, don't do that on real Simulations
- println(session)
- session
- })
- .exec( NotificationScenarios.sendNotificationToUser)
- .inject(nothingFor(15),constantUsersPerSec(numUsersPerSecond) during (duration))
+ val scnToRun = NotificationScenarios.createScenario
+ .inject(nothingFor(15),constantUsersPerSec(Settings.numUsers) during (Settings.duration)) // wait for 15 seconds so create org can finish, need to figure out coordination
.throttle(reachRps(Settings.throttle) in ( Settings.rampTime.seconds))
- .protocols(httpConf)
+ .protocols( Settings.httpConf.acceptHeader("application/json"))
+
+ val createOrg = OrganizationScenarios.createOrgScenario
+ .inject(atOnceUsers(1))
+ .protocols(http.baseURL(Settings.baseUrl))
- setUp(OrganizationScenarios.createOrgScenario,scnToRun)
+ setUp(createOrg,scnToRun)
}