Giter Site home page Giter Site logo

assert-kth / royal-chaos Goto Github PK

View Code? Open in Web Editor NEW
128.0 14.0 27.0 126.41 MB

Chaos engineering systems invented at KTH Royal Institute of Technology.

License: MIT License

Java 0.77% Python 63.60% C++ 33.55% Makefile 0.12% QMake 0.01% Shell 0.18% C 0.47% HTML 0.02% JavaScript 0.01% CSS 0.03% Gnuplot 0.01% MATLAB 0.05% Click 0.02% Perl 0.39% Batchfile 0.01% Dockerfile 0.01% Smarty 0.01% Jupyter Notebook 0.73% SWIG 0.01%
chaos-engineering jvm bytecode exception-handling resilience fault-injection monitoring

royal-chaos's Introduction

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.

royal-chaos's People

Contributors

deee92 avatar dependabot[bot] avatar eriknatanael avatar gluckzhang avatar javierron avatar jsimo avatar monperrus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

royal-chaos's Issues

The path to the dockerfiles may be incorrect

Hi @Deee92 , I just find that some of the Dockerfile paths may be incorrect. Take the following one as an example (line 505-574 in output_1570903438.json):

"path": "./questionanswering/OpenEphyra/Dockerfile"

should be ./lucida/questionanswering/OpenEphyra/Dockerfile.

Could you please fix this and upload a new data set? Thanks!

  {
    "current_timestamp": 1570903645,
    "name": "lucida",
    "full_name": "claritylab/lucida",
    "fork": false,
    "clone_url": "https://github.com/claritylab/lucida.git",
    "stargazers_count": 4863,
    "language": "Java",
    "number_of_dockerfiles": 6,
    "info_from_dockerfiles": [
      {
        "path": "./Dockerfile",
        "base_images": [
          "FROM ubuntu:14.04"
        ],
        "cmds": [],
        "entrypoints": [],
        "args": []
      },
      {
        "path": "./tools/Dockerfile",
        "base_images": [
          "FROM ubuntu:14.04"
        ],
        "cmds": [],
        "entrypoints": [],
        "args": []
      },
      {
        "path": "./questionanswering/OpenEphyra/Dockerfile",
        "base_images": [
          "FROM lucida_base"
        ],
        "cmds": [],
        "entrypoints": [],
        "args": []
      },
      {
        "path": "./speechrecognition/kaldi_gstreamer_asr/Dockerfile",
        "base_images": [
          "FROM lucida_base"
        ],
        "cmds": [],
        "entrypoints": [],
        "args": []
      },
      {
        "path": "./commandcenter/Dockerfile",
        "base_images": [
          "FROM lucida_base"
        ],
        "cmds": [],
        "entrypoints": [],
        "args": []
      },
      {
        "path": "./imagematching/opencv_imm/Dockerfile",
        "base_images": [
          "FROM lucida_base"
        ],
        "cmds": [],
        "entrypoints": [],
        "args": []
      }
    ],
    "build_tools": [
      "Ant",
      "Gradle"
    ]
  }

Annotation Processor Error

When trying to implement the Annotation Processor in our code, a syntax error is shown stating that the annotation is "disallowed for this location". It does not matter if the annotation is written in the correct location or some other random location in the code, the error appears every time.

c# support

Is there any possibility to use the tool for c# code as well ?

Which open source licence is this project under?

I am considering to use this project, but we are just allowed to just use licenses that allow closing parts of the code later if we need/want. Like Apache 2.0, LGPL, MIT, and others.
Is the project under an open-source license yet?

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.