Convert Figma logo to code with AI

zhongyang219 logoTrafficMonitor

这是一个用于显示当前网速、CPU及内存利用率的桌面悬浮窗软件,并支持任务栏显示,支持更换皮肤。

34,301
3,234
34,301
1,029

Top Related Projects

70,358

Architected for speed. Automated for easy. Monitoring and troubleshooting, transformed!

20,379

A monitor of resources

26,585

Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

3,123

Linux 'net top' tool

1,400

vnStat - a network traffic monitor for Linux and BSD

Quick Overview

TrafficMonitor is an open-source network monitoring tool for Windows. It displays real-time network traffic, CPU and memory usage in a compact, customizable interface. The application runs in the system tray and can show detailed statistics in a separate window.

Pros

  • Lightweight and resource-efficient
  • Highly customizable interface and display options
  • Supports multiple languages
  • Free and open-source

Cons

  • Windows-only, not available for other operating systems
  • Limited advanced network analysis features
  • May require manual configuration for some network adapters
  • Occasional issues with accuracy on certain system configurations

Getting Started

  1. Download the latest release from the GitHub releases page.
  2. Extract the ZIP file to a desired location on your computer.
  3. Run TrafficMonitor.exe to start the application.
  4. Right-click on the taskbar display to access settings and customization options.
  5. To view detailed statistics, double-click on the taskbar display or right-click and select "Show More Info".

Note: TrafficMonitor does not require installation and can be run as a portable application.

Competitor Comparisons

70,358

Architected for speed. Automated for easy. Monitoring and troubleshooting, transformed!

Pros of netdata

  • More comprehensive system monitoring, covering a wide range of metrics beyond just network traffic
  • Highly customizable and extensible with plugins and custom dashboards
  • Supports monitoring multiple systems and provides a centralized view

Cons of netdata

  • More complex setup and configuration compared to TrafficMonitor
  • Higher resource usage due to its extensive monitoring capabilities
  • Steeper learning curve for users who only need basic network monitoring

Code Comparison

TrafficMonitor (C++):

void CTrafficMonitor::GetNetworkTraffic()
{
    DWORD dwRetVal = GetIfTable(m_pIfTable, &m_dwSize, FALSE);
    if (dwRetVal == NO_ERROR)
    {
        // Process network interface data
    }
}

netdata (C):

static void get_data(const char *interface) {
    struct rtnl_link *link;
    int err;

    err = rtnl_link_get_kernel(nl_sock, 0, interface, &link);
    if (err < 0) {
        // Handle error
    }
    // Process network interface data
}

Both projects aim to monitor network traffic, but netdata offers a more comprehensive solution with advanced features and broader system monitoring capabilities. TrafficMonitor is simpler and more focused on basic network monitoring, making it easier to set up and use for users with minimal requirements. The code snippets show that both projects interact with system-level APIs to gather network data, but netdata's implementation is more complex due to its broader scope.

20,379

A monitor of resources

Pros of btop

  • More comprehensive system monitoring, including CPU, memory, disks, and network
  • Cross-platform support (Linux, macOS, FreeBSD, OpenBSD)
  • Highly customizable interface with themes and layout options

Cons of btop

  • Command-line interface may be less user-friendly for some users
  • Requires terminal access, not suitable for always-on desktop widget
  • Higher system resource usage due to more extensive monitoring

Code comparison

TrafficMonitor (C++):

void CTrafficMonitorDlg::OnTimer(UINT_PTR nIDEvent)
{
    if (nIDEvent == MONITOR_TIMER)
    {
        MonitorThread();
    }
}

btop (C++):

void Runner::run() {
    while (true) {
        if (Config::getB("update_check"))
            updater();
        runner_update();
        runner_draw();
        if (Input::poll()) break;
    }
}

Both projects use C++, but btop's code structure appears more modular and event-driven, while TrafficMonitor relies on a timer-based approach for updates. btop's main loop continuously updates and draws the interface, whereas TrafficMonitor updates on a timer event.

26,585

Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

Pros of Glances

  • Cross-platform support (Linux, macOS, Windows)
  • More comprehensive system monitoring (CPU, memory, network, processes, disk I/O, sensors)
  • Web-based interface and REST API for remote monitoring

Cons of Glances

  • More complex setup and configuration
  • Higher resource usage due to more extensive monitoring capabilities
  • Requires Python installation and dependencies

Code Comparison

TrafficMonitor (C++):

void CTrafficMonitorDlg::OnTimer(UINT_PTR nIDEvent)
{
    if (nIDEvent == MONITOR_TIMER)
    {
        MonitorThread();
    }
}

