serve stats via /check
This commit is contained in:
parent
e17c984ec8
commit
fa191de6d3
2 changed files with 24 additions and 21 deletions
|
@ -20,7 +20,10 @@ import (
|
||||||
const jsonContentType = "application/json; charset=UTF-8"
|
const jsonContentType = "application/json; charset=UTF-8"
|
||||||
|
|
||||||
func (s *Server) check(w http.ResponseWriter, r *http.Request, p httprouter.Params) (int, error) {
|
func (s *Server) check(w http.ResponseWriter, r *http.Request, p httprouter.Params) (int, error) {
|
||||||
_, err := w.Write([]byte("An easter egg goes here."))
|
w.Header().Set("Content-Type", jsonContentType)
|
||||||
|
|
||||||
|
e := json.NewEncoder(w)
|
||||||
|
err := e.Encode(stats.DefaultStats)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return http.StatusInternalServerError, err
|
return http.StatusInternalServerError, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,36 +49,36 @@ func init() {
|
||||||
|
|
||||||
type PeerStats struct {
|
type PeerStats struct {
|
||||||
// Stats for all peers.
|
// Stats for all peers.
|
||||||
Completed uint64
|
Completed uint64 `json:"completed"`
|
||||||
Joined uint64
|
Joined uint64 `json:"joined"`
|
||||||
Left uint64
|
Left uint64 `json:"left"`
|
||||||
Reaped uint64
|
Reaped uint64 `json:"reaped"`
|
||||||
|
|
||||||
// Stats for seeds only (subset of total).
|
// Stats for seeds only (subset of total).
|
||||||
SeedsJoined uint64
|
SeedsJoined uint64 `json:"seeds_joined"`
|
||||||
SeedsLeft uint64
|
SeedsLeft uint64 `json:"seeds_left"`
|
||||||
SeedsReaped uint64
|
SeedsReaped uint64 `json:"seeds_reaped"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Stats struct {
|
type Stats struct {
|
||||||
Start time.Time
|
Start time.Time `json:"time"`
|
||||||
|
|
||||||
Announces uint64
|
Announces uint64 `json:"announces"`
|
||||||
Scrapes uint64
|
Scrapes uint64 `json:"scrapes"`
|
||||||
|
|
||||||
IPv4Peers PeerStats
|
IPv4Peers PeerStats `json:"ipv4_peers"`
|
||||||
IPv6Peers PeerStats
|
IPv6Peers PeerStats `json:"ipv6_peers"`
|
||||||
|
|
||||||
TorrentsAdded uint64
|
TorrentsAdded uint64 `json:"torrents_added"`
|
||||||
TorrentsRemoved uint64
|
TorrentsRemoved uint64 `json:"torrents_removed"`
|
||||||
TorrentsReaped uint64
|
TorrentsReaped uint64 `json:"torrents_reaped"`
|
||||||
|
|
||||||
ActiveConnections uint64
|
ActiveConnections uint64 `json:"active_connections"`
|
||||||
ConnectionsAccepted uint64
|
ConnectionsAccepted uint64 `json:"connections_accepted"`
|
||||||
BytesTransmitted uint64
|
BytesTransmitted uint64 `json:"bytes_transmitted"`
|
||||||
|
|
||||||
RequestsHandled uint64
|
RequestsHandled uint64 `json:"requests_handled"`
|
||||||
RequestsErrored uint64
|
RequestsErrored uint64 `json:"requests_errored"`
|
||||||
|
|
||||||
events chan int
|
events chan int
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue