opstree / redis-load-test

A utility to provide easy and fast performance testing for Redis.
https://opstree.github.io
Apache License 2.0
47 stars 36 forks source link

Locust failing with "failed with TemplateAssertionError" #7

Open epicbugs opened 2 years ago

epicbugs commented 2 years ago

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".

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