diff options
author | Russell Branca <chewbranca@apache.org> | 2023-01-17 09:41:14 -0800 |
---|---|---|
committer | Russell Branca <chewbranca@apache.org> | 2023-05-04 13:00:34 -0700 |
commit | df7c13e84eebe4f91c284f315427c3a0e07a4071 (patch) | |
tree | f03bb707ffb1a4061d6e744d5b969eff8193a3af | |
parent | b566bbe4c85d4934d3409632d01679f403cf561a (diff) | |
download | couchdb-df7c13e84eebe4f91c284f315427c3a0e07a4071.tar.gz |
Add measures logging
-rw-r--r-- | src/couch_log/priv/stats_descriptions.cfg | 4 | ||||
-rw-r--r-- | src/couch_log/src/couch_log.erl | 11 | ||||
-rw-r--r-- | src/mango/src/mango_cursor_view.erl | 1 | ||||
-rw-r--r-- | src/mango/src/mango_execution_stats.erl | 11 |
4 files changed, 22 insertions, 5 deletions
diff --git a/src/couch_log/priv/stats_descriptions.cfg b/src/couch_log/priv/stats_descriptions.cfg index 31e41614b..febb5e057 100644 --- a/src/couch_log/priv/stats_descriptions.cfg +++ b/src/couch_log/priv/stats_descriptions.cfg @@ -46,3 +46,7 @@ {type, counter}, {desc, <<"number of logged warning messages">>} ]}. +{[couch_log, level, report], [ + {type, counter}, + {desc, <<"number of logged report messages">>} +]}. diff --git a/src/couch_log/src/couch_log.erl b/src/couch_log/src/couch_log.erl index d519082ce..3d198994c 100644 --- a/src/couch_log/src/couch_log.erl +++ b/src/couch_log/src/couch_log.erl @@ -21,7 +21,7 @@ critical/2, alert/2, emergency/2, - report/2, + report/4, set_level/1 ]). @@ -49,11 +49,12 @@ alert(Fmt, Args) -> log(alert, Fmt, Args). -spec emergency(string(), list()) -> ok. emergency(Fmt, Args) -> log(emergency, Fmt, Args). --spec report(string(), map()) -> ok. -report(ReportId, Meta) when is_map(Meta) -> +-spec report(string(), string(), list(), map()) -> ok. +report(ReportId, Fmt, Args, Meta) when is_map(Meta) -> couch_stats:increment_counter([couch_log, level, report]), - Entry = couch_log_formatter:format(report, self(), ReportId, "", [], Meta), - ok = couch_log_server:report(Entry). + Entry = couch_log_formatter:format(report, self(), ReportId, Fmt, Args, Meta), + %%ok = couch_log_server:report(Entry). + ok = couch_log_server:log(Entry). -spec set_level(atom() | string() | integer()) -> true. set_level(Level) -> diff --git a/src/mango/src/mango_cursor_view.erl b/src/mango/src/mango_cursor_view.erl index eec8dc4fe..412ee62bb 100644 --- a/src/mango/src/mango_cursor_view.erl +++ b/src/mango/src/mango_cursor_view.erl @@ -229,6 +229,7 @@ execute(#cursor{db = Db, index = Idx, execution_stats = Stats} = Cursor0, UserFu Arg = {add_key, bookmark, NewBookmark}, {_Go, FinalUserAcc} = UserFun(Arg, LastCursor#cursor.user_acc), Stats0 = LastCursor#cursor.execution_stats, + mango_execution_stats:log_stats(Stats0), FinalUserAcc0 = mango_execution_stats:maybe_add_stats( Opts, UserFun, Stats0, FinalUserAcc ), diff --git a/src/mango/src/mango_execution_stats.erl b/src/mango/src/mango_execution_stats.erl index 0db3edf5f..2752f5a71 100644 --- a/src/mango/src/mango_execution_stats.erl +++ b/src/mango/src/mango_execution_stats.erl @@ -21,6 +21,7 @@ incr_results_returned/1, log_start/1, log_end/1, + log_stats/1, maybe_add_stats/4 ]). @@ -74,6 +75,9 @@ log_end(Stats) -> maybe_add_stats(Opts, UserFun, Stats0, UserAcc) -> Stats1 = log_end(Stats0), couch_stats:update_histogram([mango, query_time], Stats1#execution_stats.executionTimeMs), + %% TODO: validate rows/reads assignments + chttpd_stats:incr_rows(Stats1#execution_stats.totalDocsExamined), + chttpd_stats:incr_reads(Stats1#execution_stats.totalQuorumDocsExamined), case couch_util:get_value(execution_stats, Opts) of true -> @@ -84,3 +88,10 @@ maybe_add_stats(Opts, UserFun, Stats0, UserAcc) -> _ -> UserAcc end. + +log_stats(Stats) -> + {JStats0} = to_json(Stats), + Nonce = list_to_binary(couch_log_util:get_msg_id()), + JStats = {[{<<"nonce">>, Nonce} | JStats0]}, + %% TODO: switch to report + couch_log:report("FIXME-reportid", "[ASDFMARKER] GOT MANGO EXEC STATS: ~s", [binary_to_list(jiffy:encode(JStats))], #{}). |