diff --git a/docs/administration.md b/docs/administration.md index 26c7ed7ba..fca8db4dc 100644 --- a/docs/administration.md +++ b/docs/administration.md @@ -97,3 +97,62 @@ Note: This will only work when the replication factor is >= 2 - Modify the cluster config file to replace the previous node address with the new node address. - Restart the cluster - Wait for the 1st sync (10 minutes) to validate Index connections + +#### Metrics + +Pilosa can be configured to emit metrics pertaining to its internal processes in one of two formats: Expvar or StatsD. Metric recording is disabled by default. +The metrics configuration options are: + + - Host to receive events + - Polling interval for runtime metrics + - Metric type (StatsD, Expvar). + +##### Tags +StatsD Tags adhere to the DataDog format (key:value), and we tag the following: + +- NodeID +- Index +- Frame +- View +- Slice + +##### Events +We currently track the following events + +Index: The creation of a new Index. + +Frame: The creation of a new Frame. + +MaxSlice: The Creation of a new Slice. + +SetBit: Count of set bits. + +ClearBit: Count of cleared bits. + +ImportBit: During a bulk data import this represents the count of bits created. + +SetRowAttrs: Count of Attributes set per row. + +SetColumnAttrs: Count of Attributes set per collumn. + +Bitmap: Count of Bitmap queries. + +TopN: Count of TopN queries. + +Union: Count of Union queries. + +Intersection: Count of Intersection queries. + +Difference: Count of Difference queries. + +Count: Count of Count queries. + +Range: Count of Range queries. + +Snapshot: Event count when the snapshot process is triggered. + +BlockRepair: Count of data blocks that were out of sync and repaired. + +Garbage Collection: Event count when Garbage Collection occurs. + +Goroutines: Number of running Goroutines. diff --git a/docs/configuration.md b/docs/configuration.md index 12153dde1..f93647cb5 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -167,3 +167,36 @@ Any flag that has a value that is a comma separated list on the command line bec [profile] cpu-time = "30s" ``` +##### Metric Service +* Description: Which stats service to use (StatsD or ExpVar). +* Flag: `--metric.service=statsd` +* Env: `PILOSA_METRIC.SERVICE=statsd' +* Config: + + ```toml + [metric] + service = “statsd” + ``` + +##### Metric Host +* Description: Address of the StatsD service host. +* Flag: `--metric.host=localhost:8125` +* Env: `PILOSA_METRIC.HOST=localhost:8125' +* Config: + + ```toml + [metric] + host = "localhost:8125" + ``` + +##### Metric Poll Interval + +* Description: Polling interval for runtime metrics. +* Flag: `metric.poll-interval=”0m15s”` +* Env: `PILOSA_METRIC.POLL_INTERVAL=0m15s` +* Config: + + ```toml + [metric] + poll-interval = "0m15s" + ``` \ No newline at end of file diff --git a/server/server_test.go b/server/server_test.go index d677569e0..57037a0bc 100644 --- a/server/server_test.go +++ b/server/server_test.go @@ -449,7 +449,7 @@ func TestMain_SendReceiveMessage(t *testing.T) { } } if !reflect.DeepEqual(received0, expected) { - t.Fatalf("unexpected schema on node0: %d", received0) + t.Fatalf("unexpected schema on node0: %s", received0) } // Make sure node1 knows about the index and frame created. @@ -465,7 +465,7 @@ func TestMain_SendReceiveMessage(t *testing.T) { } } if !reflect.DeepEqual(received1, expected) { - t.Fatalf("unexpected schema on node1: %d", received1) + t.Fatalf("unexpected schema on node1: %s", received1) } // Write data on first node.