Skip to main content

A tool to generate histograms of file-sizes

Project description

# Overview

This is a tool that visualizes the distribution of file-sizes under a given directory (recursively) from the command-line.


# Install

Via Git:

```
$ git clone https://github.com/dsoprea/pathhistogram.git
$ sudo pip install pathhistogram
```

Via PIP:

```
$ sudo pip install pathhistogram
```


# Example Usages

```
$ ph_files ~/development/go/src
(30896) files found.

0.0B 30851 ***************************************************************************************************
4.94M 28
9.88M 7
14.82M 2
19.76M 3
24.7M 1
29.64M 0
34.58M 1
39.52M 1
44.46M 0
49.4M 0
54.34M 0
59.28M 0
64.22M 0
69.17M 0
74.11M 0
79.05M 1
83.99M 0
88.93M 0
93.87M 0
98.81M 0
103.75M 0
108.69M 0
113.63M 0
118.57M 0
123.51M 0
128.45M 0
133.39M 0
138.33M 0
143.27M 1
```

```
$ ph_files ~/development/go/src --minimum-size 100000 --maximum-size 7000000
(777) files found.

0.0B 412 *****************************************************
235.77K 161 ********************
471.53K 57 *******
707.3K 39 *****
943.06K 18 **
1.18M 11 *
1.41M 4
1.65M 12 *
1.89M 6
2.12M 13 *
2.36M 2
2.59M 5
2.83M 5
3.06M 1
3.3M 2
3.54M 1
3.77M 4
4.01M 1
4.24M 2
4.48M 2
4.72M 4
4.95M 3
5.19M 1
5.42M 5
5.66M 2
5.89M 1
6.13M 1
6.37M 0
6.6M 1
6.84M 1
```

```
$ ph_files ~/development/go/src --filter '*.txt' --maximum-size 100000
(173) files found.

0.0B 58 *********************************
1.79K 10 *****
3.58K 7 ****
5.37K 1
7.16K 24 *************
8.95K 10 *****
10.74K 9 *****
12.54K 5 **
14.33K 11 ******
16.12K 3 *
17.91K 6 ***
19.7K 0
21.49K 9 *****
23.28K 0
25.07K 9 *****
26.86K 3 *
28.65K 0
30.44K 2 *
32.23K 3 *
34.02K 0
35.82K 0
37.61K 0
39.4K 0
41.19K 0
42.98K 0
44.77K 0
46.56K 0
48.35K 0
50.14K 0
51.93K 3 *
```

```
$ ph_files ~/development/go/src --minimum-size 100000 --maximum-size 7000000 --dump-filepath -
(777) files found.

0.0B 412 *****************************************************
235.77K 161 ********************
471.53K 57 *******
707.3K 39 *****
943.06K 18 **
1.18M 11 *
1.41M 4
1.65M 12 *
1.89M 6
2.12M 13 *
2.36M 2
2.59M 5
2.83M 5
3.06M 1
3.3M 2
3.54M 1
3.77M 4
4.01M 1
4.24M 2
4.48M 2
4.72M 4
4.95M 3
5.19M 1
5.42M 5
5.66M 2
5.89M 1
6.13M 1
6.37M 0
6.6M 1
6.84M 1

Binned Files
============

n 30
total_count 777
largest_size 6837217
slice_size 235766.10344827586

# 0
cloud.google.com/go/cmd/go-cloud-debug-agent/internal/debug/elf/elf.go
cloud.google.com/go/.git/index
honnef.co/go/js/dom/.git/objects/pack/pack-734fd8e636f78b113acf659b99bf294b70980608.pack
istio.io/gogo-genproto/.git/objects/pack/pack-41660cfadfe8eaf02a68a4131f83f74b493f448b.pack
istio.io/gogo-genproto/opencensus/proto/trace/v1/trace.pb.go
...
go.opencensus.io/.git/objects/pack/pack-571baecd3cb823ae1c93f689a64acde6a00a747c.idx

# 1
sourcegraph.com/sourcegraph/go-git/.git/objects/pack/pack-00486269f82abf90affb26f40452e24b695ab253.pack
golang.org/x/text/secure/precis/tables10.0.0.go
golang.org/x/text/secure/precis/tables9.0.0.go
golang.org/x/text/unicode/norm/tables10.0.0.go
golang.org/x/text/unicode/norm/tables9.0.0.go
...
github.com/gopherjs/gopherjs/.git/objects/pack/pack-82229e71cbaa7ec424a00dcaa608931814f72288.idx

# 2
cloud.google.com/go/.git/objects/pack/pack-2158290a8566a62df206245295606e5a10b0d26e.idx
golang.org/x/text/encoding/charmap/tables.go
golang.org/x/text/encoding/korean/tables.go
golang.org/x/crypto/sha3/testdata/keccakKats.json.deflate
golang.org/x/perf/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h
...
```


# Testing

```
$ ./test.sh
```

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

pathhistogram-0.0.1.tar.gz (6.4 kB view hashes)

Uploaded Source

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