Merge pull request #623 from weaveworks/move-collector

Moving xfer.Collector into App (the only place its used)
This commit is contained in:
Paul Bellamy
2015-11-05 12:12:39 +00:00
8 changed files with 18 additions and 27 deletions

View File

@@ -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())

View File

@@ -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 {

View File

@@ -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,
) {

View File

@@ -1,4 +1,4 @@
package xfer
package main
import (
"sync"

View File

@@ -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())

View File

@@ -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)

View File

@@ -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)

View File

@@ -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