Skip to main content

Streaming frequency distribution viewer.

Project description

https://travis-ci.org/larsyencken/anytop.png

Overview

anytop is a tool for viewing frequency distributions over streaming input. It reads input line by line, and shows the top elements in the distribution as they stream in. It is inspired by the excellent command-line tools available for the Varnish web accelerator.

anytop is designed to work within a shell flow, allowing you to easily modify the data streaming in with tools such as cut, sed and tr. Get usage help by typing anytop --help. To exit anytop, type CTRL-C.

Example: dictionary words

Get the distribution of word starting with each different letter from the dictionary:

cut -c 1-1 /usr/share/dict/words | tr [:upper:] [:lower:] | anytop
http://media.quietlyamused.org.s3.amazonaws.com/anytop/img/anytop-dict.png

Looks like s, p and c have the most words.

Example: file types

Work out the relative distribution of file extensions in a source tree:

ack -f | fgrep . | awk -F . '{print $NF}' | anytop
http://media.quietlyamused.org.s3.amazonaws.com/anytop/img/anytop-sourcetree.png

Looks like a PHP codebase for a web app.

Example: shell commands

See what commands you use most often in bash:

cut -d ' ' -f 1 .bash_history | xargs -n 1 basename | anytop
http://media.quietlyamused.org.s3.amazonaws.com/anytop/img/anytop-bashhist.png

Developer tools vim, git and j (autojump) feature pretty prominently. Maybe I type ls a little too much.

As you can see, anytop lends itself handily to shell pipelines, allowing it to be useful in a wide variety of situations.

Memory usage

Anytop uses memory proportional to the number of distinct lines in the input. If the input keyspace is bounded, then anytop will use limited memory, no matter how many lines or how long it runs.

When the input keyspace is not bounded, memory use can still be bounded by only displaying statistics on a fixed-size window of lines with the -l option.

Bitdeli badge

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anytop-0.3.0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

anytop-0.3.0-py2.py3-none-any.whl (10.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file anytop-0.3.0.tar.gz.

File metadata

  • Download URL: anytop-0.3.0.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for anytop-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b393bce14971dbe6e8cef4983319efa4152eb75257abcea445cd444a04fd0b82
MD5 df47a073876a8c26993254b229d848b0
BLAKE2b-256 819507be132f0423d06d5b490bb9f68fea52f8013544391405031a40fea7d0e2

See more details on using hashes here.

File details

Details for the file anytop-0.3.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for anytop-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 967924b061f29018d618ddd3dfd1f19b61df194904c504b2659596fcea1e54fd
MD5 82daacb51356d19c69fa27bb98db94c3
BLAKE2b-256 48acf43e01bbee4c00ce432cc2069c840b13219555dd05a15ae747f6e02617b1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page