./ct_report/coverage/mongoose_metrics_probe_tcp.COVER.html

1 %%==============================================================================
2 %% Copyright 2019 Erlang Solutions Ltd.
3 %%
4 %% Licensed under the Apache License, Version 2.0 (the "License");
5 %% you may not use this file except in compliance with the License.
6 %% You may obtain a copy of the License at
7 %%
8 %% http://www.apache.org/licenses/LICENSE-2.0
9 %%
10 %% Unless required by applicable law or agreed to in writing, software
11 %% distributed under the License is distributed on an "AS IS" BASIS,
12 %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 %% See the License for the specific language governing permissions and
14 %% limitations under the License.
15 %%==============================================================================
16 -module(mongoose_metrics_probe_tcp).
17 -behaviour(mongoose_metrics_probe).
18
19 -export([sample/0, datapoints/0]).
20
21 datapoints() ->
22 128 [value].
23
24 sample() ->
25 130 OpenTcpPorts = length(port_list(name, "tcp_inet")),
26 130 #{value => OpenTcpPorts}.
27
28 -spec port_list(Attr::atom(), term()) -> [port()].
29 port_list(Attr, Val) ->
30 130 [Port || Port <- erlang:ports(),
31 1759 {Attr, Val} =:= erlang:port_info(Port, Attr)].
Line Hits Source