Name: mctop
Owner: Etsy, Inc.
Description: a top like tool for inspecting memcache key values in realtime
Created: 2012-12-13 20:46:34.0
Updated: 2017-12-12 08:14:59.0
Pushed: 2017-12-03 02:35:29.0
Homepage: null
Size: 295
Language: Ruby
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
mctop is no longer actively maintained. Your mileage with patches may vary.
Inspired by “top”, mctop passively sniffs the network traffic passing in and out of a server's network interface and tracks the keys responding to memcache get commands. The output is presented on the terminal and allows sorting by total calls, requests/sec and bandwidth.
You can read more detail about why this tool evovled over on our code as craft blog.
mctop depends on the ruby-pcap gem, if you don't have this installed you'll need to ensure you have the development pcap libraries (libpcap-devel package on most linux distros) to build the native gem.
mctop sniffs network traffic collecting memcache VALUE
responses and calculates from
traffic statistics for each key seen. It currently reports on the following metrics per key:
the quickest way to get it running is to:
bundle install
(this will install the deps)rake install
; orsudo ./bin/mctop --help
Usage: mctop [options]
-i, --interface=NIC Network interface to sniff (required)
-p, --port=PORT Network port to sniff on (default 11211)
--host=HOST Network host to sniff on (default all)
-d, --discard=THRESH Discard keys with request/sec rate below THRESH
-r, --refresh=MS Refresh the stats display every MS milliseconds
-h, --help Show usage info
The following key commands are available in the console UI:
C
- sort by number of callsS
- sort by object sizeR
- sort by requests/secB
- sort by bandwidthT
- toggle sorting by ascending / descending orderQ
- quitsThe following details are displayed in the status bar
sort mode
- the current sort mode and orderingkeys
- total number of keys in the metrics tablepackets
- packets received and dropped by libpcap (% is percentage of packets dropped)rt
- the time taken to sort and render the statsfrom my testing the ruby-pcap native interface to libpcap struggles to keep up with high packet rates (in what we see on a production memcache instance) you can keep an eye on the packets recv/drop and loss percentage on the status bar at the bottom of the UI to get an idea of the packet
There is currently no support for the binary protocol. However, if someone is using it and would like to submit a patch, it would be welcome.