Coder Social home page Coder Social logo

lorenzboguhn / theodolite Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cau-se/theodolite

0.0 0.0 0.0 2.33 MB

Benchmarking Scalability of Distributed Stream Processing Engines

License: Apache License 2.0

Java 47.04% Shell 0.64% Jupyter Notebook 5.88% Python 1.51% Dockerfile 0.66% Smarty 0.45% Kotlin 43.83%

theodolite's Introduction

Theodolite

A theodolite is a precision optical instrument for measuring angles between designated visible points in the horizontal and vertical planes. -- Wikipedia

Theodolite is a framework for benchmarking the horizontal and vertical scalability of stream processing engines. It consists of three modules:

Theodolite Benchmarks

Theodolite contains 4 application benchmarks, which are based on typical use cases for stream processing within microservices. For each benchmark, a corresponding workload generator is provided. Currently, this repository provides benchmark implementations for Apache Kafka Streams and Apache Flink. The benchmark sources can be found in Thedolite benchmarks.

Theodolite Execution Framework

Theodolite aims to benchmark scalability of stream processing engines for real use cases. Microservices that apply stream processing techniques are usually deployed in elastic cloud environments. Hence, Theodolite's cloud-native benchmarking framework deploys its components in a cloud environment, orchestrated by Kubernetes. More information on how to execute scalability benchmarks can be found in Thedolite execution framework.

Theodolite Analysis Tools

Theodolite's benchmarking method creates a scalability graph allowing to draw conclusions about the scalability of a stream processing engine or its deployment. A scalability graph shows how resource demand evolves with an increasing workload. Theodolite provides Jupyter notebooks for creating such scalability graphs based on benchmarking results from the execution framework. More information can be found in Theodolite analysis tool.

How to Cite

If you use Theodolite, please cite

Sören Henning and Wilhelm Hasselbring. (2021). Theodolite: Scalability Benchmarking of Distributed Stream Processing Engines in Microservice Architectures. Big Data Research, Volume 25. DOI: 10.1016/j.bdr.2021.100209. arXiv:2009.00304.

theodolite's People

Contributors

soerenhenning avatar benediktwetzel avatar lorenzboguhn avatar bvonheid avatar ehrensteins avatar sehrenstein avatar

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.