mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-02 17:50:39 +00:00
Moving xfer.Collector into App (the only place its used)
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package xfer
|
||||
package main
|
||||
|
||||
import (
|
||||
"sync"
|
||||
@@ -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())
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user