Skip to content

Commit

Permalink
Move MAM MUC metrics to mod_mam_muc
Browse files Browse the repository at this point in the history
  • Loading branch information
gustawlippa committed Apr 23, 2021
1 parent 77360f4 commit d0c19c9
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
32 changes: 25 additions & 7 deletions src/mam/mod_mam_muc.erl
Original file line number Diff line number Diff line change
Expand Up @@ -161,20 +161,16 @@ start(Host, Opts) ->
?MODULE, room_process_mam_iq, IQDisc),
gen_iq_handler:add_iq_handler(mod_muc_iq, MUCHost, ?NS_MAM_06,
?MODULE, room_process_mam_iq, IQDisc),
ejabberd_hooks:add(filter_room_packet, MUCHost, ?MODULE,
filter_room_packet, 90),
ejabberd_hooks:add(forget_room, MUCHost, ?MODULE, forget_room, 90),
ejabberd_hooks:add(get_personal_data, Host, ?MODULE, get_personal_data, 50),
ejabberd_hooks:add(hooks(Host, MUCHost)),
ensure_metrics(Host),
ok.

-spec stop(Host :: jid:server()) -> any().

stop(Host) ->
MUCHost = gen_mod:get_module_opt_subhost(Host, mod_mam_muc, mod_muc:default_host()),
?LOG_DEBUG(#{what => mam_muc_stopping}),
ejabberd_hooks:delete(filter_room_packet, MUCHost, ?MODULE, filter_room_packet, 90),
ejabberd_hooks:delete(forget_room, MUCHost, ?MODULE, forget_room, 90),
ejabberd_hooks:delete(get_personal_data, Host, ?MODULE, get_personal_data, 50),
ejabberd_hooks:delete(hooks(Host, MUCHost)),
gen_iq_handler:remove_iq_handler(mod_muc_iq, MUCHost, ?NS_MAM_04),
gen_iq_handler:remove_iq_handler(mod_muc_iq, MUCHost, ?NS_MAM_06),
[mod_disco:unregister_feature(MUCHost, Feature) || Feature <- features(?MODULE, Host)],
Expand Down Expand Up @@ -605,3 +601,25 @@ is_archivable_message(MUCHost, Dir, Packet) ->
{M, F} = mod_mam_params:is_archivable_message_fun(?MODULE, Host),
ArchiveChatMarkers = mod_mam_params:archive_chat_markers(?MODULE, Host),
erlang:apply(M, F, [?MODULE, Dir, Packet, ArchiveChatMarkers]).

-spec hooks(jid:lserver(), jid:lserver()) -> [ejabberd_hooks:hook()].
hooks(Host, MUCHost) ->
[{filter_room_packet, MUCHost, ?MODULE, filter_room_packet, 90},
{forget_room, MUCHost, ?MODULE, forget_room, 90},
{get_personal_data, Host, ?MODULE, get_personal_data, 50}
| mongoose_metrics_mam_hooks:get_mam_muc_hooks(Host)].

ensure_metrics(Host) ->
lists:foreach(fun(Name) ->
mongoose_metrics:ensure_metric(Host, Name, spiral)
end,
spirals()).

spirals() ->
[modMucMamPrefsSets,
modMucMamPrefsGets,
modMucMamArchiveRemoved,
modMucMamLookups,
modMucMamForwarded,
modMucMamArchived,
modMucMamFlushed].
9 changes: 1 addition & 8 deletions src/metrics/mongoose_metrics_definitions.hrl
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,7 @@
modPrivacyGets,
modPrivacyStanzaDenied,
modPrivacyStanzaBlocked,
modPrivacyStanzaAll,
modMucMamPrefsSets,
modMucMamPrefsGets,
modMucMamArchiveRemoved,
modMucMamLookups,
modMucMamForwarded,
modMucMamArchived,
modMucMamFlushed
modPrivacyStanzaAll
]).

-define(TOTAL_COUNTERS, [
Expand Down

0 comments on commit d0c19c9

Please sign in to comment.