[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6568":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":19,"lastSyncTime":39,"discoverSource":40},6568,"kyanos","hengyoush\u002Fkyanos","hengyoush","Kyanos is a networking analysis tool using eBPF. It can visualize the time packets spend in the kernel, capture requests\u002Fresponses, makes troubleshooting more efficient.","https:\u002F\u002Fkyanos.io",null,"C",5028,231,22,14,0,3,12,2,38.1,"Apache License 2.0",false,"main",true,[26,27,28,29,30,31,32,33,34,35],"bpf","capture","command-line","command-line-tool","ebpf","network","sniffer","tcp","tcpdump","tcpdump-like","2026-06-12 02:01:26","# kyanos\n\n\u003Cdiv align=\"center\"> \n\u003Ci>One command to find slowest requests and identify the reasons.\u003C\u002Fi>\n \u003Cbr\u002F>\n\u003C\u002Fdiv>\n\n![](docs\u002Fpublic\u002Fkyanos-demo.gif)\n\n\u003Cdiv align=\"center\">  \n \n[![GitHub last commit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fhengyoush\u002Fkyanos)](#) \n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fhengyoush\u002Fkyanos)](#) \n[![Test](https:\u002F\u002Fgithub.com\u002Fhengyoush\u002Fkyanos\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fhengyoush\u002Fkyanos\u002Factions\u002Fworkflows\u002Ftest.yml) \n\n\u003Ca href=\"https:\u002F\u002Ftrendshift.io\u002Frepositories\u002F12330\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Ftrendshift.io\u002Fapi\u002Fbadge\u002Frepositories\u002F12330\" alt=\"hengyoush%2Fkyanos | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"\u002F>\u003C\u002Fa>\n[![Featured on Hacker News](https:\u002F\u002Fhackerbadge.now.sh\u002Fapi?id=42154583)](https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=42154583)\n\u003Ca href=\"https:\u002F\u002Fhellogithub.com\u002Frepository\u002F9e20a14a45dd4cd5aa169acf0e21fc45\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fabroad.hellogithub.com\u002Fv1\u002Fwidgets\u002Frecommend.svg?rid=9e20a14a45dd4cd5aa169acf0e21fc45&claim_uid=temso5CUu6fB7wb\" alt=\"Featured｜HelloGitHub\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" \u002F>\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\n[简体中文](.\u002FREADME_CN.md) | English\n\n- [English Document](https:\u002F\u002Fkyanos.io\u002F)\n\n## Table of Contents\n\n- [kyanos](#kyanos)\n  - [Table of Contents](#table-of-contents)\n  - [What is kyanos](#what-is-kyanos)\n  - [Examples](#examples)\n  - [❗ Requirements](#-requirements)\n  - [🎯 How to get kyanos](#-how-to-get-kyanos)\n  - [📝 Documentation](#-documentation)\n  - [⚙ Usage](#-usage)\n  - [🏠 How to build](#-how-to-build)\n  - [Roadmap](#roadmap)\n  - [🤝 Feedback and Contributions](#-feedback-and-contributions)\n  - [🙇‍ Special Thanks](#-special-thanks)\n  - [🗨️ Contacts](#️-contacts)\n  - [Star History](#star-history)\n\n## What is kyanos\n\nKyanos is an **eBPF-based** network issue analysis tool that enables you to\ncapture network requests, such as HTTP, Redis, and MySQL requests.  \nIt also helps you analyze abnormal network issues and quickly troubleshooting\nwithout the complex steps of packet capturing, downloading, and analysis.\n\n1. **Powerful Traffic Filtering**: Not only can filter based on traditional\n   IP\u002Fport information, can also filter by process\u002Fcontainer, L7 protocol\n   information, request\u002Fresponse byte size, latency, and more.\n\n```bash\n# Filter by pid\n.\u002Fkyanos watch --pids 1234\n# Filter by container id\n.\u002Fkyanos watch --container-id abc\n# Filter by Redis key\n.\u002Fkyanos watch redis --keys my-key1,my-key2\n# Filter by response byte size\n.\u002Fkyanos watch --resp-size 10000\n```\n\n2. **Advanced Analysis Capabilities** : Unlike tcpdump, which only provides\n   fine-grained packet capture, Kyanos supports aggregating captured packet\n   metrics across various dimensions, quickly providing the critical data most\n   useful for troubleshooting.  \n   Imagine if the bandwidth of your HTTP service is suddenly maxed out—how would\n   you quickly analyze `which IPs` and `which  requests` are causing it?  \n   With Kyanos, you just need one command: `kyanos stat http --bigresp` to find\n   the largest response byte sizes sent to remote IPs and view specific data on\n   request and response metrics.  \n   ![kyanos find big response](docs\u002Fpublic\u002Fwhatkyanos.gif)\n\n3. **In-Depth Kernel-Level Latency Details**: In real-world, slow queries to\n   remote services like Redis can be challenging to diagnose precisely. Kyanos\n   provides kernel trace points from the arrival of requests\u002Fresponses at the\n   network card to the kernel socket buffer, displaying these details in a\n   visual format. This allows you to identify exactly which stage is causing\n   delays.\n\n![kyanos time detail](docs\u002Fpublic\u002Ftimedetail.jpg)\n\n4. **Lightweight and Dependency-Free**: Almost zero dependencies—just a single\n   binary file and one command, with all results displayed in the command line.\n\n5. **Automatic SSL Traffic Decryption** : All captured requests and responses\n   are presented in plaintext.\n\n## Examples\n\n**Capture HTTP Traffic with Latency Details**\n\nRun the command:\n\n```bash\n.\u002Fkyanos watch http\n```\n\nThe result is as follows:\n\n![kyanos quick start watch http](docs\u002Fpublic\u002Fqs-watch-http.gif)\n\n**Capture Redis Traffic with Latency Details**\n\nRun the command:\n\n```bash\n.\u002Fkyanos watch redis\n```\n\nThe result is as follows:\n\n![kyanos quick start watch redis](docs\u002Fpublic\u002Fqs-redis.gif)\n\n**Identify the Slowest Requests in the Last 5 Seconds**\n\nRun the command:\n\n```bash\n .\u002Fkyanos stat --slow --time 5\n```\n\nThe result is as follows:\n\n![kyanos stat slow](docs\u002Fpublic\u002Fqs-stat-slow.gif)\n\n## ❗ Requirements\n\nKyanos currently supports kernel versions 3.10(from 3.10.0-957) and 4.14 or\nabove (with plans to support versions between 4.7 and 4.14 in the future).\n\n> You can check your kernel version using `uname -r`.\n\n## 🎯 How to get kyanos\n\nYou can download a statically linked binary compatible with amd64 and arm64\narchitectures from the\n[release page](https:\u002F\u002Fgithub.com\u002Fhengyoush\u002Fkyanos\u002Freleases):\n\n```bash\ntar xvf kyanos_vx.x.x_linux_amd64.tar.gz\n```\n\nThen, run kyanos with **root privilege**:\n\n```bash\nsudo .\u002Fkyanos watch\n```\n\nIf the following table appears:\n![kyanos quick start success](docs\u002Fpublic\u002Fquickstart-success.png) 🎉\nCongratulations! Kyanos has started successfully.\n\n## 📝 Documentation\n\n[English Document](https:\u002F\u002Fkyanos.io\u002F)\n\n## ⚙ Usage\n\nThe simplest usage captures all protocols currently supported by Kyanos:\n\n```bash\nsudo .\u002Fkyanos watch\n```\n\nEach request-response record is stored as a row in a table, with each column\ncapturing basic information about that request. You can use the arrow keys or\n`j\u002Fk` to move up and down through the records:\n![kyanos watch result](docs\u002Fpublic\u002Fwatch-result.jpg)\n\nPress `Enter` to access the details view:\n\n![kyanos watch result detail](docs\u002Fpublic\u002Fwatch-result-detail.jpg)\n\nIn the details view, the first section shows **Latency Details**. Each block\nrepresents a \"node\" that the data packet passes through, such as the process,\nnetwork card, and socket buffer.  \nEach block includes a time value indicating the time elapsed from the previous\nnode to this node, showing the process flow from the process sending the request\nto the network card, to the response being copied to the socket buffer, and\nfinally read by the process, with each step’s duration displayed.\n\nThe second section provides **Detailed Request and Response Content**, split\ninto Request and Response parts, and truncates content over 1024 bytes.\n\nFor targeted traffic capture, such as HTTP traffic:\n\n```bash\n.\u002Fkyanos watch http\n```\n\nYou can narrow it further to capture traffic for a specific HTTP path:\n\n```bash\n.\u002Fkyanos watch http --path \u002Fabc\n```\n\nLearn more: [Kyanos Docs](https:\u002F\u002Fkyanos.io\u002F)\n\n## 🏠 How to build\n\n👉 [COMPILATION.md](.\u002FCOMPILATION.md)\n\n## Roadmap\n\nThe Kyanos Roadmap shows the future plans for Kyanos. If you have feature\nrequests or want to prioritize a specific feature, please submit an issue on\nGitHub.\n\n_1.6.0_\n\n1. Support for postgresql protocol parsing.\n2. Support for HTTP2 protocol parsing.\n3. Support for DNS protocol parsing.\n4. Support for GnuTLS.\n\n## 🤝 Feedback and Contributions\n\n> [!IMPORTANT]\n>\n> If you encounter any issues or bugs while using the tool, please feel free to\n> ask questions in the issue tracker.\n\n## 🙇‍ Special Thanks\n\nDuring the development of kyanos, some code was borrowed from the following\nprojects:\n\n- [eCapture](https:\u002F\u002Fecapture.cc\u002Fzh\u002F)\n- [pixie](https:\u002F\u002Fgithub.com\u002Fpixie-io\u002Fpixie)\n- [ptcpdump](https:\u002F\u002Fgithub.com\u002Fmozillazg\u002Fptcpdump)\n\n## 🗨️ Contacts\n\nFor more detailed inquiries, you can use the following contact methods:\n\n- **My Email:** [hengyoush1@163.com](mailto:hengyoush1@163.com)\n- **My Blog:** [http:\u002F\u002Fblog.deadlock.cloud](http:\u002F\u002Fblog.deadlock.cloud\u002F)\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=hengyoush\u002Fkyanos&type=Date)](https:\u002F\u002Fstar-history.com\u002F#hengyoush\u002Fkyanos&Date)\n\n[Back to top](#top)\n","Kyanos 是一个基于 eBPF 的网络分析工具，能够可视化数据包在内核中的停留时间，捕获请求和响应，从而提高故障排查效率。其核心功能包括强大的流量过滤能力，支持根据进程\u002F容器、L7 协议信息、请求\u002F响应字节大小及延迟等条件进行过滤；同时具备高级分析能力，能够从多个维度聚合捕获的数据包指标，快速提供对故障排查最有用的关键数据。适用于需要高效定位和解决复杂网络问题的场景，如HTTP服务带宽突然饱和时，迅速分析导致问题的具体IP和请求。","2026-06-11 03:07:42","top_language"]