sigar 网络 java_java-Sigar网络速度
这个库对于获得cpu,ram和其他人员来说真是太棒了.但是,我不知道如何获得网络速度.那意味着.在一段时间内发送和接收多少数据会丢到网络购物车中?有办法给我这些数据吗?
这可能是我在寻找什么吗?
Tcp stat = sigar.getTcp();
stat.getInSegs() + " segments received"
stat.getOutSegs() + " segments send out"
如果无法使用sigar,还有其他库可以使用吗?
感谢帮助
解决方法:
输出:
{DefaultGateway=193.171.36.1, PrimaryDns=140.78.2.62,SecondaryDns=140.78.3.62, DomainName=, HostName=Schneider-PC}
{Name=eth0, Description=WAN Miniport (IPv6), Metric=0, Type=Ethernet,Address=0.0.0.0, Mtu=1500, Netmask=0.0.0.0, Flags=65,Broadcast=0.0.0.0, Hwaddr=34:F8:20:52:41:53, Destination=0.0.0.0}
totalrx(download): 4.7K
totaltx(upload): 154
totalrx(download): 1.4K
totaltx(upload): 180
码:
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.hyperic.sigar.NetFlags;
import org.hyperic.sigar.NetInterfaceConfig;
import org.hyperic.sigar.NetInterfaceStat;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
/**
* @author Headgrowe
*
*/
public class NetworkData {
static Map rxCurrentMap = new HashMap();
static Map> rxChangeMap = new HashMap>();
static Map txCurrentMap = new HashMap();
static Map> txChangeMap = new HashMap>();
private static Sigar sigar;
/**
* @throws InterruptedException
* @throws SigarException
*
*/
public NetworkData(Sigar s) throws SigarException, InterruptedException {
sigar = s;
getMetric();
System.out.println(networkInfo());
Thread.sleep(1000);
}
public static void main(String[] args) throws SigarException,
InterruptedException {
new NetworkData(new Sigar());
NetworkData.newMetrickThread();
}
public static String networkInfo() throws SigarException {
String info = sigar.getNetInfo().toString();
info += "\n"+ sigar.getNetInterfaceConfig().toString();
return info;
}
public static String getDefaultGateway() throws SigarException {
return sigar.getNetInfo().getDefaultGateway();
}
public static void newMetricThread() throws SigarException, InterruptedException {
while (true) {
Long[] m = getMetric();
long totalrx = m[0];
long totaltx = m[1];
System.out.print("totalrx(download): ");
System.out.println("\t" + Sigar.formatSize(totalrx));
System.out.print("totaltx(upload): ");
System.out.println("\t" + Sigar.formatSize(totaltx));
System.out.println("-----------------------------------");
Thread.sleep(1000);
}
}
public static Long[] getMetric() throws SigarException {
for (String ni : sigar.getNetInterfaceList()) {
// System.out.println(ni);
NetInterfaceStat netStat = sigar.getNetInterfaceStat(ni);
NetInterfaceConfig ifConfig = sigar.getNetInterfaceConfig(ni);
String hwaddr = null;
if (!NetFlags.NULL_HWADDR.equals(ifConfig.getHwaddr())) {
hwaddr = ifConfig.getHwaddr();
}
if (hwaddr != null) {
long rxCurrenttmp = netStat.getRxBytes();
saveChange(rxCurrentMap, rxChangeMap, hwaddr, rxCurrenttmp, ni);
long txCurrenttmp = netStat.getTxBytes();
saveChange(txCurrentMap, txChangeMap, hwaddr, txCurrenttmp, ni);
}
}
long totalrx = getMetricData(rxChangeMap);
long totaltx = getMetricData(txChangeMap);
for (List l : rxChangeMap.values())
l.clear();
for (List l : txChangeMap.values())
l.clear();
return new Long[] { totalrx, totaltx };
}
private static long getMetricData(Map> rxChangeMap) {
long total = 0;
for (Entry> entry : rxChangeMap.entrySet()) {
int average = 0;
for (Long l : entry.getValue()) {
average += l;
}
total += average / entry.getValue().size();
}
return total;
}
private static void saveChange(Map currentMap,
Map> changeMap, String hwaddr, long current,
String ni) {
Long oldCurrent = currentMap.get(ni);
if (oldCurrent != null) {
List list = changeMap.get(hwaddr);
if (list == null) {
list = new LinkedList();
changeMap.put(hwaddr, list);
}
list.add((current - oldCurrent));
}
currentMap.put(ni, current);
}
}
标签:network-programming,sigar,java
来源: https://codeday.me/bug/20191201/2079019.html
sigar 网络 java_java-Sigar网络速度相关推荐
- 首发 | 驭势科技推出“东风网络”:如何找到速度-精度的最优解?| 技术头条...
点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 作者 | 驭势科技 给定目标硬件,如何确定最优的速度-精度折衷边界?换言之:给定推断延时的限制,模型能达 ...
- 电脑如何测网速_【网络调试】网络速度检测工具有哪些?这五款工具让你随时掌控网速...
wifi测试软件有哪些?WiFi信号和声音一样,强弱都是可以测量的,检测WiFi的方法有很多,作为普通的家庭用户,我们有时需要测试WiFi的速度.信号强度.周围WiFi干扰等等,那么wifi信号如何检 ...
- 14种轻量级网络综述 — 主干网络篇
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨VincentLee 来源丨晓飞的算法工程笔记 编辑丨极市平台 导读 早期的卷积神经很少考虑参数 ...
- 网络营销外包——网络营销外包公司如何做好电子商务网站优化?
对于当下已经具备一定网站优化经验的站长来说,面对不同类型的网站进行优化已经具有一定的优化规律,结合自己的优化技术和优化思维制定相应的优化方案,相信该网站的优化效果很快就会见效.那么在面对电子商务类型网 ...
- Network 之四 常用 Linux 网络命令及网络调试工具介绍
网络互连模型 主要就是值得 OSI 参考模型与 TCP/IP 五层模型: 下面再来一张详细点的(来源于科来网络): 网络命令 目前,我们常用的网络相关的命令有两大类:net-tools 和 ipr ...
- 清空缓存的命令_最实用的6个网络命令,网络故障不求人
很多弱电工程师朋友在项目中经常遇到一些网络故障,需要通过一些一些命令去检测.定位故障点,通过使用网络命令,故障解决的工作取得了事半功倍的效果.下面就一起温故而知新吧! 一.ping命令(因特网包探索器 ...
- 计算机及网络的概念,网络的概念是什么意思,以及计算机网络概念的引入
网络的概念是什么意思? 该网络最初使用巨大的虚拟屏幕连接所有内容,也可以用作动词. 在计算机领域,网络是通过物理链接将各个独立的工作站或主机连接起来以形成数据链接,从而达到资源共享和通信的目的. 通过 ...
- 福禄克网络电缆测试仪LinkIQ网络电缆测试仪的使用方法
作为福禄克官方授权经销商-明辰智航将给你一个完整的LinkIQ有线+网络测试仪概述.首先,让我们来看看基本工具包里的内容. 我们有: LinkIQ本身 福禄克随身携带便捷包 快速参考指南说明书 CAT ...
- 网络基础:网络IP 、子网掩码 、路由器 、DNS知识分享
网络的基本概念 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器) 服务器:为客户端提供服务.数据.资源的机器 请求:客户端向服务器索取数据 响应:服务器对客户端请求作出反应,一般是返回 ...
- 揭秘2019双11背后的云网络 – 双11网络架构和洛神系统
图1 天猫双11成交额 2019年天猫双11成交额,2684亿!核心系统100%上云!全球最大流量洪峰,阿里云扛住了. 狂欢背后的技术栈 网上轻松购物体验实际上是背后复杂的技术组成的,这是一个简化 ...
最新文章
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
- wp自定义帖子没标签_谷歌对nofollow标签重新定义,百度是否有变化哪?
- 工业级光纤收发器使用“避坑”指南
- 基于python渗透测试_Python中基于属性的测试简介
- java项目_好程序员Java分享从入门到服务端项目开发的过程
- 【MongoDB for Java】Java操作MongoDB
- 有佳文档管理v2.03
- 啦啦外卖独立版配送小程序(黑色UI风格)
- 【知识点总结】大数据技术原理与应用
- 词根词缀学单词【1】
- 计算机界一些有意思的命名,程序员们也都很有情调嘛!
- Linux命令提示行设置--SP1
- ipad与macbook设置随行(ipad做笔记本副屏)
- XTTS 跨平台表空间迁移测试
- 中国为什么出不了乔布斯?
- java 修改mysql数据库表结构_MYSQL数据库表结构优化方法详解
- Ubuntu22.04安装riscv64-toolchain和QEMU
- 用 JS 进行 Base64 编码、解码
- HTML+CSS_第四部分(Sass与Less、PostCSS、CSS架构与文件组织、CSS新特征)
- mysql连接密码加密_数据库连接用户名和密码加密