From 9ea156cfef0c834ba21bd63444b64d239634541d Mon Sep 17 00:00:00 2001 From: Paul Bellamy Date: Mon, 2 Nov 2015 16:18:34 +0000 Subject: [PATCH] Moving xfer.Collector into App (the only place its used) --- app/api_report.go | 4 +--- app/api_topologies.go | 5 ++--- app/api_topology.go | 11 +++++------ {xfer => app}/collector.go | 2 +- {xfer => app}/collector_test.go | 11 ++++------- app/main.go | 2 +- app/origin_host.go | 3 +-- app/router.go | 7 +++---- 8 files changed, 18 insertions(+), 27 deletions(-) rename {xfer => app}/collector.go (99%) rename {xfer => app}/collector_test.go (89%) diff --git a/app/api_report.go b/app/api_report.go index 1821d71f6..f4bfa329c 100644 --- a/app/api_report.go +++ b/app/api_report.go @@ -2,12 +2,10 @@ package main import ( "net/http" - - "github.com/weaveworks/scope/xfer" ) // Raw report handler -func makeRawReportHandler(rep xfer.Reporter) func(http.ResponseWriter, *http.Request) { +func makeRawReportHandler(rep Reporter) func(http.ResponseWriter, *http.Request) { return func(w http.ResponseWriter, r *http.Request) { // r.ParseForm() respondWith(w, http.StatusOK, rep.Report()) diff --git a/app/api_topologies.go b/app/api_topologies.go index 14e3db35f..182e60961 100644 --- a/app/api_topologies.go +++ b/app/api_topologies.go @@ -9,7 +9,6 @@ import ( "github.com/weaveworks/scope/render" "github.com/weaveworks/scope/report" - "github.com/weaveworks/scope/xfer" ) const apiTopologyURL = "/api/topology/" @@ -186,7 +185,7 @@ func (r *registry) walk(f func(APITopologyDesc)) { } // makeTopologyList returns a handler that yields an APITopologyList. -func (r *registry) makeTopologyList(rep xfer.Reporter) func(w http.ResponseWriter, r *http.Request) { +func (r *registry) makeTopologyList(rep Reporter) func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, req *http.Request) { var ( rpt = rep.Report() @@ -246,7 +245,7 @@ func renderedForRequest(r *http.Request, topology APITopologyDesc) render.Render return renderer } -func (r *registry) captureRenderer(rep xfer.Reporter, f func(xfer.Reporter, render.Renderer, http.ResponseWriter, *http.Request)) http.HandlerFunc { +func (r *registry) captureRenderer(rep Reporter, f func(Reporter, render.Renderer, http.ResponseWriter, *http.Request)) http.HandlerFunc { return func(w http.ResponseWriter, req *http.Request) { topology, ok := r.get(mux.Vars(req)["topology"]) if !ok { diff --git a/app/api_topology.go b/app/api_topology.go index c1475274c..315f7ce8e 100644 --- a/app/api_topology.go +++ b/app/api_topology.go @@ -9,7 +9,6 @@ import ( "github.com/weaveworks/scope/render" "github.com/weaveworks/scope/report" - "github.com/weaveworks/scope/xfer" ) const ( @@ -33,14 +32,14 @@ type APIEdge struct { } // Full topology. -func handleTopology(rep xfer.Reporter, renderer render.Renderer, w http.ResponseWriter, r *http.Request) { +func handleTopology(rep Reporter, renderer render.Renderer, w http.ResponseWriter, r *http.Request) { respondWith(w, http.StatusOK, APITopology{ Nodes: renderer.Render(rep.Report()).Prune(), }) } // Websocket for the full topology. This route overlaps with the next. -func handleWs(rep xfer.Reporter, renderer render.Renderer, w http.ResponseWriter, r *http.Request) { +func handleWs(rep Reporter, renderer render.Renderer, w http.ResponseWriter, r *http.Request) { if err := r.ParseForm(); err != nil { respondWith(w, http.StatusInternalServerError, err.Error()) return @@ -57,7 +56,7 @@ func handleWs(rep xfer.Reporter, renderer render.Renderer, w http.ResponseWriter } // Individual nodes. -func handleNode(rep xfer.Reporter, renderer render.Renderer, w http.ResponseWriter, r *http.Request) { +func handleNode(rep Reporter, renderer render.Renderer, w http.ResponseWriter, r *http.Request) { var ( vars = mux.Vars(r) nodeID = vars["id"] @@ -72,7 +71,7 @@ func handleNode(rep xfer.Reporter, renderer render.Renderer, w http.ResponseWrit } // Individual edges. -func handleEdge(rep xfer.Reporter, renderer render.Renderer, w http.ResponseWriter, r *http.Request) { +func handleEdge(rep Reporter, renderer render.Renderer, w http.ResponseWriter, r *http.Request) { var ( vars = mux.Vars(r) localID = vars["local"] @@ -91,7 +90,7 @@ var upgrader = websocket.Upgrader{ func handleWebsocket( w http.ResponseWriter, r *http.Request, - rep xfer.Reporter, + rep Reporter, renderer render.Renderer, loop time.Duration, ) { diff --git a/xfer/collector.go b/app/collector.go similarity index 99% rename from xfer/collector.go rename to app/collector.go index 5155f4c96..d97846ab2 100644 --- a/xfer/collector.go +++ b/app/collector.go @@ -1,4 +1,4 @@ -package xfer +package main import ( "sync" diff --git a/xfer/collector_test.go b/app/collector_test.go similarity index 89% rename from xfer/collector_test.go rename to app/collector_test.go index 1072fdb4c..a350ee494 100644 --- a/xfer/collector_test.go +++ b/app/collector_test.go @@ -1,20 +1,17 @@ -package xfer_test +package main import ( "reflect" + "testing" "time" - "github.com/weaveworks/scope/test" - "github.com/weaveworks/scope/report" - "github.com/weaveworks/scope/xfer" - - "testing" + "github.com/weaveworks/scope/test" ) func TestCollector(t *testing.T) { window := time.Millisecond - c := xfer.NewCollector(window) + c := NewCollector(window) r1 := report.MakeReport() r1.Endpoint.AddNode("foo", report.MakeNode()) diff --git a/app/main.go b/app/main.go index 306ea01de..58b7ff0bd 100644 --- a/app/main.go +++ b/app/main.go @@ -50,7 +50,7 @@ func main() { uniqueID = strconv.FormatInt(rand.Int63(), 16) log.Printf("app starting, version %s, ID %s", version, uniqueID) - c := xfer.NewCollector(*window) + c := NewCollector(*window) http.Handle("/", Router(c)) go func() { log.Printf("listening on %s", *listen) diff --git a/app/origin_host.go b/app/origin_host.go index d51676b6a..1ff8b6c89 100644 --- a/app/origin_host.go +++ b/app/origin_host.go @@ -7,7 +7,6 @@ import ( "github.com/weaveworks/scope/probe/host" "github.com/weaveworks/scope/report" - "github.com/weaveworks/scope/xfer" ) // OriginHost represents a host that runs a probe, i.e. the origin host of @@ -35,7 +34,7 @@ func getOriginHost(t report.Topology, nodeID string) (OriginHost, bool) { } // makeOriginHostHandler makes the /api/origin/* handler. -func makeOriginHostHandler(rep xfer.Reporter) http.HandlerFunc { +func makeOriginHostHandler(rep Reporter) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ( vars = mux.Vars(r) diff --git a/app/router.go b/app/router.go index a92a68092..d05afa211 100644 --- a/app/router.go +++ b/app/router.go @@ -11,7 +11,6 @@ import ( "github.com/gorilla/mux" "github.com/weaveworks/scope/report" - "github.com/weaveworks/scope/xfer" ) // URLMatcher uses request.RequestURI (the raw, unparsed request) to attempt @@ -46,8 +45,8 @@ func URLMatcher(pattern string) mux.MatcherFunc { } type collector interface { - xfer.Reporter - xfer.Adder + Reporter + Adder } func gzipHandler(h http.HandlerFunc) http.HandlerFunc { @@ -80,7 +79,7 @@ func Router(c collector) *mux.Router { return router } -func makeReportPostHandler(a xfer.Adder) http.HandlerFunc { +func makeReportPostHandler(a Adder) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { var ( rpt report.Report