diff options
author | earrage <eddie.arrage@huawei.com> | 2018-11-02 14:40:55 -0700 |
---|---|---|
committer | earrage <eddie.arrage@huawei.com> | 2018-11-02 14:49:32 -0700 |
commit | ad43226c30daec6b5d4a1379650994427361a3f8 (patch) | |
tree | 50909ef4eb5a98f5b611cbfe6e38ff9ee91ae08a /clover/controller | |
parent | 9bdb6dc9353992219721acba6b9c4576dbb38ece (diff) |
Add minor enhancements to jmeter configuration
- Add user-agent field to jmeter config yaml and jmeter jmx
template that can be configured per URL in testplan
- Add duration time that can be used in combination with
ramp time. Duration is the total time of the test while
ramp time governs how much time is allotted to establish
all configured requests/connections
- Explicitly define clover-jmeter-master service name with
default namespace for clover-controller in clover-system
namespace to reach
- Add missing request_counts.html file
Change-Id: I5e2d388db0b73ea6c28482c94c33cc2a01f1b52e
Signed-off-by: earrage <eddie.arrage@huawei.com>
Diffstat (limited to 'clover/controller')
-rw-r--r-- | clover/controller/control/api/jmeter.py | 9 | ||||
-rw-r--r-- | clover/controller/control/templates/request_counts.html | 21 |
2 files changed, 28 insertions, 2 deletions
diff --git a/clover/controller/control/api/jmeter.py b/clover/controller/control/api/jmeter.py index 09625f5..3e8b86a 100644 --- a/clover/controller/control/api/jmeter.py +++ b/clover/controller/control/api/jmeter.py @@ -16,29 +16,34 @@ import logging jmeter = Blueprint('jmeter', __name__) grpc_port = '50054' -pod_name = 'clover-jmeter-master' +pod_name = 'clover-jmeter-master.default' jmeter_grpc = pod_name + ':' + grpc_port channel = grpc.insecure_channel(jmeter_grpc) stub = jmeter_pb2_grpc.ControllerStub(channel) @jmeter.route("/jmeter/gen", methods=['GET', 'POST']) +@jmeter.route("/jmeter/create", methods=['GET', 'POST']) def gentest(): try: p = request.json u_list = [] u_names = [] u_methods = [] + u_agents = [] try: for u in p['url_list']: u_list.append(u['url']) u_names.append(u['name']) u_methods.append(u['method']) + u_agents.append(u['user-agent']) url_list = pickle.dumps(u_list) url_names = pickle.dumps(u_names) url_methods = pickle.dumps(u_methods) + url_agents = pickle.dumps(u_agents) num_threads = p['load_spec']['num_threads'] ramp_time = p['load_spec']['ramp_time'] + duration = p['load_spec']['duration'] loops = p['load_spec']['loops'] except (KeyError, ValueError) as e: logging.debug(e) @@ -46,7 +51,7 @@ def gentest(): response = stub.GenTest(jmeter_pb2.ConfigJmeter( url_list=url_list, url_names=url_names, url_methods=url_methods, num_threads=str(num_threads), ramp_time=str(ramp_time), - loops=str(loops))) + url_agents=url_agents, duration=str(duration), loops=str(loops))) except Exception as e: logging.debug(e) if e.__class__.__name__ == "_Rendezvous": diff --git a/clover/controller/control/templates/request_counts.html b/clover/controller/control/templates/request_counts.html new file mode 100644 index 0000000..ecf458a --- /dev/null +++ b/clover/controller/control/templates/request_counts.html @@ -0,0 +1,21 @@ +<div class="large-4 medium-3 cell clover-portlet small-offset-2"> + <h5>Per Service Counts</h5> + <div class="span_node_id_all"> + </div> +</div> +<div class="large-4 medium-3 cell clover-portlet"> + <h5>Per URL Counts (all services)</h5> + <div class="span_urls_all"> + </div> +</div> + +<div class="large-4 medium-3 cell clover-portlet small-offset-2"> + <h5>Per URL / HTTP Status Codes (all services)</h5> + <div class="status_codes_all"> + </div> +</div> +<div class="large-4 medium-3 cell clover-portlet"> + <h5>User-Agent Percentage</h5> + <div class="span_user_agents_all" id="span_user_agents_all"> + </div> +</div> |