mirror of
https://github.com/corda/corda.git
synced 2025-04-15 15:07:03 +00:00
ENT-2367 Overnight benchmark enhancements (#1470)
This commit is contained in:
parent
9b5b4b62b1
commit
78907bd6dc
@ -21,6 +21,7 @@ import java.util.*
|
||||
class CashPaymentFromKnownStatesFlow(
|
||||
val inputs: Set<StateRef>,
|
||||
val numberOfStates: Int,
|
||||
val numberOfChangeStates: Int,
|
||||
val amountPerState: Amount<Currency>,
|
||||
val recipient: Party,
|
||||
val anonymous: Boolean,
|
||||
@ -28,9 +29,10 @@ class CashPaymentFromKnownStatesFlow(
|
||||
|
||||
constructor(inputs: Set<StateRef>,
|
||||
numberOfStates: Int,
|
||||
numberOfChangeStates: Int,
|
||||
amountPerState: Amount<Currency>,
|
||||
recipient: Party,
|
||||
anonymous: Boolean) : this(inputs, numberOfStates, amountPerState, recipient, anonymous, tracker())
|
||||
anonymous: Boolean) : this(inputs, numberOfStates, numberOfChangeStates, amountPerState, recipient, anonymous, tracker())
|
||||
|
||||
@Suspendable
|
||||
override fun call(): AbstractCashFlow.Result {
|
||||
@ -46,12 +48,15 @@ class CashPaymentFromKnownStatesFlow(
|
||||
progressTracker.currentStep = AbstractCashFlow.Companion.GENERATING_TX
|
||||
val builder = TransactionBuilder(notary = null)
|
||||
|
||||
// TODO: this needs to use a bulk call
|
||||
val cashStateAndRef = inputs.map { serviceHub.toStateAndRef<Cash.State>(it) }
|
||||
val amounts = ArrayList(Collections.nCopies(numberOfStates, PartyAndAmount(anonymousRecipient, amountPerState)))
|
||||
val changeIdentity = serviceHub.keyManagementService.freshKeyAndCert(ourIdentityAndCert, false)
|
||||
|
||||
val changeParty = serviceHub.keyManagementService.freshKeyAndCert(ourIdentityAndCert, false).party.anonymise()
|
||||
if (numberOfChangeStates > 1) {
|
||||
amounts += Collections.nCopies(numberOfChangeStates - 1, PartyAndAmount(changeParty, amountPerState))
|
||||
}
|
||||
val (spendTx, keysForSigning) = OnLedgerAsset.generateSpend(builder, amounts, cashStateAndRef,
|
||||
changeIdentity.party.anonymise(),
|
||||
changeParty,
|
||||
{ state, quantity, owner -> deriveState(state, quantity, owner) },
|
||||
{ Cash().generateMoveCommand() })
|
||||
|
||||
|
@ -237,18 +237,22 @@ class CashPaySampler : AbstractSampler() {
|
||||
companion object JMeterProperties {
|
||||
val otherParty = Argument("otherPartyName", "", "<meta>", "The X500 name of the payee.")
|
||||
val numberOfStatesPerTx = Argument("numberOfStatesPerTx", "1", "<meta>", "The number of payment states per transaction.")
|
||||
val numberOfChangeStatesPerTx = Argument("numberOfChangeStatesPerTx", "1", "<meta>", "The number of change states per transaction.")
|
||||
val anonymousIdentities = Argument("anonymousIdentities", "false", "<meta>", "True to use anonymous identities and false (or anything else) to use well known identities.")
|
||||
}
|
||||
|
||||
lateinit var counterParty: Party
|
||||
var numberOfStatesPerTxCount: Int = 1
|
||||
var numberOfChangeStatesPerTxCount: Int = 1
|
||||
var useAnonymousIdentities: Boolean = true
|
||||
private var inputIndex = 0
|
||||
private var inputStartIndex = 0
|
||||
private var inputEndIndex = 0
|
||||
|
||||
override fun setupTest(rpcProxy: CordaRPCOps, testContext: JavaSamplerContext) {
|
||||
getNotaryIdentity(rpcProxy, testContext)
|
||||
counterParty = getIdentity(rpcProxy, testContext, otherParty)
|
||||
numberOfStatesPerTxCount = testContext.getParameter(numberOfStatesPerTx.name, numberOfStatesPerTx.value).toInt()
|
||||
numberOfChangeStatesPerTxCount = testContext.getParameter(numberOfChangeStatesPerTx.name, numberOfChangeStatesPerTx.value).toInt()
|
||||
useAnonymousIdentities = testContext.getParameter(anonymousIdentities.name, anonymousIdentities.value).toBoolean()
|
||||
|
||||
// Now issue lots of USD
|
||||
@ -259,16 +263,18 @@ class CashPaySampler : AbstractSampler() {
|
||||
}
|
||||
|
||||
override fun createFlowInvoke(rpcProxy: CordaRPCOps, testContext: JavaSamplerContext): FlowInvoke<*> {
|
||||
// Change is always Nth output
|
||||
val input = StateRef((flowResult as AbstractCashFlow.Result).id, inputIndex)
|
||||
// Change is always the latter outputs
|
||||
val txId = (flowResult as AbstractCashFlow.Result).id
|
||||
val inputs = (inputStartIndex..inputEndIndex).map { StateRef(txId, it) }.toSet()
|
||||
val amount = 1.DOLLARS
|
||||
inputIndex = numberOfStatesPerTxCount
|
||||
return FlowInvoke<CashPaymentFromKnownStatesFlow>(CashPaymentFromKnownStatesFlow::class.java, arrayOf(setOf(input), numberOfStatesPerTxCount, amount, counterParty, useAnonymousIdentities))
|
||||
inputStartIndex = numberOfStatesPerTxCount
|
||||
inputEndIndex = inputStartIndex + (numberOfChangeStatesPerTxCount - 1)
|
||||
return FlowInvoke<CashPaymentFromKnownStatesFlow>(CashPaymentFromKnownStatesFlow::class.java, arrayOf(inputs, numberOfStatesPerTxCount, numberOfChangeStatesPerTxCount, amount, counterParty, useAnonymousIdentities))
|
||||
}
|
||||
|
||||
override fun teardownTest(rpcProxy: CordaRPCOps, testContext: JavaSamplerContext) {
|
||||
}
|
||||
|
||||
override val additionalArgs: Set<Argument>
|
||||
get() = setOf(notary, otherParty, numberOfStatesPerTx, anonymousIdentities)
|
||||
get() = setOf(notary, otherParty, numberOfStatesPerTx, numberOfChangeStatesPerTx, anonymousIdentities)
|
||||
}
|
@ -71,15 +71,15 @@ class Ssh {
|
||||
|
||||
// For tunnelling the RMI registry on the remote agent
|
||||
// ssh ${remoteHostAndPort.host} -L 0.0.0.0:${localHostAndPort.port}:localhost:$serverRmiPort -N
|
||||
createOutboundTunnel(session, NetworkHostAndPort("0.0.0.0", localHostAndPort.port), NetworkHostAndPort("localhost", serverRmiPort))
|
||||
createOutboundTunnel(session, NetworkHostAndPort("localhost", localHostAndPort.port), NetworkHostAndPort("localhost", serverRmiPort))
|
||||
|
||||
// For tunnelling the actual connection to the remote agent
|
||||
// ssh ${remoteHostAndPort.host} -L 0.0.0.0:$serverRmiLocalPort:localhost:$serverRmiLocalPort -N
|
||||
createOutboundTunnel(session, NetworkHostAndPort("0.0.0.0", serverRmiLocalPort), NetworkHostAndPort("localhost", serverRmiLocalPort))
|
||||
createOutboundTunnel(session, NetworkHostAndPort("localhost", serverRmiLocalPort), NetworkHostAndPort("localhost", serverRmiLocalPort))
|
||||
|
||||
// For returning results to the client
|
||||
// ssh ${remoteHostAndPort.host} -R 0.0.0.0:clientRmiLocalPort:localhost:clientRmiLocalPort -N
|
||||
createInboundTunnel(session, NetworkHostAndPort("0.0.0.0", clientRmiLocalPort), NetworkHostAndPort("localhost", clientRmiLocalPort))
|
||||
createInboundTunnel(session, NetworkHostAndPort("localhost", clientRmiLocalPort), NetworkHostAndPort("localhost", clientRmiLocalPort))
|
||||
}
|
||||
|
||||
if (wait) {
|
||||
|
@ -659,6 +659,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -728,6 +733,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -797,6 +807,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -866,6 +881,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -935,6 +955,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -1004,6 +1029,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -1073,6 +1103,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -1142,6 +1177,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -1211,6 +1251,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -1280,6 +1325,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -1349,6 +1399,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -1418,6 +1473,11 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
@ -1487,6 +1547,531 @@
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
</collectionProp>
|
||||
</elementProp>
|
||||
<stringProp name="classname">com.r3.corda.jmeter.CashPaySampler</stringProp>
|
||||
</JavaSampler>
|
||||
<hashTree/>
|
||||
</hashTree>
|
||||
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Cash Issue and Pay 5 states 40 Thread Group ${__machineName}" enabled="true">
|
||||
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||||
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
||||
<boolProp name="LoopController.continue_forever">false</boolProp>
|
||||
<intProp name="LoopController.loops">-1</intProp>
|
||||
</elementProp>
|
||||
<stringProp name="ThreadGroup.num_threads">40</stringProp>
|
||||
<stringProp name="ThreadGroup.ramp_time"></stringProp>
|
||||
<longProp name="ThreadGroup.start_time">1509455820000</longProp>
|
||||
<longProp name="ThreadGroup.end_time">1509455820000</longProp>
|
||||
<boolProp name="ThreadGroup.scheduler">true</boolProp>
|
||||
<stringProp name="ThreadGroup.duration">${duration}</stringProp>
|
||||
<stringProp name="ThreadGroup.delay">${pause}</stringProp>
|
||||
</ThreadGroup>
|
||||
<hashTree>
|
||||
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Cash Issue and Pay 5 Request" enabled="true">
|
||||
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
||||
<collectionProp name="Arguments.arguments">
|
||||
<elementProp name="label" elementType="Argument">
|
||||
<stringProp name="Argument.name">label</stringProp>
|
||||
<stringProp name="Argument.value">${__samplerName}-${__groovy(ctx.getThreadGroup().getNumThreads() * vars.get("remoteAgentCount").toInteger())}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="host" elementType="Argument">
|
||||
<stringProp name="Argument.name">host</stringProp>
|
||||
<stringProp name="Argument.value">${host}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="port" elementType="Argument">
|
||||
<stringProp name="Argument.name">port</stringProp>
|
||||
<stringProp name="Argument.value">${port}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="username" elementType="Argument">
|
||||
<stringProp name="Argument.name">username</stringProp>
|
||||
<stringProp name="Argument.value">${username}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="password" elementType="Argument">
|
||||
<stringProp name="Argument.name">password</stringProp>
|
||||
<stringProp name="Argument.value">${password}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="notaryName" elementType="Argument">
|
||||
<stringProp name="Argument.name">notaryName</stringProp>
|
||||
<stringProp name="Argument.value">${notaryName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="otherPartyName" elementType="Argument">
|
||||
<stringProp name="Argument.name">otherPartyName</stringProp>
|
||||
<stringProp name="Argument.value">${otherPartyName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">5</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
</collectionProp>
|
||||
</elementProp>
|
||||
<stringProp name="classname">com.r3.corda.jmeter.CashPaySampler</stringProp>
|
||||
</JavaSampler>
|
||||
<hashTree/>
|
||||
</hashTree>
|
||||
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Cash Issue and Pay 20 states 40 Thread Group ${__machineName}" enabled="true">
|
||||
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||||
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
||||
<boolProp name="LoopController.continue_forever">false</boolProp>
|
||||
<intProp name="LoopController.loops">-1</intProp>
|
||||
</elementProp>
|
||||
<stringProp name="ThreadGroup.num_threads">40</stringProp>
|
||||
<stringProp name="ThreadGroup.ramp_time"></stringProp>
|
||||
<longProp name="ThreadGroup.start_time">1509455820000</longProp>
|
||||
<longProp name="ThreadGroup.end_time">1509455820000</longProp>
|
||||
<boolProp name="ThreadGroup.scheduler">true</boolProp>
|
||||
<stringProp name="ThreadGroup.duration">${duration}</stringProp>
|
||||
<stringProp name="ThreadGroup.delay">${pause}</stringProp>
|
||||
</ThreadGroup>
|
||||
<hashTree>
|
||||
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Cash Issue and Pay 20 Request" enabled="true">
|
||||
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
||||
<collectionProp name="Arguments.arguments">
|
||||
<elementProp name="label" elementType="Argument">
|
||||
<stringProp name="Argument.name">label</stringProp>
|
||||
<stringProp name="Argument.value">${__samplerName}-${__groovy(ctx.getThreadGroup().getNumThreads() * vars.get("remoteAgentCount").toInteger())}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="host" elementType="Argument">
|
||||
<stringProp name="Argument.name">host</stringProp>
|
||||
<stringProp name="Argument.value">${host}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="port" elementType="Argument">
|
||||
<stringProp name="Argument.name">port</stringProp>
|
||||
<stringProp name="Argument.value">${port}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="username" elementType="Argument">
|
||||
<stringProp name="Argument.name">username</stringProp>
|
||||
<stringProp name="Argument.value">${username}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="password" elementType="Argument">
|
||||
<stringProp name="Argument.name">password</stringProp>
|
||||
<stringProp name="Argument.value">${password}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="notaryName" elementType="Argument">
|
||||
<stringProp name="Argument.name">notaryName</stringProp>
|
||||
<stringProp name="Argument.value">${notaryName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="otherPartyName" elementType="Argument">
|
||||
<stringProp name="Argument.name">otherPartyName</stringProp>
|
||||
<stringProp name="Argument.value">${otherPartyName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">20</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
</collectionProp>
|
||||
</elementProp>
|
||||
<stringProp name="classname">com.r3.corda.jmeter.CashPaySampler</stringProp>
|
||||
</JavaSampler>
|
||||
<hashTree/>
|
||||
</hashTree>
|
||||
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Cash Issue and Pay 40 states 40 Thread Group ${__machineName}" enabled="true">
|
||||
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||||
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
||||
<boolProp name="LoopController.continue_forever">false</boolProp>
|
||||
<intProp name="LoopController.loops">-1</intProp>
|
||||
</elementProp>
|
||||
<stringProp name="ThreadGroup.num_threads">40</stringProp>
|
||||
<stringProp name="ThreadGroup.ramp_time"></stringProp>
|
||||
<longProp name="ThreadGroup.start_time">1509455820000</longProp>
|
||||
<longProp name="ThreadGroup.end_time">1509455820000</longProp>
|
||||
<boolProp name="ThreadGroup.scheduler">true</boolProp>
|
||||
<stringProp name="ThreadGroup.duration">${duration}</stringProp>
|
||||
<stringProp name="ThreadGroup.delay">${pause}</stringProp>
|
||||
</ThreadGroup>
|
||||
<hashTree>
|
||||
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Cash Issue and Pay 40 Request" enabled="true">
|
||||
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
||||
<collectionProp name="Arguments.arguments">
|
||||
<elementProp name="label" elementType="Argument">
|
||||
<stringProp name="Argument.name">label</stringProp>
|
||||
<stringProp name="Argument.value">${__samplerName}-${__groovy(ctx.getThreadGroup().getNumThreads() * vars.get("remoteAgentCount").toInteger())}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="host" elementType="Argument">
|
||||
<stringProp name="Argument.name">host</stringProp>
|
||||
<stringProp name="Argument.value">${host}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="port" elementType="Argument">
|
||||
<stringProp name="Argument.name">port</stringProp>
|
||||
<stringProp name="Argument.value">${port}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="username" elementType="Argument">
|
||||
<stringProp name="Argument.name">username</stringProp>
|
||||
<stringProp name="Argument.value">${username}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="password" elementType="Argument">
|
||||
<stringProp name="Argument.name">password</stringProp>
|
||||
<stringProp name="Argument.value">${password}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="notaryName" elementType="Argument">
|
||||
<stringProp name="Argument.name">notaryName</stringProp>
|
||||
<stringProp name="Argument.value">${notaryName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="otherPartyName" elementType="Argument">
|
||||
<stringProp name="Argument.name">otherPartyName</stringProp>
|
||||
<stringProp name="Argument.value">${otherPartyName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">40</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
</collectionProp>
|
||||
</elementProp>
|
||||
<stringProp name="classname">com.r3.corda.jmeter.CashPaySampler</stringProp>
|
||||
</JavaSampler>
|
||||
<hashTree/>
|
||||
</hashTree>
|
||||
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Cash Issue and Pay 80 states 40 Thread Group ${__machineName}" enabled="true">
|
||||
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||||
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
||||
<boolProp name="LoopController.continue_forever">false</boolProp>
|
||||
<intProp name="LoopController.loops">-1</intProp>
|
||||
</elementProp>
|
||||
<stringProp name="ThreadGroup.num_threads">40</stringProp>
|
||||
<stringProp name="ThreadGroup.ramp_time"></stringProp>
|
||||
<longProp name="ThreadGroup.start_time">1509455820000</longProp>
|
||||
<longProp name="ThreadGroup.end_time">1509455820000</longProp>
|
||||
<boolProp name="ThreadGroup.scheduler">true</boolProp>
|
||||
<stringProp name="ThreadGroup.duration">${duration}</stringProp>
|
||||
<stringProp name="ThreadGroup.delay">${pause}</stringProp>
|
||||
</ThreadGroup>
|
||||
<hashTree>
|
||||
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Cash Issue and Pay 80 Request" enabled="true">
|
||||
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
||||
<collectionProp name="Arguments.arguments">
|
||||
<elementProp name="label" elementType="Argument">
|
||||
<stringProp name="Argument.name">label</stringProp>
|
||||
<stringProp name="Argument.value">${__samplerName}-${__groovy(ctx.getThreadGroup().getNumThreads() * vars.get("remoteAgentCount").toInteger())}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="host" elementType="Argument">
|
||||
<stringProp name="Argument.name">host</stringProp>
|
||||
<stringProp name="Argument.value">${host}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="port" elementType="Argument">
|
||||
<stringProp name="Argument.name">port</stringProp>
|
||||
<stringProp name="Argument.value">${port}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="username" elementType="Argument">
|
||||
<stringProp name="Argument.name">username</stringProp>
|
||||
<stringProp name="Argument.value">${username}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="password" elementType="Argument">
|
||||
<stringProp name="Argument.name">password</stringProp>
|
||||
<stringProp name="Argument.value">${password}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="notaryName" elementType="Argument">
|
||||
<stringProp name="Argument.name">notaryName</stringProp>
|
||||
<stringProp name="Argument.value">${notaryName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="otherPartyName" elementType="Argument">
|
||||
<stringProp name="Argument.name">otherPartyName</stringProp>
|
||||
<stringProp name="Argument.value">${otherPartyName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">80</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
</collectionProp>
|
||||
</elementProp>
|
||||
<stringProp name="classname">com.r3.corda.jmeter.CashPaySampler</stringProp>
|
||||
</JavaSampler>
|
||||
<hashTree/>
|
||||
</hashTree>
|
||||
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Cash Issue and Pay 160 states 40 Thread Group ${__machineName}" enabled="true">
|
||||
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||||
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
||||
<boolProp name="LoopController.continue_forever">false</boolProp>
|
||||
<intProp name="LoopController.loops">-1</intProp>
|
||||
</elementProp>
|
||||
<stringProp name="ThreadGroup.num_threads">40</stringProp>
|
||||
<stringProp name="ThreadGroup.ramp_time"></stringProp>
|
||||
<longProp name="ThreadGroup.start_time">1509455820000</longProp>
|
||||
<longProp name="ThreadGroup.end_time">1509455820000</longProp>
|
||||
<boolProp name="ThreadGroup.scheduler">true</boolProp>
|
||||
<stringProp name="ThreadGroup.duration">${duration}</stringProp>
|
||||
<stringProp name="ThreadGroup.delay">${pause}</stringProp>
|
||||
</ThreadGroup>
|
||||
<hashTree>
|
||||
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Cash Issue and Pay 160 Request" enabled="true">
|
||||
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
||||
<collectionProp name="Arguments.arguments">
|
||||
<elementProp name="label" elementType="Argument">
|
||||
<stringProp name="Argument.name">label</stringProp>
|
||||
<stringProp name="Argument.value">${__samplerName}-${__groovy(ctx.getThreadGroup().getNumThreads() * vars.get("remoteAgentCount").toInteger())}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="host" elementType="Argument">
|
||||
<stringProp name="Argument.name">host</stringProp>
|
||||
<stringProp name="Argument.value">${host}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="port" elementType="Argument">
|
||||
<stringProp name="Argument.name">port</stringProp>
|
||||
<stringProp name="Argument.value">${port}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="username" elementType="Argument">
|
||||
<stringProp name="Argument.name">username</stringProp>
|
||||
<stringProp name="Argument.value">${username}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="password" elementType="Argument">
|
||||
<stringProp name="Argument.name">password</stringProp>
|
||||
<stringProp name="Argument.value">${password}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="notaryName" elementType="Argument">
|
||||
<stringProp name="Argument.name">notaryName</stringProp>
|
||||
<stringProp name="Argument.value">${notaryName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="otherPartyName" elementType="Argument">
|
||||
<stringProp name="Argument.name">otherPartyName</stringProp>
|
||||
<stringProp name="Argument.value">${otherPartyName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">160</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
</collectionProp>
|
||||
</elementProp>
|
||||
<stringProp name="classname">com.r3.corda.jmeter.CashPaySampler</stringProp>
|
||||
</JavaSampler>
|
||||
<hashTree/>
|
||||
</hashTree>
|
||||
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Cash Issue and Pay 320 states 40 Thread Group ${__machineName}" enabled="true">
|
||||
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||||
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
||||
<boolProp name="LoopController.continue_forever">false</boolProp>
|
||||
<intProp name="LoopController.loops">-1</intProp>
|
||||
</elementProp>
|
||||
<stringProp name="ThreadGroup.num_threads">40</stringProp>
|
||||
<stringProp name="ThreadGroup.ramp_time"></stringProp>
|
||||
<longProp name="ThreadGroup.start_time">1509455820000</longProp>
|
||||
<longProp name="ThreadGroup.end_time">1509455820000</longProp>
|
||||
<boolProp name="ThreadGroup.scheduler">true</boolProp>
|
||||
<stringProp name="ThreadGroup.duration">${duration}</stringProp>
|
||||
<stringProp name="ThreadGroup.delay">${pause}</stringProp>
|
||||
</ThreadGroup>
|
||||
<hashTree>
|
||||
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Cash Issue and Pay 320 Request" enabled="true">
|
||||
<stringProp name="TestPlan.comments"> </stringProp>
|
||||
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
||||
<collectionProp name="Arguments.arguments">
|
||||
<elementProp name="label" elementType="Argument">
|
||||
<stringProp name="Argument.name">label</stringProp>
|
||||
<stringProp name="Argument.value">${__samplerName}-${__groovy(ctx.getThreadGroup().getNumThreads() * vars.get("remoteAgentCount").toInteger())}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="host" elementType="Argument">
|
||||
<stringProp name="Argument.name">host</stringProp>
|
||||
<stringProp name="Argument.value">${host}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="port" elementType="Argument">
|
||||
<stringProp name="Argument.name">port</stringProp>
|
||||
<stringProp name="Argument.value">${port}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="username" elementType="Argument">
|
||||
<stringProp name="Argument.name">username</stringProp>
|
||||
<stringProp name="Argument.value">${username}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="password" elementType="Argument">
|
||||
<stringProp name="Argument.name">password</stringProp>
|
||||
<stringProp name="Argument.value">${password}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="notaryName" elementType="Argument">
|
||||
<stringProp name="Argument.name">notaryName</stringProp>
|
||||
<stringProp name="Argument.value">${notaryName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="otherPartyName" elementType="Argument">
|
||||
<stringProp name="Argument.name">otherPartyName</stringProp>
|
||||
<stringProp name="Argument.value">${otherPartyName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">320</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
</collectionProp>
|
||||
</elementProp>
|
||||
<stringProp name="classname">com.r3.corda.jmeter.CashPaySampler</stringProp>
|
||||
</JavaSampler>
|
||||
<hashTree/>
|
||||
</hashTree>
|
||||
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Cash Issue and Pay 640 states 40 Thread Group ${__machineName}" enabled="true">
|
||||
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
|
||||
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
|
||||
<boolProp name="LoopController.continue_forever">false</boolProp>
|
||||
<intProp name="LoopController.loops">-1</intProp>
|
||||
</elementProp>
|
||||
<stringProp name="ThreadGroup.num_threads">40</stringProp>
|
||||
<stringProp name="ThreadGroup.ramp_time"></stringProp>
|
||||
<longProp name="ThreadGroup.start_time">1509455820000</longProp>
|
||||
<longProp name="ThreadGroup.end_time">1509455820000</longProp>
|
||||
<boolProp name="ThreadGroup.scheduler">true</boolProp>
|
||||
<stringProp name="ThreadGroup.duration">${duration}</stringProp>
|
||||
<stringProp name="ThreadGroup.delay">${pause}</stringProp>
|
||||
</ThreadGroup>
|
||||
<hashTree>
|
||||
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Cash Issue and Pay 640 Request" enabled="true">
|
||||
<stringProp name="TestPlan.comments"> </stringProp>
|
||||
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
|
||||
<collectionProp name="Arguments.arguments">
|
||||
<elementProp name="label" elementType="Argument">
|
||||
<stringProp name="Argument.name">label</stringProp>
|
||||
<stringProp name="Argument.value">${__samplerName}-${__groovy(ctx.getThreadGroup().getNumThreads() * vars.get("remoteAgentCount").toInteger())}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="host" elementType="Argument">
|
||||
<stringProp name="Argument.name">host</stringProp>
|
||||
<stringProp name="Argument.value">${host}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="port" elementType="Argument">
|
||||
<stringProp name="Argument.name">port</stringProp>
|
||||
<stringProp name="Argument.value">${port}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="username" elementType="Argument">
|
||||
<stringProp name="Argument.name">username</stringProp>
|
||||
<stringProp name="Argument.value">${username}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="password" elementType="Argument">
|
||||
<stringProp name="Argument.name">password</stringProp>
|
||||
<stringProp name="Argument.value">${password}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="notaryName" elementType="Argument">
|
||||
<stringProp name="Argument.name">notaryName</stringProp>
|
||||
<stringProp name="Argument.value">${notaryName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="otherPartyName" elementType="Argument">
|
||||
<stringProp name="Argument.name">otherPartyName</stringProp>
|
||||
<stringProp name="Argument.value">${otherPartyName}</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">640</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="numberOfChangeStatesPerTx" elementType="Argument">
|
||||
<stringProp name="Argument.name">numberOfChangeStatesPerTx</stringProp>
|
||||
<stringProp name="Argument.value">1</stringProp>
|
||||
<stringProp name="Argument.metadata">=</stringProp>
|
||||
</elementProp>
|
||||
<elementProp name="anonymousIdentities" elementType="Argument">
|
||||
<stringProp name="Argument.name">anonymousIdentities</stringProp>
|
||||
<stringProp name="Argument.value">false</stringProp>
|
||||
|
Loading…
x
Reference in New Issue
Block a user