Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
fee64814
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 3 年多
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fee64814
编写于
7月 01, 2020
作者:
S
shiziyuan9527
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://github.com/metersphere/metersphere
上级
89aaf039
32ecb65c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
18 addition
and
4 deletion
+18
-4
backend/src/main/java/io/metersphere/performance/engine/EngineContext.java
...java/io/metersphere/performance/engine/EngineContext.java
+10
-0
backend/src/main/java/io/metersphere/performance/engine/EngineFactory.java
...java/io/metersphere/performance/engine/EngineFactory.java
+2
-1
backend/src/main/java/io/metersphere/performance/engine/docker/DockerTestEngine.java
...tersphere/performance/engine/docker/DockerTestEngine.java
+4
-3
backend/src/main/java/io/metersphere/performance/parse/xml/reader/jmx/JmeterDocumentParser.java
...erformance/parse/xml/reader/jmx/JmeterDocumentParser.java
+2
-0
未找到文件。
backend/src/main/java/io/metersphere/performance/engine/EngineContext.java
浏览文件 @
fee64814
...
...
@@ -13,6 +13,7 @@ public class EngineContext {
private
Long
threadNum
;
private
Long
startTime
;
private
String
reportId
;
private
Integer
resourceIndex
;
private
Map
<
String
,
Object
>
properties
=
new
HashMap
<>();
private
Map
<
String
,
String
>
testData
=
new
HashMap
<>();
private
Map
<
String
,
String
>
env
=
new
HashMap
<>();
...
...
@@ -116,4 +117,13 @@ public class EngineContext {
public
void
setReportId
(
String
reportId
)
{
this
.
reportId
=
reportId
;
}
public
Integer
getResourceIndex
()
{
return
resourceIndex
;
}
public
void
setResourceIndex
(
Integer
resourceIndex
)
{
this
.
resourceIndex
=
resourceIndex
;
}
}
backend/src/main/java/io/metersphere/performance/engine/EngineFactory.java
浏览文件 @
fee64814
...
...
@@ -52,7 +52,7 @@ public class EngineFactory {
return
null
;
}
public
static
EngineContext
createContext
(
LoadTestWithBLOBs
loadTest
,
String
resourceId
,
long
threadNum
,
long
startTime
,
String
reportId
)
throws
Exception
{
public
static
EngineContext
createContext
(
LoadTestWithBLOBs
loadTest
,
String
resourceId
,
long
threadNum
,
long
startTime
,
String
reportId
,
int
resourceIndex
)
{
final
List
<
FileMetadata
>
fileMetadataList
=
fileService
.
getFileMetadataByTestId
(
loadTest
.
getId
());
if
(
org
.
springframework
.
util
.
CollectionUtils
.
isEmpty
(
fileMetadataList
))
{
MSException
.
throwException
(
Translator
.
get
(
"run_load_test_file_not_found"
)
+
loadTest
.
getId
());
...
...
@@ -76,6 +76,7 @@ public class EngineFactory {
engineContext
.
setResourcePoolId
(
loadTest
.
getTestResourcePoolId
());
engineContext
.
setStartTime
(
startTime
);
engineContext
.
setReportId
(
reportId
);
engineContext
.
setResourceIndex
(
resourceIndex
);
HashMap
<
String
,
String
>
env
=
new
HashMap
<
String
,
String
>()
{{
put
(
"BOOTSTRAP_SERVERS"
,
kafkaProperties
.
getBootstrapServers
());
put
(
"LOG_TOPIC"
,
kafkaProperties
.
getLog
().
getTopic
());
...
...
backend/src/main/java/io/metersphere/performance/engine/docker/DockerTestEngine.java
浏览文件 @
fee64814
...
...
@@ -14,6 +14,7 @@ import io.metersphere.performance.engine.EngineContext;
import
io.metersphere.performance.engine.EngineFactory
;
import
io.metersphere.performance.engine.docker.request.TestRequest
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -55,16 +56,16 @@ public class DockerTestEngine extends AbstractEngine {
for
(
int
i
=
0
,
size
=
resourceList
.
size
();
i
<
size
;
i
++)
{
int
ratio
=
resourceRatio
.
get
(
i
);
double
realThreadNum
=
((
double
)
ratio
/
totalThreadNum
)
*
threadNum
;
runTest
(
resourceList
.
get
(
i
),
Math
.
round
(
realThreadNum
));
runTest
(
resourceList
.
get
(
i
),
Math
.
round
(
realThreadNum
)
,
i
);
}
}
private
void
runTest
(
TestResource
resource
,
long
realThreadNum
)
{
private
void
runTest
(
TestResource
resource
,
long
realThreadNum
,
int
resourceIndex
)
{
// todo 运行测试
EngineContext
context
=
null
;
try
{
context
=
EngineFactory
.
createContext
(
loadTest
,
resource
.
getId
(),
realThreadNum
,
this
.
getStartTime
(),
this
.
getReportId
());
context
=
EngineFactory
.
createContext
(
loadTest
,
resource
.
getId
(),
realThreadNum
,
this
.
getStartTime
(),
this
.
getReportId
()
,
resourceIndex
);
}
catch
(
Exception
e
)
{
MSException
.
throwException
(
e
);
}
...
...
backend/src/main/java/io/metersphere/performance/parse/xml/reader/jmx/JmeterDocumentParser.java
浏览文件 @
fee64814
...
...
@@ -800,6 +800,8 @@ public class JmeterDocumentParser implements DocumentParser {
}
private
void
processConcurrencyThreadGroup
(
Element
concurrencyThreadGroup
)
{
String
testname
=
concurrencyThreadGroup
.
getAttribute
(
"testname"
);
concurrencyThreadGroup
.
setAttribute
(
"testname"
,
testname
+
"-"
+
context
.
getResourceIndex
());
if
(
concurrencyThreadGroup
.
getChildNodes
().
getLength
()
>
0
)
{
final
NodeList
childNodes
=
concurrencyThreadGroup
.
getChildNodes
();
for
(
int
i
=
0
;
i
<
childNodes
.
getLength
();
i
++)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录