mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-18 04:49:55 +00:00
```
$ gvt delete golang.org/x/net/context
$ gvt fetch golang.org/x/net/context
2017/10/08 XX:XX:XX Fetching: golang.org/x/net/context
$ git grep -l "golang.org/x/net/context" | grep -v vendor | xargs sed -i 's:golang.org/x/net/context:context:g'
$ git grep -l "context/ctxhttp" | grep -v vendor | xargs sed -i 's:context/ctxhttp:golang.org/x/net/context/ctxhttp:g'
$ gofmt -s -w app
$ gofmt -s -w common
$ gofmt -s -w probe
$ gofmt -s -w prog
$ gofmt -s -w tools
```
This fixes errors like:
```
app/multitenant/aws_collector.go:222: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogram
app/multitenant/aws_collector.go:439: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogram
app/multitenant/memcache_client.go:155: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogramStatus
app/multitenant/memcache_client.go:210: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogramStatus
app/multitenant/s3_client.go:74: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogram
app/multitenant/s3_client.go:91: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogram
app/multitenant/sqs_control_router.go:99: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogram
app/multitenant/sqs_control_router.go:133: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogram
app/multitenant/sqs_control_router.go:163: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogram
app/multitenant/sqs_control_router.go:199: cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error in argument to instrument.TimeRequestHistogram
app/multitenant/sqs_control_router.go:199: too many errors
```
55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
package app
|
|
|
|
import (
|
|
"net/http"
|
|
"time"
|
|
|
|
"context"
|
|
|
|
"github.com/weaveworks/scope/probe/host"
|
|
"github.com/weaveworks/scope/report"
|
|
)
|
|
|
|
// Raw report handler
|
|
func makeRawReportHandler(rep Reporter) CtxHandlerFunc {
|
|
return func(ctx context.Context, w http.ResponseWriter, r *http.Request) {
|
|
report, err := rep.Report(ctx, time.Now())
|
|
if err != nil {
|
|
respondWith(w, http.StatusInternalServerError, err)
|
|
return
|
|
}
|
|
respondWith(w, http.StatusOK, report)
|
|
}
|
|
}
|
|
|
|
type probeDesc struct {
|
|
ID string `json:"id"`
|
|
Hostname string `json:"hostname"`
|
|
Version string `json:"version"`
|
|
LastSeen time.Time `json:"lastSeen"`
|
|
}
|
|
|
|
// Probe handler
|
|
func makeProbeHandler(rep Reporter) CtxHandlerFunc {
|
|
return func(ctx context.Context, w http.ResponseWriter, r *http.Request) {
|
|
rpt, err := rep.Report(ctx, time.Now())
|
|
if err != nil {
|
|
respondWith(w, http.StatusInternalServerError, err)
|
|
return
|
|
}
|
|
result := []probeDesc{}
|
|
for _, n := range rpt.Host.Nodes {
|
|
id, _ := n.Latest.Lookup(report.ControlProbeID)
|
|
hostname, _ := n.Latest.Lookup(host.HostName)
|
|
version, dt, _ := n.Latest.LookupEntry(host.ScopeVersion)
|
|
result = append(result, probeDesc{
|
|
ID: id,
|
|
Hostname: hostname,
|
|
Version: version,
|
|
LastSeen: dt,
|
|
})
|
|
}
|
|
respondWith(w, http.StatusOK, result)
|
|
}
|
|
}
|