aboutsummaryrefslogtreecommitdiff
path: root/cmd/xedn/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/xedn/main.go')
-rw-r--r--cmd/xedn/main.go13
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)