Stress your lora network-server
When building a big iot lora platform handling millions of messages per seconds, how to be sure we handle all the messages in time ? Today, no publicly accessible tool enables us to simulate the behavior of a wide lora infrastructure along with the messages.
Lorhammer is here to do that. You can launch as much lorhammers as you want to stress and test your network-server.
- Can stress a lorawan network-server, through scenarios
- Can check if result are good over prometheus api call
- Can display what happend over grafana
- Can be distributed
- An orchestrator is available to manage lorhammers, through mqtt
- lorhammers can be deployed over ssh on amazon
- Logrus // MIT
- Prometheus // APACHE2
- Paho Mqtt // ECLIPSE
- Uuid // BSD3
- Lorawan // MIT
- Aws-sdk // APACHE2
- Sarama // MIT
Lorhammer has been inspired by Gatling but for lorawan networks and with distribution in mind. One day, lorhammer will become hammer with flavours like lorhammer and resthammer...
We want to thank brocaar for his great job on opensourcing his projects, we have been inspired by brocaar/loraserver and particularly brocaar/lorawan which we use in lorhammer.
- Issues, please be sure to have read the contributing page before.
- Quickstart to use lorhammer
- Develop to add features on lorhammer, please be sure to have read the contributing page before.
We use SemVer for versioning. For the versions available, see the tags on this repository.
itk is globally recognized as being an innovation leader in scientific knowledge and software for a more sustainable agriculture in general.
Lorhammer is a project powered by itk. We use it internally to choose the right network-server for our IoT infrastructure. Furthermore, we use it to run integration tests every time we accept merge-request (same thing as a pull-request but in the gitlab world). Indeed, for every new update, a stress test is launched over our IoT plateform and checkers check if all is ok, taking in consideration response time delays and data processing.
This project is licensed under the Apache 2 License - see the LICENSE.md
file for details