So we need ways to measure and monitor the performance of various CouchDB components.

Optimizations of core CouchDB code hasn't begun yet. I did spend a small time profiling CouchDB using the built-in Erlang tools, but using the Erlang tools collecting the data into something coherent was a challenge.

I think we need to add performance measuring code in our source. What this will require is probes in the code to generate statistics (time taken, values process, bytes written, errors encountered, etc), emitting the values to a statistics collection process. I'm thinking we can use DTRACE, but if not, we can build an erlang module pretty easily to do something similar.

Then as we optimize code, we place probes in the high levels of code, then measure, change, add probes, measure, change... recursing down through the lower levels of code.

One reason not to use DTRACE, is we want the performance stats available to admins in production settings. Maybe we need both low level DTRACE profiling, and high level performance monitoring, though it would be nice if we could combine them.

On Jul 2, 2008, at 3:08 AM, Jan Lehnardt wrote:

Hello everybody,
this thread is meant to collect missing work items (features and
bugs) for for our 1.0 release and a discussion about how to split
them up between 0.9 and 1.0.

Take it away: Damien.

Cheers
Jan
--

Reply via email to