summaryrefslogtreecommitdiff
path: root/cmd/hdfs/df.go
blob: 80831c373caaa3faf5fe91ebc1c1f0d462732452 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package main

import (
	"fmt"
	"os"
	"text/tabwriter"

	"github.com/colinmarc/hdfs/v2"
)

func df(humanReadable bool) {
	client, err := getClient("")
	if err != nil {
		fatal(err)
	}

	var fs hdfs.FsInfo

	fs, err = client.StatFs()
	if err != nil {
		fatal(err)
	}

	tw := tabwriter.NewWriter(os.Stdout, 3, 8, 0, ' ', tabwriter.AlignRight)
	fmt.Fprintf(tw, "Filesystem \tSize \tUsed \tAvailable \t Use%%\n")
	if humanReadable {
		fmt.Fprintf(tw, "%v \t%v \t%v \t%v \t%d%%\n",
			os.Getenv("HADOOP_NAMENODE"),
			formatBytes(fs.Capacity),
			formatBytes(fs.Used),
			formatBytes(fs.Remaining),
			100 * fs.Used / fs.Capacity)
	} else {
		fmt.Fprintf(tw, "%v \t%v \t %v \t %v \t%d%%\n",
			os.Getenv("HADOOP_NAMENODE"),
			fs.Capacity,
			fs.Used,
			fs.Remaining,
			100 * fs.Used / fs.Capacity)
	}
	tw.Flush()
}