From 3ea6b5ae32215daa6393e02682d6946a2aa89af3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= <peterke@gmail.com>
Date: Thu, 25 Jun 2015 11:42:45 +0300
Subject: cmd/geth: list the available metrics if none specified

---
 cmd/geth/monitorcmd.go | 13 +++++++++++++
 1 file changed, 13 insertions(+)

(limited to 'cmd/geth')

diff --git a/cmd/geth/monitorcmd.go b/cmd/geth/monitorcmd.go
index 492865d0e..b51da91e6 100644
--- a/cmd/geth/monitorcmd.go
+++ b/cmd/geth/monitorcmd.go
@@ -71,6 +71,19 @@ func monitor(ctx *cli.Context) {
 		utils.Fatalf("Failed to retrieve system metrics: %v", err)
 	}
 	monitored := resolveMetrics(metrics, ctx.Args())
+	if len(monitored) == 0 {
+		list := []string{}
+		for _, metric := range expandMetrics(metrics, "") {
+			switch {
+			case strings.HasSuffix(metric, "/0"):
+				list = append(list, strings.Replace(metric, "/0", "/[0-100]", -1))
+			case !strings.Contains(metric, "Percentiles"):
+				list = append(list, metric)
+			}
+		}
+		sort.Strings(list)
+		utils.Fatalf("No metrics specified.\n\nAvailable:\n - %s", strings.Join(list, "\n - "))
+	}
 	sort.Strings(monitored)
 
 	// Create and configure the chart UI defaults
-- 
cgit v1.2.3