Glances (Python):

def update(self):
    """Update the stats."""
    # Call the father's method
    super(PluginModel, self).update()

    # Add refresh time
    self.stats['time_since_update'] = getTimeSinceLastUpdate('system')

Summary

TrafficMonitor is a lightweight, Windows-specific network traffic monitor with a simple interface. Glances offers more comprehensive system monitoring across multiple platforms but requires more setup and resources. TrafficMonitor is ideal for basic network monitoring on Windows, while Glances suits users needing detailed system information across different operating systems.

3,123

Linux 'net top' tool

Pros of nethogs

  • Command-line based, offering lightweight and efficient operation
  • Provides per-process network usage statistics
  • Supports real-time monitoring and sorting of network traffic

Cons of nethogs

  • Limited to Linux systems, lacking cross-platform compatibility
  • Requires root privileges to run, which may be a security concern
  • Less user-friendly for those unfamiliar with command-line interfaces

Code comparison

TrafficMonitor (C++):

void CTrafficMonitor::ShowInfo()
{
    CString str;
    str.Format(_T("%s: %s"), m_network_info.GetNetworkName().c_str(), m_network_info.GetConnectionType().c_str());
    m_tool_tips.AddToolTip(IDC_NETWORK_INFO_STATIC, str);
}

nethogs (C):

void print_netstat(const char *device, int refresh_interval)
{
    struct pcap_pkthdr header;
    const u_char *packet;
    while ((packet = pcap_next(handle, &header)) != NULL) {
        process_packet(packet, header.len);
    }
}

Both projects focus on network monitoring, but TrafficMonitor provides a graphical interface for Windows, while nethogs offers a command-line solution for Linux. TrafficMonitor's code snippet shows GUI-related functionality, whereas nethogs' code demonstrates low-level packet processing.

1,400

vnStat - a network traffic monitor for Linux and BSD

Pros of vnstat

  • Cross-platform support (Linux, BSD, macOS, Solaris)
  • Lightweight and efficient, suitable for low-resource environments
  • Provides detailed historical data and generates reports

Cons of vnstat

  • Command-line interface, less user-friendly for non-technical users
  • Limited real-time monitoring capabilities
  • Requires root privileges for installation and configuration

Code Comparison

TrafficMonitor (C++):

void CTrafficMonitor::ShowInfo()
{
    CString str;
    str.Format(_T("%s: %s"), CCommon::LoadText(IDS_TRAFFIC_USED_TODAY), m_today_traffic.ToString());
    m_tool_tips.AddTool(this, str);
}

vnstat (C):

void print_traffic_bar(const char *iface, const uint64_t rx, const uint64_t tx, const int len)
{
    char bar[512];
    int i, tlen = 0;
    uint64_t max;

    max = (rx > tx) ? rx : tx;
    for (i = 0; i < len; i++) {
        if ((uint64_t)(i + 1) * max / len <= rx)
            bar[i] = '#';
        else if ((uint64_t)(i + 1) * max / len <= tx)
            bar[i] = ':';
        else
            bar[i] = '.';
        tlen++;
    }
    bar[tlen] = '\0';

    printf(" %s %s\n", iface, bar);
}

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

简体中文 | English
Badge LICENSE GitHub Workflow Status GitHub release

TrafficMonitor 简介

Traffic Monitor是一款用于Windows平台的网速监控悬浮窗软件,可以显示当前网速、CPU及内存利用率,支持嵌入到任务栏显示,支持更换皮肤、历史流量统计等功能。

相关链接:

请点击此处下载TrafficMonitor的最新版本。
备用链接:百度网盘下载 提取码:ou0m

国内用户如果遇到Github下载缓慢的问题,可以点击此处转到此项目在Gitee上的页面。

如果遇到问题,请点击此处查看常见问题。

你也可以点击此处下载TrafficMonitor的预发行构建版本。

从1.80版本开始,TrafficMonitor加入了温度监控功能,如果你不需要温度监控功能,并且在使用1.80以上版本中遇到了问题,建议下载不含温度监控的版本(Lite版本)。(在Release页面找到文件名包含Lite的版本。)

TrafficMonitor依赖于Microsoft Visual C++ 运行环境,如果程序启动时提示“找不到MSVC*.dll”,请点击以下链接下载并安装Microsoft Visual C++ 运行环境。

最新支持的 Visual C++ 可再发行程序包下载 | Microsoft Docs

版本说明

