couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dav...@apache.org
Subject svn commit: r829304 - in /couchdb/trunk: etc/couchdb/default.ini.tpl.in license.skip src/couchdb/couch_stats_aggregator.erl src/couchdb/couch_util.erl src/couchdb/priv/Makefile.am src/couchdb/priv/stat_descriptions.cfg
Date Sat, 24 Oct 2009 04:14:13 GMT
Author: davisp
Date: Sat Oct 24 04:14:12 2009
New Revision: 829304

URL: http://svn.apache.org/viewvc?rev=829304&view=rev
Log:
Move stat descriptions out of the config.

This lists stat descriptions in an Erlang term file to avoid abusing the config system. Uses
a file in CouchDB's priv directory that is a list of three-tuple terms.


Added:
    couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg
Modified:
    couchdb/trunk/etc/couchdb/default.ini.tpl.in
    couchdb/trunk/license.skip
    couchdb/trunk/src/couchdb/couch_stats_aggregator.erl
    couchdb/trunk/src/couchdb/couch_util.erl
    couchdb/trunk/src/couchdb/priv/Makefile.am

Modified: couchdb/trunk/etc/couchdb/default.ini.tpl.in
URL: http://svn.apache.org/viewvc/couchdb/trunk/etc/couchdb/default.ini.tpl.in?rev=829304&r1=829303&r2=829304&view=diff
==============================================================================
--- couchdb/trunk/etc/couchdb/default.ini.tpl.in (original)
+++ couchdb/trunk/etc/couchdb/default.ini.tpl.in Sat Oct 24 04:14:12 2009
@@ -112,40 +112,3 @@
 ; sample intervals are in seconds
 samples = [0, 60, 300, 900]
 
-; Style guide for descriptions: Start with a lowercase letter & do not add 
-; a trailing full-stop / period.
-; Please keep this in alphabetical order.
-[stats_descriptions]
-{couchdb, database_writes} = number of times a database was changed
-{couchdb, database_reads} = number of times a document was read from a database
-{couchdb, open_databases} = number of open databases
-{couchdb, open_os_files} = number of file descriptors CouchDB has open
-{couchdb, request_time} = length of a request inside CouchDB without MochiWeb
-
-{httpd, bulk_requests} = number of bulk requests
-{httpd, requests} = number of HTTP requests
-{httpd, temporary_view_reads} = number of temporary view reads
-{httpd, view_reads} = number of view reads
-{httpd, clients_requesting_changes} = number of clients for continuous _changes
-
-{httpd_request_methods, 'COPY'} = number of HTTP COPY requests
-{httpd_request_methods, 'DELETE'} = number of HTTP DELETE requests
-{httpd_request_methods, 'GET'} = number of HTTP GET requests
-{httpd_request_methods, 'HEAD'} = number of HTTP HEAD requests
-{httpd_request_methods, 'MOVE'} = number of HTTP MOVE requests
-{httpd_request_methods, 'POST'} = number of HTTP POST requests
-{httpd_request_methods, 'PUT'} = number of HTTP PUT requests
-
-{httpd_status_codes, '200'} = number of HTTP 200 OK responses
-{httpd_status_codes, '201'} = number of HTTP 201 Created responses
-{httpd_status_codes, '202'} = number of HTTP 202 Accepted responses
-{httpd_status_codes, '301'} = number of HTTP 301 Moved Permanently responses
-{httpd_status_codes, '304'} = number of HTTP 304 Not Modified responses
-{httpd_status_codes, '400'} = number of HTTP 400 Bad Request responses
-{httpd_status_codes, '401'} = number of HTTP 401 Unauthorized responses
-{httpd_status_codes, '403'} = number of HTTP 403 Forbidden responses
-{httpd_status_codes, '404'} = number of HTTP 404 Not Found responses
-{httpd_status_codes, '405'} = number of HTTP 405 Method Not Allowed responses
-{httpd_status_codes, '409'} = number of HTTP 409 Conflict responses
-{httpd_status_codes, '412'} = number of HTTP 412 Precondition Failed responses
-{httpd_status_codes, '500'} = number of HTTP 500 Internal Server Error responses

Modified: couchdb/trunk/license.skip
URL: http://svn.apache.org/viewvc/couchdb/trunk/license.skip?rev=829304&r1=829303&r2=829304&view=diff
==============================================================================
--- couchdb/trunk/license.skip (original)
+++ couchdb/trunk/license.skip Sat Oct 24 04:14:12 2009
@@ -64,6 +64,7 @@
 ^src/couchdb/priv/Makefile
 ^src/couchdb/priv/Makefile.in
 ^src/couchdb/priv/couchspawnkillable
