You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2014/09/04 14:13:47 UTC

chttpd commit: updated refs/heads/master to 6b372c6

Repository: couchdb-chttpd
Updated Branches:
  refs/heads/master 549ebb4aa -> 6b372c641


Remove chttpd/couchdb stats split

The way that chttpd delegates to couch_httpd makes it difficult to
separate http states via 5984 vs 5986.


Project: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/commit/6b372c64
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/tree/6b372c64
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/diff/6b372c64

Branch: refs/heads/master
Commit: 6b372c6419256ee2d3f352b6a08d99437c973bac
Parents: 549ebb4
Author: Robert Newson <rn...@apache.org>
Authored: Thu Sep 4 13:12:24 2014 +0100
Committer: Robert Newson <rn...@apache.org>
Committed: Thu Sep 4 13:12:26 2014 +0100

----------------------------------------------------------------------
 priv/stats_descriptions.cfg | 128 +--------------------------------------
 src/chttpd.erl              |  14 ++---
 src/chttpd_auth_cache.erl   |   6 +-
 src/chttpd_db.erl           |   6 +-
 src/chttpd_view.erl         |   6 +-
 5 files changed, 18 insertions(+), 142 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/6b372c64/priv/stats_descriptions.cfg
----------------------------------------------------------------------
diff --git a/priv/stats_descriptions.cfg b/priv/stats_descriptions.cfg
index 7ffaa95..e6865b6 100644
--- a/priv/stats_descriptions.cfg
+++ b/priv/stats_descriptions.cfg
@@ -14,131 +14,7 @@
 % a trailing full-stop / period
 % Please keep this in alphabetical order
 
