From 5df05d1256de57267d5c3ca38a763dac1d97f03d Mon Sep 17 00:00:00 2001
From: Philip O'Toole <philip@influxdb.com>
Date: Fri, 3 Apr 2015 14:24:28 -0700
Subject: [PATCH 1/2] It's for stats and diags, not just diags

---
 CHANGELOG.md               |  1 +
 cmd/influxd/config.go      | 12 ++++++------
 cmd/influxd/config_test.go |  6 +++---
 cmd/influxd/run.go         | 12 ++++++------
 etc/config.sample.toml     |  8 ++++----
 5 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 248d32f80b7..3a608656c76 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@
 - [#2156](https://github.com/influxdb/influxdb/pull/2156): Propagate error when resolving UDP address in Graphite UDP server.
 - [#2163](https://github.com/influxdb/influxdb/pull/2163): Fix up paths for default data and run storage.
 - [#2164](https://github.com/influxdb/influxdb/pull/2164): Append STDOUT/STDERR in initscript.
+- [#2165](https://github.com/influxdb/influxdb/pull/2165): Better name for config section for stats and diags.
 
 ## v0.9.0-rc19 [2015-04-01]
 
diff --git a/cmd/influxd/config.go b/cmd/influxd/config.go
index 6458ded8f42..4eb05c3df7f 100644
--- a/cmd/influxd/config.go
+++ b/cmd/influxd/config.go
@@ -126,12 +126,12 @@ type Config struct {
 		RaftTracing  bool `toml:"raft-tracing"`
 	} `toml:"logging"`
 
-	Statistics struct {
+	Monitoring struct {
 		Enabled         bool     `toml:"enabled"`
 		Database        string   `toml:"database"`
 		RetentionPolicy string   `toml:"retention-policy"`
 		WriteInterval   Duration `toml:"write-interval"`
-	}
+	} `toml:"monitoring"`
 
 	ContinuousQuery struct {
 		// when continuous queries are run we'll automatically recompute previous intervals
@@ -195,10 +195,10 @@ func NewConfig() (*Config, error) {
 	c.ContinuousQuery.Disable = false
 	c.ReportingDisabled = false
 
-	c.Statistics.Enabled = false
-	c.Statistics.Database = "_internal"
-	c.Statistics.RetentionPolicy = "default"
-	c.Statistics.WriteInterval = Duration(1 * time.Minute)
+	c.Monitoring.Enabled = false
+	c.Monitoring.Database = "_internal"
+	c.Monitoring.RetentionPolicy = "default"
+	c.Monitoring.WriteInterval = Duration(1 * time.Minute)
 
 	// Detect hostname (or set to localhost).
 	if c.Hostname, _ = os.Hostname(); c.Hostname == "" {
diff --git a/cmd/influxd/config_test.go b/cmd/influxd/config_test.go
index a541d3c86dc..2ae07b4b0c3 100644
--- a/cmd/influxd/config_test.go
+++ b/cmd/influxd/config_test.go
@@ -143,8 +143,8 @@ func TestParseConfig(t *testing.T) {
 		t.Fatalf("cluster dir mismatch: %v", c.Cluster.Dir)
 	}
 
-	if c.Statistics.WriteInterval.String() != "1m0s" {
-		t.Fatalf("Statistics.WriteInterval mismatch: %v", c.Statistics.WriteInterval)
+	if c.Monitoring.WriteInterval.String() != "1m0s" {
+		t.Fatalf("Monitoring.WriteInterval mismatch: %v", c.Monitoring.WriteInterval)
 	}
 
 	// TODO: UDP Servers testing.
@@ -158,7 +158,7 @@ func TestParseConfig(t *testing.T) {
 
 func TestEncodeConfig(t *testing.T) {
 	c := main.Config{}
-	c.Statistics.WriteInterval = main.Duration(time.Minute)
+	c.Monitoring.WriteInterval = main.Duration(time.Minute)
 	buf := new(bytes.Buffer)
 	if err := toml.NewEncoder(buf).Encode(&c); err != nil {
 		t.Fatal("Failed to encode: ", err)
diff --git a/cmd/influxd/run.go b/cmd/influxd/run.go
index 2297cee2cb1..d7ac9979396 100644
--- a/cmd/influxd/run.go
+++ b/cmd/influxd/run.go
@@ -188,20 +188,20 @@ func Run(config *Config, join, version string) (*messaging.Broker, *influxdb.Ser
 		}
 
 		// Start up self-monitoring if enabled.
-		if config.Statistics.Enabled {
-			database := config.Statistics.Database
-			policy := config.Statistics.RetentionPolicy
-			interval := time.Duration(config.Statistics.WriteInterval)
+		if config.Monitoring.Enabled {
+			database := config.Monitoring.Database
+			policy := config.Monitoring.RetentionPolicy
+			interval := time.Duration(config.Monitoring.WriteInterval)
 
 			// Ensure database exists.
 			if err := s.CreateDatabaseIfNotExists(database); err != nil {
-				log.Fatalf("failed to create database %s for internal statistics: %s", database, err.Error())
+				log.Fatalf("failed to create database %s for internal monitoring: %s", database, err.Error())
 			}
 
 			// Ensure retention policy exists.
 			rp := influxdb.NewRetentionPolicy(policy)
 			if err := s.CreateRetentionPolicyIfNotExists(database, rp); err != nil {
-				log.Fatalf("failed to create retention policy for internal statistics: %s", err.Error())
+				log.Fatalf("failed to create retention policy for internal monitoring: %s", err.Error())
 			}
 
 			s.StartSelfMonitoring(database, policy, interval)
diff --git a/etc/config.sample.toml b/etc/config.sample.toml
index 43754209336..fcbb8251a57 100644
--- a/etc/config.sample.toml
+++ b/etc/config.sample.toml
@@ -94,10 +94,10 @@ port = 8087
 write-tracing = false # If true, enables detailed logging of the write system.
 raft-tracing = false # If true, enables detailed logging of Raft consensus.
 
-# InfluxDB can store statistics about itself. This is useful for monitoring purposes.
-# This feature is disabled by default, but if enabled, these statistics can be queried
-# as any other data.
-[statistics]
+# InfluxDB can store statistical and diagnostic information about itself. This is useful for
+# monitoring purposes. This feature is disabled by default, but if enabled, these data can be
+# queried like any other data.
+[monitoring]
 enabled = false
 database = "_internal"         # The database to which the data is written.
 retention-policy = "default"   # The retention policy within the database.

From 84d590ce44370d16f2aa6521596521eaf9958180 Mon Sep 17 00:00:00 2001
From: Philip O'Toole <philip@influxdb.com>
Date: Fri, 3 Apr 2015 14:35:44 -0700
Subject: [PATCH 2/2] Monitoring database should not be configurable

---
 CHANGELOG.md               | 1 +
 cmd/influxd/config.go      | 8 ++------
 cmd/influxd/config_test.go | 4 +---
 cmd/influxd/main.go        | 4 +++-
 cmd/influxd/run.go         | 4 ++--
 etc/config.sample.toml     | 2 --
 6 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3a608656c76..3df9fa90e73 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@
 - [#2163](https://github.com/influxdb/influxdb/pull/2163): Fix up paths for default data and run storage.
 - [#2164](https://github.com/influxdb/influxdb/pull/2164): Append STDOUT/STDERR in initscript.
 - [#2165](https://github.com/influxdb/influxdb/pull/2165): Better name for config section for stats and diags.
+- [#2165](https://github.com/influxdb/influxdb/pull/2165): Monitoring database and retention policy are not configurable.
 
 ## v0.9.0-rc19 [2015-04-01]
 
diff --git a/cmd/influxd/config.go b/cmd/influxd/config.go
index 4eb05c3df7f..5db74a13bb8 100644
--- a/cmd/influxd/config.go
+++ b/cmd/influxd/config.go
@@ -127,10 +127,8 @@ type Config struct {
 	} `toml:"logging"`
 
 	Monitoring struct {
-		Enabled         bool     `toml:"enabled"`
-		Database        string   `toml:"database"`
-		RetentionPolicy string   `toml:"retention-policy"`
-		WriteInterval   Duration `toml:"write-interval"`
+		Enabled       bool     `toml:"enabled"`
+		WriteInterval Duration `toml:"write-interval"`
 	} `toml:"monitoring"`
 
 	ContinuousQuery struct {
@@ -196,8 +194,6 @@ func NewConfig() (*Config, error) {
 	c.ReportingDisabled = false
 
 	c.Monitoring.Enabled = false
-	c.Monitoring.Database = "_internal"
-	c.Monitoring.RetentionPolicy = "default"
 	c.Monitoring.WriteInterval = Duration(1 * time.Minute)
 
 	// Detect hostname (or set to localhost).
diff --git a/cmd/influxd/config_test.go b/cmd/influxd/config_test.go
index 2ae07b4b0c3..e1be3a5a3d8 100644
--- a/cmd/influxd/config_test.go
+++ b/cmd/influxd/config_test.go
@@ -191,10 +191,8 @@ enabled = true
 write-tracing = true
 raft-tracing = true
 
-[statistics]
+[monitoring]
 enabled = true
-database = "_internal"
-retention-policy = "default"
 write-interval = "1m"
 
 # Configure the admin server
diff --git a/cmd/influxd/main.go b/cmd/influxd/main.go
index ce40a519027..a4145dc2a9a 100644
--- a/cmd/influxd/main.go
+++ b/cmd/influxd/main.go
@@ -33,7 +33,9 @@ var (
 
 // Various constants used by the main package.
 const (
-	messagingClientFile string = "messaging"
+	messagingClientFile       string = "messaging"
+	monitoringDatabase        string = "_influxdb"
+	monitoringRetentionPolicy string = "default"
 )
 
 func main() {
diff --git a/cmd/influxd/run.go b/cmd/influxd/run.go
index d7ac9979396..480876fc742 100644
--- a/cmd/influxd/run.go
+++ b/cmd/influxd/run.go
@@ -189,8 +189,8 @@ func Run(config *Config, join, version string) (*messaging.Broker, *influxdb.Ser
 
 		// Start up self-monitoring if enabled.
 		if config.Monitoring.Enabled {
-			database := config.Monitoring.Database
-			policy := config.Monitoring.RetentionPolicy
+			database := monitoringDatabase
+			policy := monitoringRetentionPolicy
 			interval := time.Duration(config.Monitoring.WriteInterval)
 
 			// Ensure database exists.
diff --git a/etc/config.sample.toml b/etc/config.sample.toml
index fcbb8251a57..c05b6e847d2 100644
--- a/etc/config.sample.toml
+++ b/etc/config.sample.toml
@@ -99,6 +99,4 @@ raft-tracing = false # If true, enables detailed logging of Raft consensus.
 # queried like any other data.
 [monitoring]
 enabled = false
-database = "_internal"         # The database to which the data is written.
-retention-policy = "default"   # The retention policy within the database.
 write-interval = "1m"          # Period between writing the data.