diff --git a/machmeter/usecases/finance/ledger/templates/finance-ledger-perf.jmx b/machmeter/usecases/finance/ledger/templates/finance-ledger-perf.jmx
index ba8e06f..74dfead 100644
--- a/machmeter/usecases/finance/ledger/templates/finance-ledger-perf.jmx
+++ b/machmeter/usecases/finance/ledger/templates/finance-ledger-perf.jmx
@@ -222,7 +222,7 @@ SampleResult.setRequestHeaders(spanner.toString());
1
ThroughputController.percentThroughput
- 12.0
+ 10.0
0.0
@@ -239,7 +239,7 @@ import com.google.cloud.Timestamp;
DatabaseClient dbClient = props.get("dbClient");
String userId = vars.get("userId");
-String txnId = vars.get("txnId");
+String txnId = UUID.randomUUID().toString();;
double randomAmount = Double.parseDouble(vars.get("randomAmount"));
dbClient
@@ -262,19 +262,6 @@ dbClient
.to(randomAmount)
.set("RewardType")
.to("COINS")
- .set("TransactionSource")
- .to("LOADTEST")
- .set("TransactionStatus")
- .to("SUCCESS")
- .set("TransactionType")
- .to("Credit")
- .build());
- transaction.buffer(
- Mutation.newUpdateBuilder("user_bal")
- .set("UserId")
- .to(userId)
- .set("Balance")
- .to(balance + randomAmount)
.build());
}
);
@@ -284,12 +271,10 @@ dbClient
- txnId
randomAmount
-
- ${__UUID()}
+
${__Random(0000,9999)}
@@ -304,7 +289,7 @@ dbClient
1
ThroughputController.percentThroughput
- 24.06
+ 30.0
0.0
@@ -331,11 +316,37 @@ ResultSet result = dbClient
String responseHeader = "";
while (result.next()) {
- responseHeader += " Balance: " +result.getDouble("Balance");
}
result.close();
+
+
+
+
+ groovy
+
+
+ true
+ import com.google.cloud.spanner.*;
+import java.util.concurrent.TimeUnit;
+
+DatabaseClient dbClient = props.get("dbClient");
+
+String userId = vars.get("userId");
+String readBalanceSql = "Select Balance from user_bal where UserId = @userId";
+Statement stmt = Statement.newBuilder(readBalanceSql)
+ .bind("userId").to(userId)
+ .build();
+
+ResultSet result = dbClient
+ .singleUse(TimestampBound.ofExactStaleness(1, TimeUnit.SECONDS))
+ .executeQuery(stmt);
-SampleResult.setRequestHeaders(responseHeader);
+
+String responseHeader = "";
+while (result.next()) {
+}
+result.close();
+
@@ -345,7 +356,7 @@ SampleResult.setRequestHeaders(responseHeader);
1
ThroughputController.percentThroughput
- 63.16
+ 10.0
0.0
@@ -362,13 +373,13 @@ import com.google.cloud.Timestamp;
DatabaseClient dbClient = props.get("dbClient");
String userId = vars.get("userId");
-String txnId = vars.get("txnId");
+double randomAmount = 10.0;
Mutation mutation = Mutation.newUpdateBuilder("user_bal")
.set("UserId")
.to(userId)
- .set("StreakDay")
- .to(10)
+ .set("balance")
+ .to(randomAmount)
.build();
ArrayList<Mutation> mutations = new ArrayList<>();
@@ -385,7 +396,7 @@ SampleResult.setRequestHeaders(mutation.toString());
1
ThroughputController.percentThroughput
- 0.12
+ 30.0
0.0
@@ -396,28 +407,27 @@ SampleResult.setRequestHeaders(mutation.toString());
true
import com.google.cloud.spanner.*;
+import java.util.concurrent.TimeUnit;
DatabaseClient dbClient = props.get("dbClient");
String loadedTxnId = vars.get("loaded_txnId");
-String sql = "Select * from user_txns where transactionid = @loadedTxnId";
+String sql = "Select balance from user_txns where transactionid = @loadedTxnId limit 1";
Statement stmt = Statement.newBuilder(sql)
.bind("loadedTxnId")
.to(loadedTxnId)
.build();
ResultSet result = dbClient
- .singleUseReadOnlyTransaction()
- .executeQuery(stmt);
+ .singleUse(TimestampBound.ofExactStaleness(1, TimeUnit.SECONDS))
+ .executeQuery(stmt);
+
String responseHeader = "";
while (result.next()) {
- responseHeader += " Userid: " +result.getString(0);
}
-result.close();
-
-SampleResult.setRequestHeaders(responseHeader);
+result.close();
@@ -427,7 +437,7 @@ SampleResult.setRequestHeaders(responseHeader);
1
ThroughputController.percentThroughput
- 0.62
+ 20.0
0.0
@@ -438,10 +448,11 @@ SampleResult.setRequestHeaders(responseHeader);
true
import com.google.cloud.spanner.*;
+import java.util.concurrent.TimeUnit;
DatabaseClient dbClient = props.get("dbClient");
-String sql = "select * from user_txns where UserId= @user_id";
+String sql = "select userId from user_txns where UserId= @user_id limit 1";
String userId = vars.get("userId");
Statement stmt = Statement.newBuilder(sql)
@@ -450,20 +461,19 @@ Statement stmt = Statement.newBuilder(sql)
.build();
ResultSet result = dbClient
- .singleUseReadOnlyTransaction()
- .executeQuery(stmt);
+ .singleUse(TimestampBound.ofExactStaleness(1, TimeUnit.SECONDS))
+ .executeQuery(stmt);
+
String responseHeader = "";
while (result.next()) {
- responseHeader += " Userid: " +result.getString(0);
}
result.close();
-
-SampleResult.setRequestHeaders(responseHeader);
+
-
+