Skip to content

Instantly share code, notes, and snippets.

@cdahlqvist
Forked from kellymclaughlin/pb_status_anon.txt
Last active December 17, 2015 16:18
Show Gist options
  • Save cdahlqvist/5637415 to your computer and use it in GitHub Desktop.
Save cdahlqvist/5637415 to your computer and use it in GitHub Desktop.
PBStatusFun = fun() ->
VnodePids = [Pid || {_, Pid} <- riak_core_vnode_manager:all_index_pid(riak_kv_vnode)],
Links = [process_info(Pid, [links]) || Pid <- VnodePids],
WorkerPoolPids = [WPPid || [{links,[_, WPPid]}] <- Links],
WorkerPoolLinks = [process_info(Pid, [links]) || Pid <- WorkerPoolPids],
PoolboyPids = [PoolboyPid || [{links,[_, PoolboyPid]}] <- WorkerPoolLinks],
[poolboy:status(Pid) || Pid <- PoolboyPids]
end.
PBStatusCountFun = fun() ->
VnodePids = [Pid || {_, Pid} <- riak_core_vnode_manager:all_index_pid(riak_kv_vnode)],
Links = [process_info(Pid, [links]) || Pid <- VnodePids],
WorkerPoolPids = [WPPid || [{links,[_, WPPid]}] <- Links],
WorkerPoolLinks = [process_info(Pid, [links]) || Pid <- WorkerPoolPids],
PoolboyPids = [PoolboyPid || [{links,[_, PoolboyPid]}] <- WorkerPoolLinks],
List = [poolboy:status(Pid) || Pid <- PoolboyPids],
dict:to_list(lists:foldl(fun(Item, Acc) ->
dict:update_counter(Item, 1, Acc)
end, dict:new(), List))
end.
PBStatusFun = fun(Index) ->
{_, VnodePid} = riak_core_vnode_manager:get_vnode_pid(Index, riak_kv_vnode),
Links = process_info(VnodePid, [links]),
[{links,[_, WorkerPoolPid]}] = Links,
WorkerPoolLink = process_info(WorkerPoolPid, [links]),
[{links,[_, PoolboyPid]}] = WorkerPoolLink,
Status = poolboy:status(PoolboyPid),
io:format("Pool Pid: ~p Status: ~p~n", [PoolboyPid, Status])
end.
%% Paste this into console and then run: PBStatusFun().
-module(poolboy_helper).
-compile(export_all).
poolboy_status() ->
VnodePids = [Pid || {_, Pid} <- riak_core_vnode_manager:all_index_pid(riak_kv_vnode)],
Links = [process_info(Pid, [links]) || Pid <- VnodePids],
WorkerPoolPids = [WPPid || [{links,[_, WPPid]}] <- Links],
WorkerPoolLinks = [process_info(Pid, [links]) || Pid <- WorkerPoolPids],
PoolboyPids = [PoolboyPid || [{links,[_, PoolboyPid]}] <- WorkerPoolLinks],
[poolboy:status(Pid) || Pid <- PoolboyPids].
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment