diff options
Diffstat (limited to 'cmd/xedn/main.go')
| -rw-r--r-- | cmd/xedn/main.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/cmd/xedn/main.go b/cmd/xedn/main.go index 17cf99e..b1115d4 100644 --- a/cmd/xedn/main.go +++ b/cmd/xedn/main.go @@ -22,6 +22,7 @@ import ( "github.com/rs/cors" "github.com/sebest/xff" "go.etcd.io/bbolt" + "tailscale.com/metrics" "tailscale.com/tsnet" "tailscale.com/tsweb" "within.website/ln" @@ -162,6 +163,7 @@ func (dc *Cache) Load(dir string, w http.ResponseWriter) error { if t.Before(time.Now()) { tx.DeleteBucket([]byte(dir)) + fileDeaths.Get(dir).Add(1) return ErrNotCached } @@ -239,8 +241,9 @@ var ( etagMatches = expvar.NewInt("etag_matches") - referers = expvar.NewMap("referers") - fileHits = expvar.NewMap("filehits") + referers = metrics.LabelMap{Label: "url"} + fileHits = metrics.LabelMap{Label: "path"} + fileDeaths = metrics.LabelMap{Label: "path"} etags map[string]string etagLock sync.RWMutex @@ -322,7 +325,7 @@ func main() { return } - referers.Add(r.Header.Get("Referer"), 1) + referers.Get(r.Header.Get("Referer")).Add(1) if err := dc.GetFile(w, r); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) @@ -330,6 +333,10 @@ func main() { } } + expvar.Publish("referers", &referers) + expvar.Publish("file_hits", &fileHits) + expvar.Publish("file_deaths", &fileDeaths) + mux.HandleFunc("/file/christine-static/", hdlr) mux.HandleFunc("/file/xeserv-akko/", hdlr) |
