parent
129d042ba2
commit
70c59431ec
|
@ -39,7 +39,34 @@ A new module named `monitor` supports all basic statistics and diagnostic functi
|
||||||
|
|
||||||
## Registering statistics and diagnostics
|
## Registering statistics and diagnostics
|
||||||
|
|
||||||
To export statistical information with the `monitor` system, code simply calls `influxdb.NewStatistics()` and receives an `expvar.Map` instance in response. This object can then be used to store statistics. To register diagnostic information, `monitor.RegisterDiagnosticsClient` is called, passing a `influxdb.monitor.DiagsClient` object to `monitor`.
|
To export statistical information with the `monitor` system, code simply calls `influxdb.NewStatistics()` and receives an `expvar.Map` instance in response. This object can then be used to store statistics.
|
||||||
|
|
||||||
|
For example, if you have a module called `Service`, you can statistics like so:
|
||||||
|
|
||||||
|
```
|
||||||
|
import (
|
||||||
|
"expvar"
|
||||||
|
"github.com/influxdb/influxdb"
|
||||||
|
)
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
.
|
||||||
|
type Service struct {
|
||||||
|
....some other fields....
|
||||||
|
statMap *expvar.Map /// Add a map of type *expvar.Map. Check GoDocs for how to use this.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func NewService() *Service {
|
||||||
|
s = &NewService{}
|
||||||
|
.
|
||||||
|
s.statMap = NewStatistics(key, name, tags)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
When calling `NewStatistics` `key` should be unique for the Service instance (if a network service, the protocol and binding port are good to include in the key). `name` will be the name of the Measurement used to store these statistics. Finally, when these statistics are written to the `monitor` database, all points will be tagged with `tags`. A value of nil for `tags` is legal.
|
||||||
|
|
||||||
|
To register diagnostic information, `monitor.RegisterDiagnosticsClient` is called, passing a `influxdb.monitor.DiagsClient` object to `monitor`.
|
||||||
|
|
||||||
## expvar
|
## expvar
|
||||||
Statistical information is gathered by each package using [expvar](https://golang.org/pkg/expvar). Each package registers a map using its package name.
|
Statistical information is gathered by each package using [expvar](https://golang.org/pkg/expvar). Each package registers a map using its package name.
|
||||||
|
|
Loading…
Reference in New Issue