mirror of
https://github.com/fhmq/hmq.git
synced 2026-05-06 07:35:32 +00:00
c6b1f1db42
* modify * update * add acl * add feature * update dockerfile * add deploy * update * update * plugins * plugins * update * update * update * fixed * remove * fixed * add log * update * fixed * update * fix config * add http api * add http api * resp * add config for work chan * update * fixed * update * disable trace * fixed * change acl * fixed * fixed res * dd * dd * ddd * dd * update * fixed * update * add * fixed * update key * add log * update * format * update * update auth * update * update readme * added * update * fixed * fixed * fix * upade * update * update
32 lines
753 B
Go
32 lines
753 B
Go
package metrics
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io"
|
|
"time"
|
|
)
|
|
|
|
// MarshalJSON returns a byte slice containing a JSON representation of all
|
|
// the metrics in the Registry.
|
|
func (r *StandardRegistry) MarshalJSON() ([]byte, error) {
|
|
return json.Marshal(r.GetAll())
|
|
}
|
|
|
|
// WriteJSON writes metrics from the given registry periodically to the
|
|
// specified io.Writer as JSON.
|
|
func WriteJSON(r Registry, d time.Duration, w io.Writer) {
|
|
for _ = range time.Tick(d) {
|
|
WriteJSONOnce(r, w)
|
|
}
|
|
}
|
|
|
|
// WriteJSONOnce writes metrics from the given registry to the specified
|
|
// io.Writer as JSON.
|
|
func WriteJSONOnce(r Registry, w io.Writer) {
|
|
json.NewEncoder(w).Encode(r)
|
|
}
|
|
|
|
func (p *PrefixedRegistry) MarshalJSON() ([]byte, error) {
|
|
return json.Marshal(p.GetAll())
|
|
}
|