https://github.com/assert-kth/royal-chaos

Chaos engineering systems invented at KTH Royal Institute of Technology. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-320638

https://github.com/assert-kth/royal-chaos

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.7%) to scientific vocabulary

Keywords

bytecode chaos-engineering exception-handling fault-injection jvm monitoring resilience
Last synced: 5 months ago · JSON representation

Repository

Chaos engineering systems invented at KTH Royal Institute of Technology. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-320638

Basic Info
  • Host: GitHub
  • Owner: ASSERT-KTH
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 123 MB
Statistics
  • Stars: 136
  • Watchers: 12
  • Forks: 27
  • Open Issues: 5
  • Releases: 0
Topics
bytecode chaos-engineering exception-handling fault-injection jvm monitoring resilience
Created about 8 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Royal Chaos Travis Build Status

This repository contains the chaos engineering systems invented at KTH Royal Institute of Technology. Every tool is organized in a separate folder in this repo, with a detailed README file inside.

ChaosMachine

ChaosMachine is a tool to do chaos engineering at the application level in the JVM. It concentrates on analyzing the error-handling capability of each try-catch block involved in the application by injecting exceptions.

TripleAgent

TripleAgent is a system for fault injection for Java applications. The unique feature of this system is to combine automated monitoring and automated perturbation injection. It outputs concrete hints to improve the resilience against unhandled exceptions.

Chaos-NS-3

We seek to attain a simplified illustration about chaos engineering applied on a simulated Netflix environment in ns-3 with the intention to provide some enlightenment for the principles of chaos engineering and in addition to this we will also present a suggestion about how to infer an unknown system as a possible application, derived from the knowledges acquired from our chaos journey.

ChaosOrca

ChaosOrca is a tool for doing Chaos Engineering on containers by perturbing system calls for processes inside containers. Where monitoring/observability is a key part of the system to be able to reason about the given perturbations effect on the container. The system utilises strace built in system call fault injections, as such it can add delays, return error codes, do so intermittenly and more. Metrics recorded are System calls, HTTP, Logs and Performance related ones.

POBS

POBS is an approach that automatically augments Docker images to have improved observability and fault injection capabilities for Java applications.

Phoebe

Phoebe is a fault injection framework for reliability analysis with respect to system call invocation errors. First, Phoebe enables developers to have full observability of system call invocations. Second, Phoebe generates error models that are realistic in the sense that they resemble errors that naturally happen in production. With the generated error models, Phoebe automatically conducts a series of experiments to systematically assess the reliability of applications with respect to system call invocation errors in production.

ChaosETH

ChaosETH is a chaos engineering framework that intercepts an Ethereum client's system call invocations and actively injects error codes into these system call invocations in production. The source code of the Ethereum client is not necessary. Developers can also apply various workload or directly use production traffic to conduct chaos engineering experiments at the system call invocation level.

Owner

  • Name: ASSERT
  • Login: ASSERT-KTH
  • Kind: organization
  • Location: Sweden

assertEquals("Research group at KTH Royal Institute of Technology, Stockholm, Sweden", description);

GitHub Events

Total
  • Issues event: 1
  • Watch event: 6
  • Issue comment event: 5
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 6
  • Issue comment event: 5
  • Fork event: 1

Dependencies

chaosmachine/annotation_processor/pom.xml maven
  • fr.inria.gforge.spoon:spoon-core 7.4.0-beta-12
  • junit:junit 4.13.1 test
chaosmachine/chaos_controller/pom.xml maven
  • com.googlecode.xmemcached:xmemcached 2.4.0
  • com.opencsv:opencsv 4.0
  • tools.jar:tools.jar 1.0.0 system
  • junit:junit 4.13.1 test
chaosmachine/perturbation_injector/example/pom.xml maven
  • junit:junit 4.13.1
  • org.hamcrest:hamcrest-core 1.3
  • com.ea.agentloader:ea-agent-loader 1.0.0 test
  • uk.co.probablyfine:byte-monkey 1.0.0 test