TrafficMonitor提供了普通版和Lite版两种版本可用。普通版包含了所有的功能,Lite版本则不包含温度监控、显卡利用率、硬盘利用率等硬件监控功能。普通版运行需要管理员权限,而Lite版本则不需要。

如果没有监控温度等硬件信息的需要,建议使用Lite版。

以下是两个版本功能对比。

功能普通版Lite版
网速监控✔✔
CPU、内存利用率✔✔
CPU、显卡、硬盘、主板温度监控✔❌
CPU频率监控✔❌
显卡利用率监控✔❌
硬盘利用率监控✔❌
网络详细信息✔✔
插件系统✔✔
主窗口更换皮肤✔✔
需要管理员权限是否

主要特性

  • 显示当前实现网络传输速率、CPU和内存占用率
  • 如果电脑有多个网卡,支持自动和手动选择网络连接
  • 查看网络详细信息
  • 支持嵌入到任务栏显示
  • 支持更换皮肤和自定义皮肤
  • 历史流量统计
  • 硬件信息监控
  • 插件系统

使用说明

点击这里转到Wiki页面查看关于TrafficMonitor的详细说明文档。

截图

主悬浮窗:

右键菜单:

任务栏窗口:

多彩皮肤:

如何使用

程序启动后在会在屏幕中显示一个显示网速的悬浮窗。在悬浮窗上点击鼠标右键可以弹出右键菜单。

TrafficMonitor支持将信息显示到任务栏。但是TrafficMonitor默认只显示主窗口(悬浮窗),如果需要让它嵌入到任务栏显示,请在右键菜单中选择“显示任务栏窗口”命令。

任务栏窗口支持自定义显示项目,默认情况下只显示网速,如果需要显示CPU和内存利用率,请在任务栏右键菜单中的“显示设置”子菜单下勾选需要显示的项目,如下图所示:

自定义皮肤


在主窗口或通知区图标右键菜单上选择“其他功能”——“更换皮肤”可以打开更换皮肤界面。点击此处可以下载更多皮肤。用户还可以根据自己的需要编辑自己的皮肤。
皮肤文件放在程序所在目录的skins目录下,每个皮肤被放到单独的文件夹下,文件夹的名称就是皮肤的名称。
其中background.bmp和background_l.bmp是背景图片,skin.ini是皮肤的配置文件,可以通过skin.ini指定文本颜色、字体、皮肤作者、每个项目的大小和位置等信息。

从1.80版本开始增加了xml格式的皮肤配置文件skin.xml,只有xml格式的皮肤配置文件才支持温度和显卡使用率显示。

详细的皮肤制作教程请点击以下链接:

皮肤制作教程 · zhongyang219/TrafficMonitor Wiki (github.com)

选项设置


在右键菜单选择“选项...”可以进入选项设置。在选项设置对话框中,可以单独设置主窗口和任务栏窗口的文本颜色、字体、背景颜色、网速单位、显示的文本等。
在“常规设置”选项卡中,可以设置是否在程序时自动检查更新,以及是否需要在开机是自动运行。可以设置在什么时候需要发出消息通知。
从1.72版本开始,支持每个项目文本颜色单独设置。勾选“指定每个项目的颜色”后,点击“文本颜色”右边的颜色框,会弹出详细颜色设置的对话框,可以在这里单独指定每个项目的颜色。

插件系统

从1.82版本开始增加了插件系统,插件dll必须放在“TrafficMonitor.exe”同级目录的“plugins”目录下。程序启动后,插件会自动加载。你可以在右键菜单“更多功能”——“插件管理”中查看并管理已加载的插件。

关于如何开发TrafficMonitor的说明,请参见插件开发指南 · zhongyang219/TrafficMonitor Wiki (github.com)。

要下载TrafficMonitor插件,请点击这里。

关于硬件监控功能

从1.80版本开始,TrafficMonitor加入了硬件监控功能(包括温度监控和显卡使用率监控、CPU频率监控),它使用了第三方开源库LibreHardwareMonitor。如果你在使用温度监控功能时遇到了问题,请点击这里。

需要注意的是,温度监控功能默认是关闭的,如果你要使用TrafficMonitor的温度监控功能,请到“选项设置”-“常规设置”-“硬件监控”中开启。

注意:硬件监控功能(包括温度监控和显卡使用率监控)可能存在一些问题,它可能会占用更多的CPU和内存。据部分用户反馈,开启温度功能后会导致程序崩溃和系统死机等问题,请在知晓以上风险后再决定开启硬件监控功能。否则,请不要使用硬件监控功能。

更新日志

点击此处查看更新日志