主页

索引

模块索引

搜索页面

recon port

端口:

erlang:port_info(Port, Key).  % 基本信息
recon:port_info/1‐2
% 1.元信息(meta)
%   id: 端口的内部索引。除了用来区分端口外,没啥特殊用途
%   name: 端口的类型——比如像”tcp_inet”、”udp_inet”或者”efile”之类的名字
%   os_pid: 如果端口不是 inet socket,而是代表一个外部的进程或者程序
%       那么这个值会包含和外部程序对应的 OS 进程的 pid
% 2.信号(signals)
%   connected: 每个端口都会有一个控制进程来对其负责,connected 指的就是这个进程的pid
%   links: 端口可以和进程链接起来,方式和进程间的类似。links 包含的就是所链接进程的列表
%     注: 如果端口曾经的 owner 并不多,或者没有被手工和许多进程链接在一起,这个调用应该是安全的
%   monitors: 端口(代表外部程序)可以让外部程序监控 Erlang 进程
% 3.IO(io)
%   input 端口读入的字节数
%   output 写入端口的字节数
% 4.内存使用(memory_used)
%   memory 运行时系统为该端口分配的内存(单位为字节)。这个值会偏小,并没有包含端口自己分配的空间
%   queue_size 端口程序有一个特殊的队列,称为驱动程序队列。这个调用会返回队列大小,单位为字节
% 5.特定类型(type)
%   Inet Ports: 返回inet特定的数据
%     包括统计数据、socket(sockename)的本地地址和端口号以及使用的inet选项
%   其他: 目前除了inet端口外,recon不支持其他类型的端口,会返回空列表

例:
erl> recon:port_info("#Port<0.818>").

%操作步骤:
1.先整体
erl> recon:inet_count(oct, 3).
  [{#Port<0.241>,30,[{recv_oct,4},{send_oct,26}]},
   {#Port<0.238>,0,[{recv_oct,0},{send_oct,0}]}]
% 参数:
%   发送的字节数: send_oct
%   接收的字节数: recv_oct
%   收发的字节数: oct
%   发送的包数: send_cnt
%   接收的包数: recv_cnt
%   收发的包数: cnt
2.再细节
erl> recon:port_info("#Port<0.241>").
3.时间段
erl> recon:inet_window(Attribute, Count, Milliseconds)
例:
erl> recon:inet_window(send_oct, 3, 5000).

主页

索引

模块索引

搜索页面