Skip to content

Commit 9ae5536

Browse files
authored
enhance jmeter variables (#24)
1 parent e68ec85 commit 9ae5536

File tree

3 files changed

+45
-32
lines changed

3 files changed

+45
-32
lines changed

ldbc/jmx/go_step.jmx

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
88
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
99
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
10-
<collectionProp name="Arguments.arguments"/>
10+
<collectionProp name="Arguments.arguments" />
1111
</elementProp>
1212
<stringProp name="TestPlan.user_define_classpath"></stringProp>
1313
</TestPlan>
@@ -18,54 +18,55 @@
1818
<boolProp name="LoopController.continue_forever">false</boolProp>
1919
<stringProp name="LoopController.loops">-1</stringProp>
2020
</elementProp>
21-
<stringProp name="ThreadGroup.num_threads">{nums}</stringProp>
21+
<stringProp name="ThreadGroup.num_threads">{nums}</stringProp>
2222
<stringProp name="ThreadGroup.ramp_time">0</stringProp>
2323
<boolProp name="ThreadGroup.scheduler">true</boolProp>
24-
<stringProp name="ThreadGroup.duration">{duration}</stringProp>
24+
<stringProp name="ThreadGroup.duration">{duration}</stringProp>
2525
<stringProp name="ThreadGroup.delay"></stringProp>
2626
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
2727
</ThreadGroup>
2828
<hashTree>
2929
<JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java Request" enabled="true">
3030
<elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
31-
<collectionProp name="Arguments.arguments">
32-
<elementProp name="hosts" elementType="Argument">
31+
<collectionProp name="Arguments.arguments">
32+
<elementProp name="hosts" elementType="Argument">
3333
<stringProp name="Argument.name">hosts</stringProp>
34-
<stringProp name="Argument.value"></stringProp>
34+
<stringProp name="Argument.value">{hosts}</stringProp>
3535
<stringProp name="Argument.metadata">=</stringProp>
36-
</elementProp>
37-
<elementProp name="maxconn" elementType="Argument">
36+
</elementProp>
37+
<elementProp name="maxconn" elementType="Argument">
3838
<stringProp name="Argument.name">maxconn</stringProp>
3939
<stringProp name="Argument.value">10</stringProp>
4040
<stringProp name="Argument.metadata">=</stringProp>
41-
</elementProp>
42-
<elementProp name="user" elementType="Argument">
41+
</elementProp>
42+
<elementProp name="user" elementType="Argument">
4343
<stringProp name="Argument.name">user</stringProp>
44-
<stringProp name="Argument.value"></stringProp>
44+
<stringProp name="Argument.value">{user}</stringProp>
4545
<stringProp name="Argument.metadata">=</stringProp>
46-
</elementProp>
46+
</elementProp>
4747
<elementProp name="pwd" elementType="Argument">
4848
<stringProp name="Argument.name">pwd</stringProp>
49-
<stringProp name="Argument.value"></stringProp>
49+
<stringProp name="Argument.value">{pwd}</stringProp>
5050
<stringProp name="Argument.metadata">=</stringProp>
5151
</elementProp>
52-
<elementProp name="var2" elementType="Argument">
52+
<elementProp name="space" elementType="Argument">
5353
<stringProp name="Argument.name">space</stringProp>
54-
<stringProp name="Argument.value">ldbc</stringProp>
54+
<stringProp name="Argument.value">{space}</stringProp>
5555
<stringProp name="Argument.metadata">=</stringProp>
5656
</elementProp>
5757

58-
<elementProp name="person" elementType="Argument">
59-
<stringProp name="Argument.name">person</stringProp>
60-
<stringProp name="Argument.value">${person}</stringProp>
58+
<elementProp name="var2" elementType="Argument">
59+
<stringProp name="Argument.name">var2</stringProp>
60+
<stringProp name="Argument.value">${c2}</stringProp>
6161
<stringProp name="Argument.metadata">=</stringProp>
6262
</elementProp>
63+
6364
<elementProp name="nGQL" elementType="Argument">
6465
<stringProp name="Argument.name">nGQL</stringProp>
65-
<stringProp name="Argument.value">GO 3 STEP FROM "replace" OVER knows</stringProp>
66+
<stringProp name="Argument.value">GO 3 STEP FROM var2 OVER knows</stringProp>
6667
<stringProp name="Argument.metadata">=</stringProp>
6768
</elementProp>
68-
</collectionProp>
69+
</collectionProp>
6970

7071
</elementProp>
7172
<stringProp name="classname">com.vesoft.LdbcGoStep</stringProp>
@@ -80,11 +81,12 @@
8081
<boolProp name="recycle">true</boolProp>
8182
<stringProp name="shareMode">shareMode.all</stringProp>
8283
<boolProp name="stopThread">false</boolProp>
83-
<stringProp name="variableNames">var1,person,var3,var4,var5,var6,var7,var8</stringProp>
84-
</CSVDataSet>`
85-
<hashTree/>
84+
<stringProp name="variableNames">c1,c2,c3,c4,c5,c6,c7,c8</stringProp>
85+
</CSVDataSet>
86+
87+
<hashTree />
8688
</hashTree>
8789
</hashTree>
8890
</hashTree>
8991
</hashTree>
90-
</jmeterTestPlan>
92+
</jmeterTestPlan>

util/LdbcGoStep/pom.xml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
32
<modelVersion>4.0.0</modelVersion>
43
<groupId>com.vesoft</groupId>
54
<artifactId>LdbcGoStep</artifactId>
@@ -21,7 +20,7 @@
2120
<dependency>
2221
<groupId>com.vesoft</groupId>
2322
<artifactId>client</artifactId>
24-
<version>2.0.0</version>
23+
<version>2.0.0-SNAPSHOT</version>
2524

2625
</dependency>
2726
<dependency>
@@ -49,6 +48,13 @@
4948
<scope>compile</scope>
5049
</dependency>
5150
</dependencies>
51+
52+
<repositories>
53+
<repository>
54+
<id>snapshots</id>
55+
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
56+
</repository>
57+
</repositories>
5258
<build>
5359
<plugins>
5460
<!-- Maven Assembly Plugin -->
@@ -80,4 +86,4 @@
8086
</plugin>
8187
</plugins>
8288
</build>
83-
</project>
89+
</project>

util/LdbcGoStep/src/main/java/vesoft/LdbcGoStep.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class LdbcGoStep extends AbstractJavaSamplerClient {
3131
private final Logger log = getNewLogger();
3232
private NebulaPool pool = null;
3333
private Session session = null;
34+
private Integer maxVars = 20;
3435

3536

3637
@Override
@@ -100,8 +101,7 @@ public void setupTest(JavaSamplerContext javaSamplerContext) {
100101
ResultSet resp = null;
101102
resp = session.execute(use_space);
102103
if (!resp.isSucceeded()) {
103-
System.out.println("Switch space failed:" + space);
104-
104+
System.out.println("Switch space failed:" + space + "\nError is " + resp.getErrorMessage());
105105
System.exit(1);
106106
}
107107
} else {
@@ -126,9 +126,14 @@ public void setupTest(JavaSamplerContext javaSamplerContext) {
126126

127127
@Override
128128
public SampleResult runTest(JavaSamplerContext javaSamplerContext) {
129-
String person = javaSamplerContext.getParameter("person");
130129
String nGQL = javaSamplerContext.getParameter("nGQL");
131-
nGQL = nGQL.replace("replace", person);
130+
for (int i=0;i<maxVars;i++){
131+
String var = "var" + String.valueOf(i);
132+
String value = javaSamplerContext.getParameter(var);
133+
if (value != null){
134+
nGQL = nGQL.replace(var, value);
135+
}
136+
}
132137
ResultSet resp = null;
133138
long stamp = System.currentTimeMillis();
134139
long startTime = System.nanoTime();

0 commit comments

Comments
 (0)