Digging and Tracing system for OpenStack
Go to file
Fei Rao 33c76dded5 s/digging/debugging
Change-Id: I82dbece2b771bfce900e374c92b3f154f2ad5d81
2015-12-15 11:57:53 +08:00
devstack test multiple result for one tracer 2015-11-19 22:41:51 +08:00
doc add tracer-worker relationship image 2015-11-15 23:27:36 +08:00
scalpels enable pep8 2015-12-07 13:51:11 +08:00
scripts mv scripts/agent.py to cmd/ 2015-11-11 13:46:37 +08:00
tests enable pep8 2015-12-07 13:51:11 +08:00
tools add is_running status to tracers 2015-11-18 11:43:11 +08:00
.gitignore add git ignore 2015-10-20 17:33:28 +08:00
.gitreview add gitreview 2015-10-23 19:49:46 +08:00
.testr.conf add tox-related stuff 2015-10-23 23:06:30 +08:00
LICENSE Initial commit 2015-09-16 14:20:51 +08:00
README.rst s/digging/debugging 2015-12-15 11:57:53 +08:00
requirements.txt add oslo.messaging requirements 2015-11-09 01:42:39 +08:00
setup.cfg redesign endpoints 2015-11-11 13:18:43 +08:00
setup.py add simple python framework 2015-10-20 15:39:06 +08:00
test-requirements.txt add tox-related stuff 2015-10-23 23:06:30 +08:00
tox.ini enable pep8 2015-12-07 13:51:11 +08:00

Scalpels

Scalpels is 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.

Contribute

This project is prototype now and 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.

Single Node Architecture

This type of deployment is used as POC in OpenStack community CI.

All-in-One deployment

Multiple Node Architecture

This is under Designing:

Multiple deployment

Agent-Tracer-Worker

The relationship is:

agent-tracer-worker.png

Ideas

Each project will have scripts working:

  • on python calls
  • on sql queries
  • on filesystem I/O
  • on RPC calls if need
  • on necessary system calls
  • on common system statistics