Git Product home page Git Product logo

redis-load-test's Introduction

Redis Performance Testing - A OpsTree utility to test load on Redis

This main goal of creating this utility is to provide easy and fast performance testing for Redis.

Dependencies

The list of dependencies are not quite long but yes we do have some dependencies.

System Dependencies

  • python3

Python Dependencies

  • locust
  • json
  • argparse
  • redis

Don't worry we have taken care the python dependencies in requirments.txt

Overview of Utility Structure

In this repository we have:-

  • Scripts:- Scripts folder contains all the codebase which is required for performance testing.

    • redis_set.py:- This script is used to set random keys in Redis.
    • redis_read.py:- This script is used to perform GET action on Redis.
    • redis_get_set.py: This script is used to perform SET and GET operation simultaneously on Redis.
    • redis.json:- This is a json file in which we have to define our connection details of Redis. I created this file because I believe that code should not be changed.
  • Results:- This is a directory in which I am dumping some of my test results.

You may need to install python3 manually, for other things you can use requirments.txt

cd Scripts
pip3 install -r requirments.txt

Usage

The use of this utility is not a fancy thing, just need to update the redis.json with your redis connection details. Content of file should be like this:-

{
    "redis_host": "18.215.118.208",
    "redis_port": "6379",
    "redis_password": ""
}

For SET Operation in Redis

./redis_set.py --filepath redis.json

For GET Operation in Redis

locust -f redis_read.py

For GET and SET simultaneously operation in Redis

locust -f redis_get_set.py

redis-load-test's People

Contributors

hedrickbt avatar iamabhishek-dubey avatar leny1996 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

redis-load-test's Issues

Locust failing with "failed with TemplateAssertionError"

I wanted to load test redis and found https://iamabhishek-dubey.medium.com/redis-load-testing-d99f81e97842

Locust starts successfully after running ./start.sh but when I open browser at http://localhost:8089/ it displays "Internal Server Error". Backend logs say something about "failed with TemplateAssertionError".

  • Ubuntu 20.04.4 LTS (running on Windows Linux Subsystem)
  • Python 3.8.10
  • pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
  • locust 2.8.6

Any ideas what is causing the error and how to make the utility work? Stack traces below.

====================

Traceback (most recent call last):
File "/home/user/.local/lib/python3.8/site-packages/gevent/pywsgi.py", line 999, in handle_one_response
self.run_application()
File "/home/user/.local/lib/python3.8/site-packages/gevent/pywsgi.py", line 945, in run_application
self.result = self.application(self.environ, self.start_response)
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2095, in call
return self.wsgi_app(environ, start_response)
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2080, in wsgi_app
response = self.handle_exception(e)
File "/home/user/.local/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2077, in wsgi_app
response = self.full_dispatch_request()
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1525, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/user/.local/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1523, in full_dispatch_request
rv = self.dispatch_request()
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1509, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "/home/user/.local/lib/python3.8/site-packages/locust/web.py", line 399, in wrapper
return view_func(*args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/locust/web.py", line 135, in index
return render_template("index.html", **self.template_args)
File "/home/user/.local/lib/python3.8/site-packages/flask/templating.py", line 149, in render_template
ctx.app.jinja_env.get_or_select_template(template_name_or_list),
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 869, in get_or_select_template
return self.get_template(template_name_or_list, parent, globals)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 830, in get_template
return self._load_template(name, self.make_globals(globals))
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 804, in _load_template
template = self.loader.load(self, name, globals)
File "/usr/lib/python3/dist-packages/jinja2/loaders.py", line 125, in load
code = environment.compile(source, name, filename)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 591, in compile
self.handle_exception(exc_info, source_hint=source_hint)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/home/user/.local/lib/python3.8/site-packages/locust/templates/index.html", line 85, in
{% if not ((value is none) or (value is boolean)) %}
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 542, in _generate
return generate(source, self, name, filename, defer_init=defer_init,
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 82, in generate
generator.visit(node)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 754, in visit_Template
self.blockvisit(node.body, frame)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 378, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1122, in visit_For
self.blockvisit(node.body, loop_frame)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 378, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1157, in visit_If
self.visit(node.test, if_frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1497, in visitor
self.visit(node.node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1484, in visitor
self.visit(node.right, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1607, in visit_Test
self.fail('no test named %r' % node.name, node.lineno)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 315, in fail
raise TemplateAssertionError(msg, lineno, self.name, self.filename)
jinja2.exceptions.TemplateAssertionError: no test named 'boolean'
2022-05-11T12:10:35Z {'REMOTE_ADDR': '::1', 'REMOTE_PORT': '48516', 'HTTP_HOST': 'localhost:8089', (hidden keys: 32)} failed with TemplateAssertionError

Traceback (most recent call last):
File "/home/user/.local/lib/python3.8/site-packages/gevent/pywsgi.py", line 999, in handle_one_response
self.run_application()
File "/home/user/.local/lib/python3.8/site-packages/gevent/pywsgi.py", line 945, in run_application
self.result = self.application(self.environ, self.start_response)
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2095, in call
return self.wsgi_app(environ, start_response)
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2080, in wsgi_app
response = self.handle_exception(e)
File "/home/user/.local/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2077, in wsgi_app
response = self.full_dispatch_request()
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1525, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/user/.local/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1523, in full_dispatch_request
rv = self.dispatch_request()
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1509, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "/home/user/.local/lib/python3.8/site-packages/locust/web.py", line 399, in wrapper
return view_func(*args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/locust/web.py", line 135, in index
return render_template("index.html", **self.template_args)
File "/home/user/.local/lib/python3.8/site-packages/flask/templating.py", line 149, in render_template
ctx.app.jinja_env.get_or_select_template(template_name_or_list),
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 869, in get_or_select_template
return self.get_template(template_name_or_list, parent, globals)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 830, in get_template
return self._load_template(name, self.make_globals(globals))
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 804, in _load_template
template = self.loader.load(self, name, globals)
File "/usr/lib/python3/dist-packages/jinja2/loaders.py", line 125, in load
code = environment.compile(source, name, filename)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 591, in compile
self.handle_exception(exc_info, source_hint=source_hint)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/home/user/.local/lib/python3.8/site-packages/locust/templates/index.html", line 85, in
{% if not ((value is none) or (value is boolean)) %}
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 542, in _generate
return generate(source, self, name, filename, defer_init=defer_init,
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 82, in generate
generator.visit(node)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 754, in visit_Template
self.blockvisit(node.body, frame)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 378, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1122, in visit_For
self.blockvisit(node.body, loop_frame)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 378, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1157, in visit_If
self.visit(node.test, if_frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1497, in visitor
self.visit(node.node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1484, in visitor
self.visit(node.right, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1607, in visit_Test
self.fail('no test named %r' % node.name, node.lineno)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 315, in fail
raise TemplateAssertionError(msg, lineno, self.name, self.filename)
jinja2.exceptions.TemplateAssertionError: no test named 'boolean'
2022-05-11T12:10:38Z {'REMOTE_ADDR': '::1', 'REMOTE_PORT': '48518', 'HTTP_HOST': 'localhost:8089', (hidden keys: 33)} failed with TemplateAssertionError

Traceback (most recent call last):
File "/home/user/.local/lib/python3.8/site-packages/gevent/pywsgi.py", line 999, in handle_one_response
self.run_application()
File "/home/user/.local/lib/python3.8/site-packages/gevent/pywsgi.py", line 945, in run_application
self.result = self.application(self.environ, self.start_response)
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2095, in call
return self.wsgi_app(environ, start_response)
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2080, in wsgi_app
response = self.handle_exception(e)
File "/home/user/.local/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2077, in wsgi_app
response = self.full_dispatch_request()
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1525, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/user/.local/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1523, in full_dispatch_request
rv = self.dispatch_request()
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1509, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "/home/user/.local/lib/python3.8/site-packages/locust/web.py", line 399, in wrapper
return view_func(*args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/locust/web.py", line 135, in index
return render_template("index.html", **self.template_args)
File "/home/user/.local/lib/python3.8/site-packages/flask/templating.py", line 149, in render_template
ctx.app.jinja_env.get_or_select_template(template_name_or_list),
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 869, in get_or_select_template
return self.get_template(template_name_or_list, parent, globals)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 830, in get_template
return self._load_template(name, self.make_globals(globals))
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 804, in _load_template
template = self.loader.load(self, name, globals)
File "/usr/lib/python3/dist-packages/jinja2/loaders.py", line 125, in load
code = environment.compile(source, name, filename)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 591, in compile
self.handle_exception(exc_info, source_hint=source_hint)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/home/user/.local/lib/python3.8/site-packages/locust/templates/index.html", line 85, in
{% if not ((value is none) or (value is boolean)) %}
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 542, in _generate
return generate(source, self, name, filename, defer_init=defer_init,
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 82, in generate
generator.visit(node)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 754, in visit_Template
self.blockvisit(node.body, frame)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 378, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1122, in visit_For
self.blockvisit(node.body, loop_frame)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 378, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1157, in visit_If
self.visit(node.test, if_frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1497, in visitor
self.visit(node.node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1484, in visitor
self.visit(node.right, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1607, in visit_Test
self.fail('no test named %r' % node.name, node.lineno)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 315, in fail
raise TemplateAssertionError(msg, lineno, self.name, self.filename)
jinja2.exceptions.TemplateAssertionError: no test named 'boolean'
2022-05-11T12:10:38Z {'REMOTE_ADDR': '::1', 'REMOTE_PORT': '48520', 'HTTP_HOST': 'localhost:8089', (hidden keys: 33)} failed with TemplateAssertionError

Traceback (most recent call last):
File "/home/user/.local/lib/python3.8/site-packages/gevent/pywsgi.py", line 999, in handle_one_response
self.run_application()
File "/home/user/.local/lib/python3.8/site-packages/gevent/pywsgi.py", line 945, in run_application
self.result = self.application(self.environ, self.start_response)
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2095, in call
return self.wsgi_app(environ, start_response)
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2080, in wsgi_app
response = self.handle_exception(e)
File "/home/user/.local/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 2077, in wsgi_app
response = self.full_dispatch_request()
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1525, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/user/.local/lib/python3.8/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1523, in full_dispatch_request
rv = self.dispatch_request()
File "/home/user/.local/lib/python3.8/site-packages/flask/app.py", line 1509, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "/home/user/.local/lib/python3.8/site-packages/locust/web.py", line 399, in wrapper
return view_func(*args, **kwargs)
File "/home/user/.local/lib/python3.8/site-packages/locust/web.py", line 135, in index
return render_template("index.html", **self.template_args)
File "/home/user/.local/lib/python3.8/site-packages/flask/templating.py", line 149, in render_template
ctx.app.jinja_env.get_or_select_template(template_name_or_list),
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 869, in get_or_select_template
return self.get_template(template_name_or_list, parent, globals)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 830, in get_template
return self._load_template(name, self.make_globals(globals))
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 804, in _load_template
template = self.loader.load(self, name, globals)
File "/usr/lib/python3/dist-packages/jinja2/loaders.py", line 125, in load
code = environment.compile(source, name, filename)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 591, in compile
self.handle_exception(exc_info, source_hint=source_hint)
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/home/user/.local/lib/python3.8/site-packages/locust/templates/index.html", line 85, in
{% if not ((value is none) or (value is boolean)) %}
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 542, in _generate
return generate(source, self, name, filename, defer_init=defer_init,
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 82, in generate
generator.visit(node)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 754, in visit_Template
self.blockvisit(node.body, frame)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 378, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1122, in visit_For
self.blockvisit(node.body, loop_frame)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 378, in blockvisit
self.visit(node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1157, in visit_If
self.visit(node.test, if_frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1497, in visitor
self.visit(node.node, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1484, in visitor
self.visit(node.right, frame)
File "/usr/lib/python3/dist-packages/jinja2/visitor.py", line 38, in visit
return f(node, *args, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 70, in new_func
return f(self, node, frame, **kwargs)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 1607, in visit_Test
self.fail('no test named %r' % node.name, node.lineno)
File "/usr/lib/python3/dist-packages/jinja2/compiler.py", line 315, in fail
raise TemplateAssertionError(msg, lineno, self.name, self.filename)
jinja2.exceptions.TemplateAssertionError: no test named 'boolean'
2022-05-11T12:12:11Z {'REMOTE_ADDR': '::1', 'REMOTE_PORT': '48522', 'HTTP_HOST': 'localhost:8089', (hidden keys: 34)} failed with TemplateAssertionError

object has no attribute key

Hi,

We are using your code to run a redis load test but see an error.
task_set object has no attribute key

Any suggestions?

Mark

Replace deprecated request_success() and request_failure() with request() from locust.event.Events.request

The deprecated request_success() and request_failure() are already removed in locust.event.Events.request upstream, causing the following error:

File "/Users/htie/coding/redis-load-test/Scripts/redis_get_set.py", line 88, in get_time self.client.query(self.key) File "/Users/htie/coding/redis-load-test/Scripts/redis_get_set.py", line 50, in query events.request_success.fire(

The fix is to simply relace them with request() method name, per:
https://stackoverflow.com/questions/76016708/locust-events-object-has-no-attribute-request-success

Verified working with load tests, after the fix, the errors are gone, and all graphs are displayed properly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.