Skip to main content

Lemmings

lemmings is an small yet powerful load testing tool. It is intended for load testing of (web-)systems by test scenarios written in asynchronous way.

Features

  • test steps written as async method
  • system-independent
    In most cases tests written in lemmings are web-oriented, but it is possible to test almost any system if there is async way to communicate with it.
  • metrics for generator performance
    Each running worker produce Prometheus-ready metrics.
    It is possible either to pull current metrics from worker or push metrics to Influx.

Quick start

  1. Install library (Python >=3.7 required)
    pip install lemmings

  2. Create test suite

from lemmings import *

class ExampleTestPlan(TaskSet):

    @Task(weight=5)
    async def test_create_target(self, run):
        await self.service.create_entity(1, "test")

    @Task(weight=3)
    async def test_wait(self, run):
        await run.sleep(self.timings.wait_time, "do nothing during wait time")
        await self.service.remove_entity(1)
  1. Create test suite
import multiprocessing
from lemmings import *
if __name__ == '__main__':
        prometheus = Prometheus()

        shared = multiprocessing.Value("i", 0)

        g = TestExecutor()
        g.add_test_plan(ExampleTestPlan())

        g.start_all(shared)

        prometheus.dump_to_influx()
        prometheus.clean() # workaround against prometheus work with multiprocessing

How it works

TODO

Shared data

Each test suite is executing by pool of workers in parallel. Each worker run in diffent process with multiprocessing
It is possible to use shared variable using standard multiprocessing features (Lock, Array, Value, manager, etc.)

TODO

License

Open source licensed under the MIT license (see LICENSE file for details).

Supported Python Versions

Locust is supported on Python >=3.7

Release files for lemmings 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lemmings 0.10.0
File Size Uploaded
lemmings-0.10.0.tar.gz 19.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lemmings 0.10.0
File Interpreter ABI Platform
lemmings-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 44.2 kB

Release files / lemmings-0.10.0.tar.gz

Download URL lemmings-0.10.0.tar.gz
Size 19.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5380583c4e5bd2f5884cd5c738d716bcf52c76f481b593a440f7585ada98a164
BLAKE2b-256 checksum
How to use checksums
1a8f6c8adb14eb5c0119b086798258439817f3b73e9b6347cfc69393ab159b3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4

Release files / lemmings-0.10.0-py3-none-any.whl

Download URL lemmings-0.10.0-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5f497135034aaa909e9ab4f636868f519970a086b1b24bc55e6f8b99084d728c
BLAKE2b-256 checksum
How to use checksums
9692b8927789219fa727ce8382a09e7422c687290fd0614ffc6a3c5c30c24e9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.10.0 This release

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page