Skip to content

Commit

Permalink
an attempt to fix a few different cases in convert_cpu_topology
Browse files Browse the repository at this point in the history
  • Loading branch information
joewilliams committed Aug 29, 2012
1 parent f9619b7 commit b6ab57c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 9 deletions.
16 changes: 8 additions & 8 deletions src/folsom_vm_metrics.erl
Original file line number Diff line number Diff line change
Expand Up @@ -133,19 +133,19 @@ convert_c_compiler_version({A, B}) ->
list_to_binary(io_lib:format("~p.~p", [A, B])).

convert_cpu_topology([{core, Value}| Tail], Acc) when is_tuple(Value) ->
convert_cpu_topology(Tail, lists:append(Acc, [{core, tuple_to_list(Value)}]));
convert_cpu_topology(Tail, lists:append(Acc, [{core, tuple_to_list(Value)}]));
convert_cpu_topology([{core, Value}| Tail], Acc) when is_list(Value) ->
convert_cpu_topology(Tail, lists:append(Acc, [{core, convert_cpu_topology(Value, [])}]));
convert_cpu_topology(Tail, lists:append(Acc, [{core, convert_cpu_topology(Value, [])}]));
convert_cpu_topology([{thread, Value}| Tail], Acc) ->
convert_cpu_topology(Tail, lists:append(Acc, [{thread, tuple_to_list(Value)}]));
convert_cpu_topology({logical, Value}, Acc) ->
convert_cpu_topology([], lists:append(Acc, [logical, Value]));
convert_cpu_topology(Tail, lists:append(Acc, [{thread, tuple_to_list(Value)}]));
convert_cpu_topology([{node, Value}| Tail], Acc) ->
convert_cpu_topology(Tail, lists:append(Acc, [{node, convert_cpu_topology(Value, [])}]));
convert_cpu_topology(Tail, lists:append(Acc, [{node, convert_cpu_topology(Value, [])}]));
convert_cpu_topology([{processor, Value}| Tail], Acc) ->
convert_cpu_topology(Tail, lists:append(Acc, [{processor, convert_cpu_topology(Value, [])}]));
convert_cpu_topology(Tail, lists:append(Acc, [{processor, convert_cpu_topology(Value, [])}]));
convert_cpu_topology({Key, Value}, _) ->
[{Key, Value}];
convert_cpu_topology([], Acc) ->
Acc.
Acc.

get_process_info(Pid) ->
Info = [process_info(Pid, Key) || Key <- ?PROCESS_INFO],
Expand Down
4 changes: 3 additions & 1 deletion test/folsom_erlang_checks.erl
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,9 @@ cpu_topology() ->
{core,[{thread,[logical,4]},{thread,[logical,12]}]},
{core,[{thread,[logical,6]},{thread,[logical,14]}]}]}]}],

ExpectedResult = folsom_vm_metrics:convert_cpu_topology(Test, []).
ExpectedResult = folsom_vm_metrics:convert_cpu_topology(Test, []),

[{logical, 0}] = folsom_vm_metrics:convert_cpu_topology({logical, 0}, []).

duration_check(Duration) ->
[?assert(lists:keymember(Key, 1, Duration)) || Key <-
Expand Down

0 comments on commit b6ab57c

Please sign in to comment.