Add object store architecture overview picture

It requires graphviz / dot to be installed. It generates a nice graph
of the dependencies between classes in the object store.

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
This commit is contained in:
Colin Patrick McCabe 2011-08-31 18:20:53 -07:00
parent d9eacb6104
commit 2e63eace85
4 changed files with 71 additions and 0 deletions

1
.gitignore vendored
View File

@ -53,3 +53,4 @@ core
.project
.cproject
/build-doc
/doc/object_store.png

View File

@ -10,6 +10,8 @@ if [ ! -e build-doc/doxygen/xml ]; then
fi
dia --filter=png-libart --export=doc/overview.png.tmp doc/overview.dia
dot -Tpng < doc/object_store.dot > doc/object_store.png
mv -- doc/overview.png.tmp doc/overview.png
cd build-doc

View File

@ -25,6 +25,13 @@
.. todo:: write me
====================================
Object Store Architecture Overview
====================================
.. image:: object_store.png
.. todo:: write more here
=================================
Library architecture
=================================

61
doc/object_store.dot Normal file
View File

@ -0,0 +1,61 @@
/*
* Rough outline of object store module dependencies
*
* build with
* dot -Tpng < ./object_store.dot > object_store.png
*/
digraph object_store {
size="16,16";
node [color=lightblue2, style=filled, fontname="Serif"];
"testrados" -> "librados"
"testradospp" -> "librados"
"rbd" -> "librados"
"radostool" -> "librados"
"radosgw_admin" -> "rgw"
"rgw" -> "librados"
"radosacl" -> "librados"
"librados" -> "objecter"
"ObjectCacher" -> "Filer"
"dumpjournal" -> "Journaler"
"Journaler" -> "Filer"
"SyntheticClient" -> "Filer"
"SyntheticClient" -> "objecter"
"Filer" -> "objecter"
"objecter" -> "OSDMap"
"cosd" -> "PG"
"cosd" -> "ObjectStore"
"crushtool" -> "CrushWrapper"
"OSDMap" -> "CrushWrapper"
"OSDMapTool" -> "OSDMap"
"PG" -> "ReplicatedPG"
"PG" -> "ObjectStore"
"PG" -> "OSDMap"
"ReplicatedPG" -> "ObjectStore"
"ReplicatedPG" -> "OSDMap"
"ObjectStore" -> "FileStore"
"FileStore" -> "ext3"
"FileStore" -> "ext4"
"FileStore" -> "btrfs"
}