+^src/couchdb/priv/stat_descriptions.cfg
 ^src/erlang-oauth/*
 ^src/etap/*
 ^src/ibrowse/*

Modified: couchdb/trunk/src/couchdb/couch_stats_aggregator.erl
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_stats_aggregator.erl?rev=829304&r1=829303&r2=829304&view=diff
==============================================================================
--- couchdb/trunk/src/couchdb/couch_stats_aggregator.erl (original)
+++ couchdb/trunk/src/couchdb/couch_stats_aggregator.erl Sat Oct 24 04:14:12 2009
@@ -90,16 +90,17 @@
     ets:new(?MODULE, [named_table, set, protected]),
     SampleStr = couch_config:get("stats", "samples", "[0]"),
     {ok, Samples} = couch_util:parse_term(SampleStr),
-    lists:foreach(fun({KeyStr, Value}) ->
-        {ok, Key} = couch_util:parse_term(KeyStr),
+    PrivDir = couch_util:priv_dir(),
+    {ok, Descs} = file:consult(filename:join(PrivDir, "stat_descriptions.cfg")),
+    lists:foreach(fun({Sect, Key, Value}) ->
         lists:foreach(fun(Secs) ->
             Agg = #aggregate{
                 description=list_to_binary(Value),
                 seconds=Secs
             },
-            ets:insert(?MODULE, {{Key, Secs}, Agg})
+            ets:insert(?MODULE, {{{Sect, Key}, Secs}, Agg})
         end, Samples)
-    end, couch_config:get("stats_descriptions")),
+    end, Descs),
     
     Self = self(),
     ok = couch_config:register(

Modified: couchdb/trunk/src/couchdb/couch_util.erl
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/couch_util.erl?rev=829304&r1=829303&r2=829304&view=diff
==============================================================================
--- couchdb/trunk/src/couchdb/couch_util.erl (original)
+++ couchdb/trunk/src/couchdb/couch_util.erl Sat Oct 24 04:14:12 2009
@@ -12,7 +12,7 @@
 
 -module(couch_util).
 
--export([start_driver/1,terminate_linked/1]).
+-export([priv_dir/0, start_driver/1,terminate_linked/1]).
 -export([should_flush/0, should_flush/1, to_existing_atom/1]).
 -export([rand32/0, implode/2, collate/2, collate/3]).
 -export([abs_pathname/1,abs_pathname/2, trim/1, ascii_lower/1]).
@@ -27,6 +27,16 @@
 % arbitrarily chosen amount of memory to use before flushing to disk
 -define(FLUSH_MAX_MEM, 10000000).
 
+priv_dir() ->
+    case code:priv_dir(couch) of
+        {error, bad_name} ->
+            % small hack, in dev mode "app" is couchdb. Fixing requires
+            % renaming src/couch to src/couch. Not really worth the hassle.
+            % -Damien
+            code:priv_dir(couchdb);
+        Dir -> Dir
+    end.
+
 start_driver(LibDir) ->
     case erl_ddll:load_driver(LibDir, "couch_erl_driver") of
     ok ->

Modified: couchdb/trunk/src/couchdb/priv/Makefile.am
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/priv/Makefile.am?rev=829304&r1=829303&r2=829304&view=diff
==============================================================================
--- couchdb/trunk/src/couchdb/priv/Makefile.am (original)
+++ couchdb/trunk/src/couchdb/priv/Makefile.am Sat Oct 24 04:14:12 2009
@@ -13,8 +13,9 @@
 couchlibdir = $(localerlanglibdir)/couch-$(version)
 couchprivdir = $(couchlibdir)/priv
 
-EXTRA_DIST = couchspawnkillable.sh
+EXTRA_DIST = couchspawnkillable.sh stat_descriptions.cfg
 
+couchpriv_DATA = stat_descriptions.cfg
 couchpriv_PROGRAMS = couchspawnkillable
 
 if WINDOWS

Added: couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg
URL: http://svn.apache.org/viewvc/couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg?rev=829304&view=auto
==============================================================================
--- couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg (added)
+++ couchdb/trunk/src/couchdb/priv/stat_descriptions.cfg Sat Oct 24 04:14:12 2009
@@ -0,0 +1,37 @@
+% Style guide for descriptions: Start with a lowercase letter & do not add
+% a trailing full-stop / period
+% Please keep this in alphabetical order
+
+{couchdb, database_writes, "number of times a database was change"}.
+{couchdb, database_reads, "number of times a document was read from a databas"}.
+{couchdb, open_databases, "number of open database"}.
+{couchdb, open_os_files, "number of file descriptors CouchDB has ope"}.
+{couchdb, request_time, "length of a request inside CouchDB without MochiWe"}.
+
+{httpd, bulk_requests, "number of bulk request"}.
+{httpd, requests, "number of HTTP request"}.
+{httpd, temporary_view_reads, "number of temporary view read"}.
+{httpd, view_reads, "number of view read"}.
+{httpd, clients_requesting_changes, "number of clients for continuous _change"}.
+
+{httpd_request_methods, 'COPY', "number of HTTP COPY request"}.
+{httpd_request_methods, 'DELETE', "number of HTTP DELETE request"}.
+{httpd_request_methods, 'GET', "number of HTTP GET request"}.
+{httpd_request_methods, 'HEAD', "number of HTTP HEAD request"}.
+{httpd_request_methods, 'MOVE', "number of HTTP MOVE request"}.
+{httpd_request_methods, 'POST', "number of HTTP POST request"}.
+{httpd_request_methods, 'PUT', "number of HTTP PUT request"}.
+
+{httpd_status_codes, '200', "number of HTTP 200 OK response"}.
+{httpd_status_codes, '201', "number of HTTP 201 Created response"}.
+{httpd_status_codes, '202', "number of HTTP 202 Accepted response"}.
+{httpd_status_codes, '301', "number of HTTP 301 Moved Permanently response"}.
+{httpd_status_codes, '304', "number of HTTP 304 Not Modified response"}.
+{httpd_status_codes, '400', "number of HTTP 400 Bad Request response"}.
+{httpd_status_codes, '401', "number of HTTP 401 Unauthorized response"}.
+{httpd_status_codes, '403', "number of HTTP 403 Forbidden response"}.
+{httpd_status_codes, '404', "number of HTTP 404 Not Found response"}.
+{httpd_status_codes, '405', "number of HTTP 405 Method Not Allowed response"}.
+{httpd_status_codes, '409', "number of HTTP 409 Conflict response"}.
+{httpd_status_codes, '412', "number of HTTP 412 Precondition Failed response"}.
+{httpd_status_codes, '500', "number of HTTP 500 Internal Server Error response"}.



Mime
View raw message