This is an automated email from the ASF dual-hosted git repository. iilyak pushed a commit to branch couch-stats-resource-tracker-v3-rebase-http-2 in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 76c3c9d2e397861cc92a34f91544d997167e598b Author: ILYA Khlopotov <[email protected]> AuthorDate: Wed Jun 25 08:04:56 2025 -0700 Swap order of arguments in csrt_entry:value for consistency --- src/couch_stats/src/csrt_entry.erl | 36 ++++++++++++------------ src/couch_stats/src/csrt_query.erl | 4 +-- src/couch_stats/test/eunit/csrt_logger_tests.erl | 14 ++++----- src/couch_stats/test/eunit/csrt_server_tests.erl | 4 +-- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/couch_stats/src/csrt_entry.erl b/src/couch_stats/src/csrt_entry.erl index b1e21175b..fae6da351 100644 --- a/src/couch_stats/src/csrt_entry.erl +++ b/src/couch_stats/src/csrt_entry.erl @@ -21,25 +21,25 @@ from_map/1 ]). --spec value(#rctx{}, rctx_field()) -> any(). +-spec value(rctx_field(), #rctx{}) -> any(). -value(#rctx{pid_ref = Val}, pid_ref) -> Val; -value(#rctx{nonce = Val}, nonce) -> Val; -value(#rctx{type = Val}, type) -> csrt_util:convert_type(Val); -value(#rctx{dbname = Val}, dbname) -> Val; -value(#rctx{username = Val}, username) -> Val; -value(#rctx{db_open = Val}, db_open) -> Val; -value(#rctx{docs_read = Val}, docs_read) -> Val; -value(#rctx{docs_written = Val}, docs_written) -> Val; -value(#rctx{rows_read = Val}, rows_read) -> Val; -value(#rctx{changes_returned = Val}, changes_returned) -> Val; -value(#rctx{ioq_calls = Val}, ioq_calls) -> Val; -value(#rctx{js_filter = Val}, js_filter) -> Val; -value(#rctx{js_filtered_docs = Val}, js_filtered_docs) -> Val; -value(#rctx{get_kv_node = Val}, get_kv_node) -> Val; -value(#rctx{get_kp_node = Val}, get_kp_node) -> Val; -value(#rctx{started_at = Val}, started_at) -> Val; -value(#rctx{updated_at = Val}, updated_at) -> Val. +value(pid_ref, #rctx{pid_ref = Val}) -> Val; +value(nonce, #rctx{nonce = Val}) -> Val; +value(type, #rctx{type = Val}) -> csrt_util:convert_type(Val); +value(dbname, #rctx{dbname = Val}) -> Val; +value(username, #rctx{username = Val}) -> Val; +value(db_open, #rctx{db_open = Val}) -> Val; +value(docs_read, #rctx{docs_read = Val}) -> Val; +value(docs_written, #rctx{docs_written = Val}) -> Val; +value(rows_read, #rctx{rows_read = Val}) -> Val; +value(changes_returned, #rctx{changes_returned = Val}) -> Val; +value(ioq_calls, #rctx{ioq_calls = Val}) -> Val; +value(js_filter, #rctx{js_filter = Val}) -> Val; +value(js_filtered_docs, #rctx{js_filtered_docs = Val}) -> Val; +value(get_kv_node, #rctx{get_kv_node = Val}) -> Val; +value(get_kp_node, #rctx{get_kp_node = Val}) -> Val; +value(started_at, #rctx{started_at = Val}) -> Val; +value(updated_at, #rctx{updated_at = Val}) -> Val. -spec key(BinKey :: binary() | string() | atom()) -> Key :: rctx_field() | throw({bad_request, Reason :: binary()}). diff --git a/src/couch_stats/src/csrt_query.erl b/src/couch_stats/src/csrt_query.erl index a512366a9..3bfbc8bd1 100644 --- a/src/couch_stats/src/csrt_query.erl +++ b/src/couch_stats/src/csrt_query.erl @@ -93,7 +93,7 @@ find_workers_by_pidref(PidRef) -> csrt_server:match_resource(#rctx{type = #rpc_worker{from = PidRef}}). curry_field(Field) -> - fun(Ele) -> csrt_entry:value(Ele, Field) end. + fun(Ele) -> csrt_entry:value(Field, Ele) end. count_by(KeyFun) -> csrt_query:count_by(all(), KeyFun). @@ -143,7 +143,7 @@ all() -> %% eg: group_by(all(), [username, dbname, mfa], ioq_calls). %% eg: group_by(all(), [username, dbname, mfa], js_filters). group_by(Matcher, KeyL, ValFun, AggFun, Limit) when is_list(KeyL) -> - KeyFun = fun(Ele) -> list_to_tuple([csrt_entry:value(Ele, Key) || Key <- KeyL]) end, + KeyFun = fun(Ele) -> list_to_tuple([csrt_entry:value(Key, Ele) || Key <- KeyL]) end, group_by(Matcher, KeyFun, ValFun, AggFun, Limit); group_by(Matcher, Key, ValFun, AggFun, Limit) when is_atom(Key) -> group_by(Matcher, curry_field(Key), ValFun, AggFun, Limit); diff --git a/src/couch_stats/test/eunit/csrt_logger_tests.erl b/src/couch_stats/test/eunit/csrt_logger_tests.erl index 484817313..c856febab 100644 --- a/src/couch_stats/test/eunit/csrt_logger_tests.erl +++ b/src/couch_stats/test/eunit/csrt_logger_tests.erl @@ -288,8 +288,8 @@ t_matcher_on_changes_processed(#{rctxs := Rctxs0}) -> %% Make sure we have at least one match Rctxs = [rctx_gen(#{rows_read => Threshold + 10}) | Rctxs0], ChangesFilter = fun(R) -> - Ret = csrt_entry:value(R, changes_returned), - Proc = csrt_entry:value(R, rows_read), + Ret = csrt_entry:value(changes_returned, R), + Proc = csrt_entry:value(rows_read, R), (Proc - Ret) >= Threshold end, ?assertEqual( @@ -309,8 +309,8 @@ t_matcher_on_long_reqs(#{rctxs := Rctxs0}) -> UpdatedAt = Now - round(NativeThreshold * 1.23), Rctxs = [rctx_gen(#{started_at => Now, updated_at => UpdatedAt}) | Rctxs0], DurationFilter = fun(R) -> - Started = csrt_entry:value(R, started_at), - Updated = csrt_entry:value(R, updated_at), + Started = csrt_entry:value(started_at, R), + Updated = csrt_entry:value(updated_at, R), abs(Updated - Started) >= NativeThreshold end, ?assertEqual( @@ -472,7 +472,7 @@ matcher_on(Field, Value) -> matcher_for(Field, Value, fun erlang:'=:='/2). matcher_for(Field, Value, Op) -> - fun(Rctx) -> Op(csrt_entry:value(Rctx, Field), Value) end. + fun(Rctx) -> Op(csrt_entry:value(Field, Rctx), Value) end. matcher_for_csrt(MatcherName) -> Matchers = #{MatcherName => {_, _} = csrt_logger:get_matcher(MatcherName)}, @@ -487,9 +487,9 @@ matcher_for_csrt(MatcherName) -> matcher_for_dbname_io(Dbname0, Threshold) -> Dbname = list_to_binary(Dbname0), fun(Rctx) -> - DbnameA = csrt_entry:value(Rctx, dbname), + DbnameA = csrt_entry:value(dbname, Rctx), Fields = [ioq_calls, get_kv_node, get_kp_node, docs_read, rows_read], - Vals = [{F, csrt_entry:value(Rctx, F)} || F <- Fields], + Vals = [{F, csrt_entry:value(F, Rctx)} || F <- Fields], Dbname =:= mem3:dbname(DbnameA) andalso lists:any(fun({_K, V}) -> V >= Threshold end, Vals) end. diff --git a/src/couch_stats/test/eunit/csrt_server_tests.erl b/src/couch_stats/test/eunit/csrt_server_tests.erl index 732c4fa3f..89da7b4b3 100644 --- a/src/couch_stats/test/eunit/csrt_server_tests.erl +++ b/src/couch_stats/test/eunit/csrt_server_tests.erl @@ -278,8 +278,8 @@ t_updated_at({_Ctx, DbName, _View}) -> docs_written => 0, pid_ref => PidRef }), - Started = csrt_entry:value(RawRctx, started_at), - Updated = csrt_entry:value(RawRctx, updated_at), + Started = csrt_entry:value(started_at, RawRctx), + Updated = csrt_entry:value(updated_at, RawRctx), ?assert( csrt_util:make_dt(Started, Updated, millisecond) > TimeDelay, "updated_at gets updated with an expected TimeDelay"
