Update readme file of scalpels

Add the descriptions for All-In-One scenario and multiple nodes' scenario.

Change-Id: I0849cb4655f989a23ba71d7312f8b85f35396780
Implements: blueprint update-readme
This commit is contained in:
Billy Xu 2015-12-16 03:14:40 -05:00
parent 4efc88e263
commit 5f1b76a0c7
1 changed files with 16 additions and 4 deletions

View File

@ -1,18 +1,18 @@
Scalpels
========
Scalpels is distributed tracing or debuging system for OpenStack.
Scalpels is a distributed tracing or debuging system for OpenStack.
Background
==========
OpenStack is made of multiple Python-based projects. Each project has similiar but different architecture. Scalpels gathers useful scripts or 3rd tools to help operator find what happen in your cloud.
OpenStack is made of multiple Python-based projects. Each project has similiar but different architecture. Scalpels intergates some useful scripts or 3rd tools to help operator track system status in your cloud environments.
Contribute
==========
This project is prototype now and under development. If you have interests in this work, please contact @kun_huang, at #openstack-chinese channel.
This project is a prototype now and is under development. If you have interests in this work, please contact @kun_huang, at #openstack-chinese channel.
Mission
=======
Scalpels is kind of "debugfs" for OpenStack. It gathers data from number of tracers like proc or systemtap which could be used to quantize preformance under workloads.
Scalpels is a kind of "debugfs" for OpenStack. It gathers data from number of tracers like proc or systemtap which could be used to quantize preformance under workloads.
Single Node Architecture
========================
@ -21,6 +21,8 @@ This type of deployment is used as POC in OpenStack community CI.
.. image:: doc/source/images/allinone.png
:alt: All-in-One deployment
In All-In-One scenario, Scalpels Client works as rpc client, Scalpels Agent works as rpc server. When Scalpels Agent receives a rpc to start tracer 3, it will start a unix process for tracer 3, which can write data to database. Scalpels Client can read data from database directly.
Multiple Node Architecture
==========================
This is under Designing:
@ -28,6 +30,12 @@ This is under Designing:
.. image:: doc/source/images/multiple.png
:alt: Multiple deployment
In multiple nodes scenario, Scalpels Server are non-state servers, they are distributed in multiple nodes, each Scalpels Server knows all agents' location and could forward the request to start tracers.
Scalpels Agent is introduced to manage trace process, it can be combined with Scalpels server during implementation.
Tracers can write data into redis bus instead of database to keep data consistency.
Agent-Tracer-Worker
===================
The relationship is:
@ -35,6 +43,10 @@ The relationship is:
.. image:: doc/source/images/agent-tracer-worker.png
:alt: agent-tracer-worker.png
Scalpels Agent: manager tracers by start/stop signals.
Tracer: Start worker process and write its stdout to database.
Worker: It fetches data from operating system.
Ideas
=====
Each project will have scripts working: