Skip to main content

An automatic experiment framework for microservice.

Project description

Introduction

AEFM is an Automatic Experiment Framework for Microservice, it provides a basic configuration that helps you to profiling basic information of microservices, and also the programmable interface to extend its usage.

AEFM treat every experiment as a lifecycle, through the lifecycle, it will trigger different events. Users can customize different event handlers to achieve different objectives.

The basic events of a lifecycle are as follows:

  • Start Experiment
  • Init Environment
  • Start Single Test Case
  • Start Data Collection
  • [Customized Events to Handle Test Case Ends]
  • End Experiment

Components

AEFM relies on different components to perform efficiently and correctly.

Manager

Manager is the highest level component that used to manage whole experiment. It provides events handling, globally data accessing and component registration. You can customize your experiment workflow, register new events, or replace default components with the help of manager object. You can also extend the class and create your customized manager.

Deployer

Deployer is used to manage kubernetes resources such as pod, deployments, etc. We manage theses resources based on YAML files, which can help users to detect which part is incorrect more efficient by directly look at YAML files.

Workload Generator

Workload generator is used to provide pressure to applications. By default, we use wrk as workload generator, which can generate HTTP requests. You can also use other workload generating tools, as they provides the required API.

Data Collector

Data collector will collect data from different data sources, and save them as files. By default, we use Jaeger to collect traces data, Prometheus to collect hardware data and rely on output of wrk to collect throughput data. You can use other data sources by writing your own collectors, as they follow the collector interface, they can be set as component and let manager to involve it.

Interference Generator

Interference generator generates CPU, memory capacity/bandwidth and network bandwidth interferences by default. User can also customized their own interference generator to generates other types of intererence.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

AEFM-0.0.3.tar.gz (25.9 MB view details)

Uploaded Source

Built Distribution

AEFM-0.0.3-py3-none-any.whl (26.1 MB view details)

Uploaded Python 3

File details

Details for the file AEFM-0.0.3.tar.gz.

File metadata

  • Download URL: AEFM-0.0.3.tar.gz
  • Upload date:
  • Size: 25.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for AEFM-0.0.3.tar.gz
Algorithm Hash digest
SHA256 6dcb2588d713ffa614af5190fa2c4824a7c09125fcfbe809865d0f85a530aefe
MD5 8e9b8067d9007fa191722782a0f2c1ac
BLAKE2b-256 bb98aebc3276bea39bb8463b6f4590a0955aa8e624b5f8cd58421cc4050b611a

See more details on using hashes here.

File details

Details for the file AEFM-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: AEFM-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 26.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for AEFM-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 494ff4d827b54109c79ae6281ee2b883d745b7cd7cbbfbacef53336d9e65afa1
MD5 90fcf1a3be5bae74e225b1087f00f3e1
BLAKE2b-256 6ca5c92a4208cd934bdc9bcdf8bfac5e32b5ff15275868ac93483dbed49837ca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page