diff --git a/internal/crawl_task.go b/internal/crawl_task.go index 99f6b02..1c7ebc1 100644 --- a/internal/crawl_task.go +++ b/internal/crawl_task.go @@ -52,6 +52,8 @@ func (t *CrawlTask) Run() error { t.SetData("eid_time", eTime.String()) t.SetData("duration", fmt.Sprintf("%0.2f", eTime.Sub(sTime).Seconds())) + metrics.Gauge("crawler", "duration").Set(float64(eTime.Sub(sTime).Seconds())) + t.Done() }() diff --git a/internal/handlers.go b/internal/handlers.go index 649545b..50a0bdb 100644 --- a/internal/handlers.go +++ b/internal/handlers.go @@ -231,6 +231,8 @@ func (s *Server) SearchHandler() httprouter.Handle { ctx.Results = results ctx.SearchTook = searchResults.Took.Truncate(time.Nanosecond) + metrics.Counter("server", "queries").Inc() + s.render("search", w, ctx) } } diff --git a/internal/server.go b/internal/server.go index dc8ea97..d777817 100644 --- a/internal/server.go +++ b/internal/server.go @@ -212,6 +212,10 @@ func (s *Server) setupMetrics() { "crawler", "scraped", "Number of links scraped by the crawler", ) + metrics.NewGauge( + "crawler", "duration", + "Duration of crawler tasks", + ) // server info metrics.NewGaugeVec( @@ -225,6 +229,10 @@ func (s *Server) setupMetrics() { "version": spyda.Version, "commit": spyda.Commit, }).Set(1) + metrics.NewCounter( + "server", "queries", + "Number of queries processed", + ) s.AddRoute("GET", "/metrics", metrics.Handler()) }