Commits

Kenneth Love committed a3bbfd1

nevermind

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.