chaosmachine/perturbation_injector/pom.xml maven
  • com.googlecode.xmemcached:xmemcached 2.4.0
  • org.slf4j:slf4j-log4j12 1.6.4
  • com.ea.agentloader:ea-agent-loader 1.0.0 test
  • fr.inria.gforge.spoon:spoon-core 5.9.0 test
  • junit:junit 4.13.1 test
  • org.hamcrest:hamcrest-all ${hamcrest.version} test
  • org.hamcrest:hamcrest-core ${hamcrest.version} test
  • org.hamcrest:hamcrest-library ${hamcrest.version} test
pobs/tools/base_image_generator/integration_test/pom.xml maven
  • commons-io:commons-io 2.7
tripleagent/agents_controller/pom.xml maven
  • com.googlecode.xmemcached:xmemcached 2.4.0
  • com.opencsv:opencsv 4.0
  • javax.mail:mail 1.5.0-b01
  • tools.jar:tools.jar 1.0.0 system
  • junit:junit 4.13.1 test
chaosorca/netm/requirements.txt pypi
  • prometheus_client ==0.6.0
  • pyshark ==0.4.2.2
chaosorca/orc/requirements.txt pypi
  • click ==7.0
  • docker ==3.7.1
chaosorca/orc/setup.py pypi
  • Click *
  • Docker *
chaosorca/sysc/requirements.txt pypi
  • prometheus_client ==0.6.0
chaosorca/sysm/requirements.txt pypi
  • prometheus_client ==0.6.0
phoebe/requirements.txt pypi
  • PTable *
  • prometheus_client *
pobs/tools/causal_impact_analysis/requirements.txt pypi
  • pycausalimpact *
chaosorca/experiments/benchmark/Dockerfile docker
  • debian latest build
chaosorca/experiments/ttorrent-ubuntu/Dockerfile docker
  • openjdk 8-slim build
chaosorca/netm/Dockerfile docker
  • python 3.7-alpine build
chaosorca/orc/Dockerfile docker
  • python 3.7-alpine build
chaosorca/sysc/Dockerfile docker
  • python 3.7-alpine build
chaosorca/sysm/Dockerfile docker
  • jsimo2/bpftrace latest build
chaosorca/tracers/bpftrace/Dockerfile docker
  • ubuntu bionic build
chaosorca/tracers/ftrace/Dockerfile docker
  • ubuntu bionic build
chaosorca/tracers/perf/Dockerfile docker
  • ubuntu bionic build
pobs/experiments/hawkbit/docker-compose.yml docker
  • hawkbit-pobs 0.3.0M5
  • rabbitmq 3-management
chaosmachine/pom.xml maven
tripleagent/failure_oblivious_agent/pom.xml maven
  • com.googlecode.xmemcached:xmemcached 2.4.0
  • com.opencsv:opencsv 4.0
  • org.slf4j:slf4j-log4j12 1.6.4
  • com.ea.agentloader:ea-agent-loader 1.0.0 test
  • junit:junit 4.13.1 test
  • org.hamcrest:hamcrest-all ${hamcrest.version} test
  • org.hamcrest:hamcrest-core ${hamcrest.version} test
  • org.hamcrest:hamcrest-library ${hamcrest.version} test
tripleagent/monitoring_agent/pom.xml maven
  • junit:junit 4.13.1 test
tripleagent/perturbation_agent/pom.xml maven
  • com.opencsv:opencsv 4.0
  • com.ea.agentloader:ea-agent-loader 1.0.0 test
  • junit:junit 4.13.1 test
  • org.hamcrest:hamcrest-all ${hamcrest.version} test
  • org.hamcrest:hamcrest-core ${hamcrest.version} test
  • org.hamcrest:hamcrest-library ${hamcrest.version} test
tripleagent/pom.xml maven
chaos-ns-3/pybindgen-0.17.0.post58+ngcf00cc0/setup.py pypi