Commits

Kenneth Love committed 7a4924c

changed to hyphens

  • Participants
  • Parent commits 44bebcd

Comments (0)

Files changed (1)

docs/pdx_python_meetup_sept_11.rst

 ---------------------------
 
     Problem:
-~~~~~~~~~~~~
+    --------
 
         * You have an app.
         * It has state.
         * Simple in-memory stats get hard to expose in multi-process environments.
 
     Solution #1: Logging
-~~~~~~~~~~~~~~~~~~~~~~~~
+    --------------------
 
         Pros
 
             * Performance impact if too verbose
 
     Solution #2: Graphite
-~~~~~~~~~~~~~~~~~~~~~~~~~
+    ---------------------
 
         Pros
 
             * Still not great for introspection.
 
     Solution #3: socketconsole
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    --------------------------
 
         Pros:
 
             * All the fun of Python threads.
 
     Solution #4: REPL Backdoors
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    ---------------------------
 
         Pros:
 
             * Still can't reach all state.
 
     Solution #5: GDB
-~~~~~~~~~~~~~~~~~~~~
+    ----------------
 
         Pros:
 
             * Seriously? Definitily only a a last resort.
 
     Solution #6: JMX
-~~~~~~~~~~~~~~~~~~~~
+    ----------------
 
         Pros:
 
     .. note:: Python needs this.
 
     ``mmstats`` Goals
-~~~~~~~~~~~~~~~~~~~~~
+    -----------------
 
         * Simple API to expose state.
         * Separate publishing from reading, aggregating, etc.
         * 1-way (for now?)
 
     What is ``mmstats``?
-~~~~~~~~~~~~~~~~~~~~~~~~
+    --------------------
 
         * ``mmap`` alows sharing memory between processes.
         * Language independent data structure:
         * Exposed in Python app as a model class.
 
     Performance Implementation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    --------------------------
 
         Single writer, multi-reader
 
         * Fixed field sizes.
 
     Consistency without Locks
-    ~~~~~~~~~~~~~~~~~~~~~~~~~
+    -------------------------
 
         Q: How are reads consistent without locks?
             A: Double buffering.