-{[chttpd, auth_cache_hits], [
+{[couchdb, httpd, aborted_requests], [
     {type, counter},
-    {desc, <<"number of authentication cache hits">>}
-]}.
-{[chttpd, auth_cache_misses], [
-    {type, counter},
-    {desc, <<"number of authentication cache misses">>}
-]}.
-{[chttpd, bulk_requests], [
-    {type, counter},
-    {desc, <<"number of bulk requests">>}
-]}.
-{[chttpd, requests], [
-    {type, counter},
-    {desc, <<"number of HTTP requests">>}
-]}.
-{[chttpd, temporary_view_reads], [
-    {type, counter},
-    {desc, <<"number of temporary view reads">>}
-]}.
-{[chttpd, view_reads], [
-    {type, counter},
-    {desc, <<"number of view reads">>}
-]}.
-{[chttpd, clients_requesting_changes], [
-    {type, counter},
-    {desc, <<"number of clients for continuous _changes">>}
-]}.
-{[chttpd, request_methods, 'COPY'], [
-    {type, counter},
-    {desc, <<"number of HTTP COPY requests">>}
-]}.
-{[chttpd, request_methods, 'DELETE'], [
-    {type, counter},
-    {desc, <<"number of HTTP DELETE requests">>}
-]}.
-{[chttpd, request_methods, 'GET'], [
-    {type, counter},
-    {desc, <<"number of HTTP GET requests">>}
-]}.
-{[chttpd, request_methods, 'HEAD'], [
-    {type, counter},
-    {desc, <<"number of HTTP HEAD requests">>}
-]}.
-{[chttpd, request_methods, 'POST'], [
-    {type, counter},
-    {desc, <<"number of HTTP POST requests">>}
-]}.
-{[chttpd, request_methods, 'PUT'], [
-    {type, counter},
-    {desc, <<"number of HTTP PUT requests">>}
-]}.
-{[chttpd, request_time], [
-    {type, histogram},
-    {desc, <<"length of a request inside CouchDB without MochiWeb">>}
-]}.
-{[chttpd, status_codes, 200], [
-    {type, counter},
-    {desc, <<"number of HTTP 200 OK responses">>}
-]}.
-{[chttpd, status_codes, 201], [
-    {type, counter},
-    {desc, <<"number of HTTP 201 Created responses">>}
-]}.
-{[chttpd, status_codes, 202], [
-    {type, counter},
-    {desc, <<"number of HTTP 202 Accepted responses">>}
-]}.
-{[chttpd, status_codes, 301], [
-    {type, counter},
-    {desc, <<"number of HTTP 301 Moved Permanently responses">>}
-]}.
-{[chttpd, status_codes, 302], [
-    {type, counter},
-    {desc, <<"number of HTTP 302 Found responses">>}
-]}.
-{[chttpd, status_codes, 304], [
-    {type, counter},
-    {desc, <<"number of HTTP 304 Not Modified responses">>}
-]}.
-{[chttpd, status_codes, 400], [
-    {type, counter},
-    {desc, <<"number of HTTP 400 Bad Request responses">>}
-]}.
-{[chttpd, status_codes, 401], [
-    {type, counter},
-    {desc, <<"number of HTTP 401 Unauthorized responses">>}
-]}.
-{[chttpd, status_codes, 403], [
-    {type, counter},
-    {desc, <<"number of HTTP 403 Forbidden responses">>}
-]}.
-{[chttpd, status_codes, 404], [
-    {type, counter},
-    {desc, <<"number of HTTP 404 Not Found responses">>}
-]}.
-{[chttpd, status_codes, 405], [
-    {type, counter},
-    {desc, <<"number of HTTP 405 Method Not Allowed responses">>}
-]}.
-{[chttpd, status_codes, 409], [
-    {type, counter},
-    {desc, <<"number of HTTP 409 Conflict responses">>}
-]}.
-{[chttpd, status_codes, 412], [
-    {type, counter},
-    {desc, <<"number of HTTP 412 Precondition Failed responses">>}
-]}.
-{[chttpd, status_codes, 413], [
-    {type, counter},
-    {desc, <<"number of HTTP 413 Request Entity Too Long responses">>}
-]}.
-{[chttpd, status_codes, 414], [
-    {type, counter},
-    {desc, <<"number of HTTP 414 Request URI Too Long responses">>}
-]}.
-{[chttpd, status_codes, 415], [
-    {type, counter},
-    {desc, <<"number of HTTP 415 Unsupported Media Type responses">>}
-]}.
-{[chttpd, status_codes, 416], [
-    {type, counter},
-    {desc, <<"number of HTTP 416 Requested Range Not Satisfiable responses">>}
-]}.
-{[chttpd, status_codes, 500], [
-    {type, counter},
-    {desc, <<"number of HTTP 500 Internal Server Error responses">>}
+    {desc, <<"number of aborted requests">>}
 ]}.

http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/6b372c64/src/chttpd.erl
----------------------------------------------------------------------
diff --git a/src/chttpd.erl b/src/chttpd.erl
index c5a6097..32b12c8 100644
--- a/src/chttpd.erl
+++ b/src/chttpd.erl
@@ -255,13 +255,13 @@ handle_request(MochiReq) ->
     Host = MochiReq:get_header_value("Host"),
     couch_log:notice("~s ~s ~s ~s ~s ~B ~p ~B", [get(nonce), Peer, Host,
         atom_to_list(Method1), RawUri, Code, Status, round(RequestTime)]),
-    couch_stats:update_histogram([chttpd, request_time], RequestTime),
+    couch_stats:update_histogram([couchdb, request_time], RequestTime),
     case Result of
     {ok, _} ->
-        couch_stats:increment_counter([chttpd, requests]),
+        couch_stats:increment_counter([couchdb, httpd, requests]),
         {ok, Resp};
     {aborted, _, Reason} ->
-        couch_stats:increment_counter([chttpd, aborted_requests]),
+        couch_stats:increment_counter([couchdb, httpd, aborted_requests]),
         couch_log:error("Response abnormally terminated: ~p", [Reason]),
         exit(normal)
     end.
@@ -355,7 +355,7 @@ authenticate_request(Response, _AuthFuns) ->
     Response.
 
 increment_method_stats(Method) ->
-    couch_stats:increment_counter([chttpd, request_methods, Method]).
+    couch_stats:increment_counter([couchdb, httpd_request_methods, Method]).
 
 url_handler("") ->              fun chttpd_misc:handle_welcome_req/1;
 url_handler("favicon.ico") ->   fun chttpd_misc:handle_favicon_req/1;
@@ -557,7 +557,7 @@ verify_is_server_admin(#httpd{user_ctx=#user_ctx{roles=Roles}}) ->
     end.
 
 start_response_length(#httpd{mochi_req=MochiReq}=Req, Code, Headers0, Length) ->
-    couch_stats:increment_counter([chttpd, status_codes, Code]),
+    couch_stats:increment_counter([couchdb, httpd_status_codes, Code]),
     Headers = Headers0 ++ server_header() ++
 	couch_httpd_auth:cookie_auth_header(Req, Headers0),
     Resp = MochiReq:start_response_length({Code,
@@ -573,7 +573,7 @@ send(Resp, Data) ->
     {ok, Resp}.
 
 start_chunked_response(#httpd{mochi_req=MochiReq}=Req, Code, Headers0) ->
-    couch_stats:increment_counter([chttpd, status_codes, Code]),
+    couch_stats:increment_counter([couchdb, httpd_status_codes, Code]),
     Headers = Headers0 ++ server_header() ++
         couch_httpd_auth:cookie_auth_header(Req, Headers0),
     Resp = MochiReq:respond({Code, chttpd_cors:headers(Req, Headers),
@@ -589,7 +589,7 @@ send_chunk(Resp, Data) ->
     {ok, Resp}.
 
 send_response(#httpd{mochi_req=MochiReq}=Req, Code, Headers0, Body) ->
-    couch_stats:increment_counter([chttpd, status_codes, Code]),
+    couch_stats:increment_counter([couchdb, httpd_status_codes, Code]),
     Headers = Headers0 ++ server_header() ++
 	[timing(), reqid() | couch_httpd_auth:cookie_auth_header(Req, Headers0)],
     {ok, MochiReq:respond({Code, Headers, Body})}.

http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/6b372c64/src/chttpd_auth_cache.erl
----------------------------------------------------------------------
diff --git a/src/chttpd_auth_cache.erl b/src/chttpd_auth_cache.erl
index 55f746e..a78ab9e 100644
--- a/src/chttpd_auth_cache.erl
+++ b/src/chttpd_auth_cache.erl
@@ -52,18 +52,18 @@ get_user_creds(UserName) when is_binary(UserName) ->
 get_from_cache(UserName) ->
     try ets_lru:lookup_d(?CACHE, UserName) of
 	{ok, Props} ->
-	    couch_stats:increment_counter([chttpd, auth_cache_hits]),
+	    couch_stats:increment_counter([couchdb, auth_cache_hits]),
 	    couch_log:debug("cache hit for ~s", [UserName]),
 	    Props;
 	_ ->
 	    Props = load_user_from_db(UserName),
-	    couch_stats:increment_counter([chttpd, auth_cache_misses]),
+	    couch_stats:increment_counter([couchdb, auth_cache_misses]),
 	    couch_log:debug("cache miss for ~s", [UserName]),
 	    ets_lru:insert(?CACHE, UserName, Props),
 	    Props
     catch
 	error:badarg ->
-	    couch_stats:increment_counter([chttpd, auth_cache_misses]),
+	    couch_stats:increment_counter([couchdb, auth_cache_misses]),
 	    couch_log:debug("cache miss for ~s", [UserName]),
 	    load_user_from_db(UserName)
     end.

http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/6b372c64/src/chttpd_db.erl
----------------------------------------------------------------------
diff --git a/src/chttpd_db.erl b/src/chttpd_db.erl
index b6ed459..0ab3286 100644
--- a/src/chttpd_db.erl
+++ b/src/chttpd_db.erl
@@ -73,11 +73,11 @@ handle_changes_req(#httpd{method='GET'}=Req, Db) ->
                 ChangesArgs)
         end);
     Feed when Feed =:= "continuous"; Feed =:= "longpoll"; Feed =:= "eventsource"  ->
-        couch_stats:increment_counter([chttpd, clients_requesting_changes]),
+        couch_stats:increment_counter([couchdb, httpd, clients_requesting_changes]),
         try
             fabric:changes(Db, fun changes_callback/2, {Feed, Req}, ChangesArgs)
         after
-            couch_stats:decrement_counter([chttpd, clients_requesting_changes])
+            couch_stats:decrement_counter([couchdb, httpd, clients_requesting_changes])
         end;
     _ ->
         Msg = <<"Supported `feed` types: normal, continuous, longpoll, eventsource">>,
@@ -319,7 +319,7 @@ db_req(#httpd{path_parts=[_,<<"_ensure_full_commit">>]}=Req, _Db) ->
     send_method_not_allowed(Req, "POST");
 
 db_req(#httpd{method='POST',path_parts=[_,<<"_bulk_docs">>], user_ctx=Ctx}=Req, Db) ->
-    couch_stats:increment_counter([chttpd, bulk_requests]),
+    couch_stats:increment_counter([couchdb, httpd, bulk_requests]),
     couch_httpd:validate_ctype(Req, "application/json"),
     {JsonProps} = chttpd:json_body_obj(Req),
     DocsArray = case couch_util:get_value(<<"docs">>, JsonProps) of

http://git-wip-us.apache.org/repos/asf/couchdb-chttpd/blob/6b372c64/src/chttpd_view.erl
----------------------------------------------------------------------
diff --git a/src/chttpd_view.erl b/src/chttpd_view.erl
index 6a064e2..fb421a4 100644
--- a/src/chttpd_view.erl
+++ b/src/chttpd_view.erl
@@ -63,7 +63,7 @@ design_doc_view(Req, Db, DDoc, ViewName, Keys) ->
 
 handle_view_req(#httpd{method='GET',
         path_parts=[_, _, _, _, ViewName]}=Req, Db, DDoc) ->
-    couch_stats:increment_counter([chttpd, view_reads]),
+    couch_stats:increment_counter([couchdb, httpd, view_reads]),
     Keys = chttpd:qs_json_value(Req, "keys", undefined),
     design_doc_view(Req, Db, DDoc, ViewName, Keys);
 
@@ -74,10 +74,10 @@ handle_view_req(#httpd{method='POST',
     Queries = couch_mrview_util:get_view_queries(Props),
     case {Queries, Keys} of
         {Queries, undefined} when is_list(Queries) ->
-            [couch_stats:increment_counter([chttpd, view_reads]) || _I <- Queries],
+            [couch_stats:increment_counter([couchdb, httpd, view_reads]) || _I <- Queries],
             multi_query_view(Req, Db, DDoc, ViewName, Queries);
         {undefined, Keys} when is_list(Keys) ->
-            couch_stats:increment_counter([chttpd, view_reads]),
+            couch_stats:increment_counter([couchdb, httpd, view_reads]),
             design_doc_view(Req, Db, DDoc, ViewName, Keys);
         {undefined, undefined} ->
             throw({