Skip to content
Snippets Groups Projects
Commit 1c82671b authored by Krzysztof Mochocki's avatar Krzysztof Mochocki
Browse files

Refactor file structure of apis

parent 262a195e
No related branches found
No related tags found
1 merge request!251Add and refactor input files for benchmarking
...@@ -143,9 +143,7 @@ api = {API_NAME} ...@@ -143,9 +143,7 @@ api = {API_NAME}
TEST_DIR_PATH = ROOT_DIR / 'benchmarks' TEST_DIR_PATH = ROOT_DIR / 'benchmarks'
PERFORMANCE_DATA_DIR_PATH = TEST_DIR_PATH / 'performance_data' / API_NAME PERFORMANCE_DATA_DIR_PATH = TEST_DIR_PATH / 'performance_data' / API_NAME
CSV_DIR_PATH = PERFORMANCE_DATA_DIR_PATH / 'CSV' CSV_DIR_PATH = PERFORMANCE_DATA_DIR_PATH / 'CSV'
JMX_DIR_PATH = PERFORMANCE_DATA_DIR_PATH / 'JMX' JMX_PATH = PERFORMANCE_DATA_DIR_PATH / 'config.jmx.in'
PERF_JMX_CONFIG = JMX_DIR_PATH / 'performance.jmx.in'
CL_JMX_CONFIG = JMX_DIR_PATH / 'constant_load.jmx.in'
HAFAH_MAIN = ROOT_DIR / 'main.py' HAFAH_MAIN = ROOT_DIR / 'main.py'
# datadir paths # datadir paths
...@@ -176,7 +174,6 @@ if args.list_csv: ...@@ -176,7 +174,6 @@ if args.list_csv:
# config # config
CSV_MODE : CSV.MODE = AVAILA_CSV[CSV_FILENAME][1] CSV_MODE : CSV.MODE = AVAILA_CSV[CSV_FILENAME][1]
CSV_PATH : Path = AVAILA_CSV[CSV_FILENAME][0] CSV_PATH : Path = AVAILA_CSV[CSV_FILENAME][0]
JMX_PATH = PERF_JMX_CONFIG if CSV_MODE == CSV.MODE.PERF else CL_JMX_CONFIG
# calculating loop count # calculating loop count
if LOOP_COUNT is None: if LOOP_COUNT is None:
......
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.4.1">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="constant load" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
<boolProp name="TestPlan.functional_mode">false</boolProp>
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="TestPlan.user_define_classpath"></stringProp>
</TestPlan>
<hashTree>
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="spam group" 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>
<stringProp name="LoopController.loops">${LOOP_COUNT}</stringProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">${THREADS}</stringProp>
<stringProp name="ThreadGroup.ramp_time">0</stringProp>
<boolProp name="ThreadGroup.scheduler">false</boolProp>
<stringProp name="ThreadGroup.duration"></stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>
<hashTree>
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="If old style" enabled="true">
<stringProp name="IfController.condition">&quot;${CALL_STYLE}&quot; == &quot;old-style&quot;</stringProp>
<boolProp name="IfController.evaluateAll">false</boolProp>
</IfController>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="${endpoint}" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">${body}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.port"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp>
<stringProp name="HTTPSampler.path"></stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">false</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>
<hashTree/>
</hashTree>
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="If new style" enabled="true">
<stringProp name="IfController.condition">&quot;${CALL_STYLE}&quot; == &quot;new-style&quot;</stringProp>
<boolProp name="IfController.evaluateAll">false</boolProp>
</IfController>
<hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="${endpoint}" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments">
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">${body}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain"></stringProp>
<stringProp name="HTTPSampler.port"></stringProp>
<stringProp name="HTTPSampler.protocol"></stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp>
<stringProp name="HTTPSampler.path">rpc/${endpoint}</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">false</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">false</boolProp>
<boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
<stringProp name="HTTPSampler.embedded_url_re"></stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
</HTTPSamplerProxy>
<hashTree/>
</hashTree>
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="If postgres" enabled="true">
<stringProp name="IfController.condition">&quot;${CALL_STYLE}&quot; == &quot;postgres&quot;</stringProp>
<boolProp name="IfController.evaluateAll">false</boolProp>
</IfController>
<hashTree>
<JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler" testname="${endpoint}" enabled="true">
<stringProp name="dataSource">psql</stringProp>
<stringProp name="query">${body}</stringProp>
<stringProp name="queryArguments"></stringProp>
<stringProp name="queryArgumentsTypes"></stringProp>
<stringProp name="queryTimeout"></stringProp>
<stringProp name="queryType">Select Statement</stringProp>
<stringProp name="resultSetHandler">Count Records</stringProp>
<stringProp name="resultSetMaxRows"></stringProp>
<stringProp name="resultVariable"></stringProp>
<stringProp name="variableNames"></stringProp>
</JDBCSampler>
<hashTree/>
</hashTree>
</hashTree>
<JDBCDataSource guiclass="TestBeanGUI" testclass="JDBCDataSource" testname="postgres config" enabled="true">
<boolProp name="autocommit">false</boolProp>
<stringProp name="checkQuery"></stringProp>
<stringProp name="connectionAge">5000</stringProp>
<stringProp name="connectionProperties"></stringProp>
<stringProp name="dataSource">psql</stringProp>
<stringProp name="dbUrl">jdbc:${PSQL_CONN_STR}</stringProp>
<stringProp name="driver">org.postgresql.Driver</stringProp>
<stringProp name="initQuery"></stringProp>
<boolProp name="keepAlive">true</boolProp>
<stringProp name="password"></stringProp>
<stringProp name="poolMax">10</stringProp>
<boolProp name="preinit">true</boolProp>
<stringProp name="timeout">10000</stringProp>
<stringProp name="transactionIsolation">DEFAULT</stringProp>
<stringProp name="trimInterval">60000</stringProp>
<stringProp name="username"></stringProp>
</JDBCDataSource>
<hashTree/>
<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="header manager" enabled="true">
<collectionProp name="HeaderManager.headers">
<elementProp name="Content-Type" elementType="Header">
<stringProp name="Header.name">Content-Type</stringProp>
<stringProp name="Header.value">application/json</stringProp>
</elementProp>
<elementProp name="Connection" elementType="Header">
<stringProp name="Header.name">Connection</stringProp>
<stringProp name="Header.value">Keep-Alive</stringProp>
</elementProp>
<elementProp name="Keep-Alive" elementType="Header">
<stringProp name="Header.name">Keep-Alive</stringProp>
<stringProp name="Header.value">timeout=5, max=10000</stringProp>
</elementProp>
</collectionProp>
</HeaderManager>
<hashTree/>
<ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="http config" enabled="true">
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="HTTPSampler.domain">${HOST}</stringProp>
<stringProp name="HTTPSampler.port">${PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.contentEncoding">utf-8</stringProp>
<stringProp name="HTTPSampler.path"></stringProp>
<stringProp name="HTTPSampler.concurrentPool">6</stringProp>
<stringProp name="HTTPSampler.connect_timeout"></stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
</ConfigTestElement>
<hashTree/>
<CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="csv" enabled="true">
<stringProp name="delimiter">|</stringProp>
<stringProp name="fileEncoding">UTF-8</stringProp>
<stringProp name="filename">${DATASET}</stringProp>
<boolProp name="ignoreFirstLine">false</boolProp>
<boolProp name="quotedData">false</boolProp>
<boolProp name="recycle">true</boolProp>
<stringProp name="shareMode">shareMode.all</stringProp>
<boolProp name="stopThread">false</boolProp>
<stringProp name="variableNames">endpoint,body</stringProp>
</CSVDataSet>
<hashTree/>
<Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="config" enabled="true">
<collectionProp name="Arguments.arguments">
<elementProp name="PORT" elementType="Argument">
<stringProp name="Argument.name">PORT</stringProp>
<stringProp name="Argument.value">${__P(port, 8090)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="HOST" elementType="Argument">
<stringProp name="Argument.name">HOST</stringProp>
<stringProp name="Argument.value">${__P(host, localhost)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="DATASET" elementType="Argument">
<stringProp name="Argument.name">DATASET</stringProp>
<stringProp name="Argument.value">${__P(dataset)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="THREADS" elementType="Argument">
<stringProp name="Argument.name">THREADS</stringProp>
<stringProp name="Argument.value">${__P(threads, 10)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="PSQL_CONN_STR" elementType="Argument">
<stringProp name="Argument.name">PSQL_CONN_STR</stringProp>
<stringProp name="Argument.value">${__P(psql, postgresql:///haf_block_log)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="CALL_STYLE" elementType="Argument">
<stringProp name="Argument.name">CALL_STYLE</stringProp>
<stringProp name="Argument.value">${__P(call_style, old-style)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="LOOP_COUNT" elementType="Argument">
<stringProp name="Argument.name">LOOP_COUNT</stringProp>
<stringProp name="Argument.value">${__P(loop_count, -1)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
</Arguments>
<hashTree/>
</hashTree>
</hashTree>
</jmeterTestPlan>
2022-08-04 11:04:47,593 INFO o.a.j.u.JMeterUtils: Setting Locale to en_EN
2022-08-04 11:04:47,614 INFO o.a.j.JMeter: Loading user properties from: /home/kmochocki/Downloads/apache-jmeter-5.4.1/bin/user.properties
2022-08-04 11:04:47,615 INFO o.a.j.JMeter: Loading system properties from: /home/kmochocki/Downloads/apache-jmeter-5.4.1/bin/system.properties
2022-08-04 11:04:47,620 INFO o.a.j.JMeter: Copyright (c) 1998-2021 The Apache Software Foundation
2022-08-04 11:04:47,620 INFO o.a.j.JMeter: Version 5.4.1
2022-08-04 11:04:47,620 INFO o.a.j.JMeter: java.version=11.0.15
2022-08-04 11:04:47,620 INFO o.a.j.JMeter: java.vm.name=OpenJDK 64-Bit Server VM
2022-08-04 11:04:47,620 INFO o.a.j.JMeter: os.name=Linux
2022-08-04 11:04:47,620 INFO o.a.j.JMeter: os.arch=amd64
2022-08-04 11:04:47,621 INFO o.a.j.JMeter: os.version=5.4.0-122-generic
2022-08-04 11:04:47,621 INFO o.a.j.JMeter: file.encoding=UTF-8
2022-08-04 11:04:47,621 INFO o.a.j.JMeter: java.awt.headless=null
2022-08-04 11:04:47,621 INFO o.a.j.JMeter: Max memory =4294967296
2022-08-04 11:04:47,621 INFO o.a.j.JMeter: Available Processors =12
2022-08-04 11:04:47,628 INFO o.a.j.JMeter: Default Locale=English (EN)
2022-08-04 11:04:47,628 INFO o.a.j.JMeter: JMeter Locale=English (EN)
2022-08-04 11:04:47,628 INFO o.a.j.JMeter: JMeterHome=/home/kmochocki/Downloads/apache-jmeter-5.4.1
2022-08-04 11:04:47,628 INFO o.a.j.JMeter: user.dir =/home/kmochocki/hive/hive/tests/tests_api/benchmarks/performance_data/blocks_api
2022-08-04 11:04:47,628 INFO o.a.j.JMeter: PWD =/home/kmochocki/hive/hive/tests/tests_api/benchmarks/performance_data/blocks_api
2022-08-04 11:04:47,629 INFO o.a.j.JMeter: IP: 127.0.1.1 Name: Papuga FullName: Papuga
2022-08-04 11:04:48,150 INFO o.a.j.JMeter: Setting LAF to: com.github.weisj.darklaf.DarkLaf:com.github.weisj.darklaf.theme.DarculaTheme
2022-08-04 11:04:48,615 INFO o.a.j.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties
2022-08-04 11:04:49,925 INFO o.a.j.JMeter: Loading file: JMX/constant_load.jmx.in
2022-08-04 11:04:49,928 INFO o.a.j.s.FileServer: Default base='/home/kmochocki/hive/hive/tests/tests_api/benchmarks/performance_data/blocks_api'
2022-08-04 11:04:49,928 INFO o.a.j.s.FileServer: Set new base='/home/kmochocki/hive/hive/tests/tests_api/benchmarks/performance_data/blocks_api/JMX'
2022-08-04 11:04:50,075 INFO o.a.j.s.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL) version: 2.2
2022-08-04 11:04:50,094 INFO o.a.j.s.SaveService: Using SaveService properties version 5.0
2022-08-04 11:04:50,096 INFO o.a.j.s.SaveService: Using SaveService properties file encoding UTF-8
2022-08-04 11:04:50,098 INFO o.a.j.s.SaveService: Loading file: JMX/constant_load.jmx.in
2022-08-04 11:04:50,255 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2022-08-04 11:04:50,255 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2022-08-04 11:04:50,255 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2022-08-04 11:04:50,255 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2022-08-04 11:04:50,255 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
2022-08-04 11:04:50,255 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser
2022-08-04 11:04:50,271 INFO o.a.j.s.FileServer: Set new base='/home/kmochocki/hive/hive/tests/tests_api/benchmarks/performance_data/blocks_api/JMX'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment