Marc Carré
2ba50b8b3d
Update golang.org/x/net/context to latest
...
```
$ gvt delete golang.org/x/net/context
$ gvt fetch golang.org/x/net/context
2018/07/23 18:03:49 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
```
fixed a bunch of:
```
cannot use func literal (type func("github.com/weaveworks/scope/vendor/golang.org/x/net/context".Context) error) as type func("context".Context) error
```
2018-07-23 20:10:18 +02:00
Marc Carré
d46c2266ce
Change Sirupsen/logrus to sirupsen/logrus
...
```
$ git grep -l Sirupsen | grep -v vendor | xargs sed -i '' 's:github.com/Sirupsen/logrus:github.com/sirupsen/logrus:g'
$ gofmt -s -w app
$ gofmt -s -w common
$ gofmt -s -w probe
$ gofmt -s -w prog
$ gofmt -s -w tools
```
2018-07-23 20:10:14 +02:00
Bryan Boreham
dad34df575
Merge pull request #3267 from weaveworks/pool-gzwriters
...
Re-use gzip writers in a pool
2018-07-13 16:09:24 +01:00
Alfonso Acosta
0a5fb7aad3
Remove ProcessWithContainerNameRenderer, it wasn't working ( #3263 )
2018-07-13 13:34:37 +02:00
Bryan Boreham
14dc98343e
Use newer gzip handler for performance
...
"github.com/NYTimes/gziphandler" keeps a pool of gzip writers, which
saves on garbage-collection.
Also the old one, github.com/PuerkitoBio/ghost, is marked "Status : Unmaintained"
2018-07-12 19:13:47 +00:00
Bryan Boreham
a06d82ccf8
Shuffle reports before merging, in benchmark
...
So that we have equal chance of merging older into newer or vice-versa
2018-07-09 21:34:21 +00:00
Bryan Boreham
3c07c93847
Merge pull request #3236 from weaveworks/fast-merger
...
Faster report merging through mutating objects
2018-06-22 16:37:07 +01:00
Bryan Boreham
3309d09ad8
Remove slower mergers
2018-06-22 11:59:43 +00:00
Bryan Boreham
126a171f62
Make 'fast' merger the default
2018-06-22 11:59:43 +00:00
Bryan Boreham
1706746a32
Faster report merging through mutating objects
...
When we know we have the only reference to a Report or Node object we
can avoid copying the data to change it. Add "Unsafe" variants of
various Merge operations which mutate the receiver, and a new Merger
which takes advantage of them.
2018-06-22 11:59:43 +00:00
Bryan Boreham
06c895267c
Reports: streamline report serialization
...
Move the creation of the buffer and the choice of compression level
(which never changes) into WriteBinary(), to simplify the code.
2018-06-19 22:59:01 +00:00
Bryan Boreham
8c18a785e7
Merge pull request #3132 from openebs/add-pv-pvc-support
...
Add Kubernetes Storage (pv and pvc) support in Weave Scope
2018-06-08 12:41:21 +01:00
Satyam Zode
d9bd17af8a
Refactor edge frontend code and reporter
...
- Refactor dotted edge logic.
- Change Storage view to show storage components as well as all
the pods.
- Sentence case storage related variables.
Signed-off-by: Satyam Zode <satyam.zode@openebs.io >
2018-06-08 16:37:48 +05:30
Satyam Zode
24741bec2a
Simplify volume rendering code in render
...
- Remove the complex volume rendering code.
- Remove volume specific code from Transform.
- Rename filtering methods
- Remove extra params from PV, PVC nodes to make table view look good.
Signed-off-by: Satyam Zode <satyam.zode@openebs.io >
2018-06-08 16:37:42 +05:30
Satyam Zode
d26b2c3805
Add Kubernetes storage class resource to weave scope
...
This will:
- Add StorageClass resource. Storage classes are mentioned
in the PVC spec. We're using storage class name from PVC spec to
add adjacency to the PVC node.
- Add square sheet shape for StorageClass.
- Add storage filter in the PODS topology.
Storage Filter will allow user to see distinct view of
stateful applications.
- Add visually distinct edge to show storage adjacency.
Signed-off-by: Satyam Zode <satyam.zode@openebs.io >
2018-06-08 16:36:29 +05:30
Satyam Zode
23210a6a77
Add Kubernetes volumes support in Weave Scope
...
This will
- Add Kubernetes volume resources such as PV, PVC.
- Add shapes for Kubernetes PV and PVC
- Add `Cylinder` shape for PV and `Dotted Cylinder` shape for PVC.
Signed-off-by: Satyam Zode <satyam.zode@openebs.io >
2018-06-07 17:01:29 +05:30
Simon
4647ce1901
Merge pull request #3165 from weaveworks/default-filter
...
Use the default value for a TopologyOption if omitted
2018-05-28 14:36:25 +02:00
Roland Schilter
f012c23ca1
Sentence cased text everywhere ( #3166 )
...
* Sentence cased text everywhere
Follows Weave Cloud's direction of sentence case on most things.
* More space between sorter caret and label
* Use full topology name for table header
2018-05-17 17:30:38 -07:00
Bryan Boreham
a64db66010
Use the default value for an APITopologyOption if omitted
2018-05-09 19:21:03 +00:00
Bryan Boreham
7da7183a37
Refactor: simplify default type of option
2018-05-09 19:07:38 +00:00
Marcus Cobden
ba81924278
Add CLI flag for SQS RPC timeout
2018-05-04 10:11:25 +01:00
Bryan Boreham
593952cd6e
Move report creation outside of timing loop
2018-04-12 10:02:50 +00:00
Matthias Radestock
5b30b668ae
refactor: don't return receiver in Topology.AddNode()
...
This had little use and was obscuring the mutating nature of
AddNode().
2018-02-19 05:10:04 +00:00
Roberto Bruggemann
710d665c41
Upgrade k8s.io/client-go to kubernetes-1.9.1
...
Upgraded from 99c19923, branch release-3.0.
This required fetching or upgrading the following:
* k8s.io/api to kubernetes-1.9.1
* k8s.io/apimachinery to kubernetes-1.9.1
* github.com/juju/ratelimit to 1.0.1
* github.com/spf13/pflag to 4c012f6d
Also, update Scope's imports/function calls to be compatible with the new client.
2018-01-30 10:14:42 +00:00
Roberto Bruggemann
d3c53bacd6
'updateKubeFilters` returns early if there are no namespaces
...
This change makes sure an empty `APITopologyOptionGroup` struct is not created for namespaces, if there are no namespaces to report.
2018-01-08 17:37:49 +00:00
Roberto Bruggemann
1fb23dd8f9
Extract namespaces from report.Namespace
...
This avoids unnecessary loops.
2018-01-03 13:55:27 +00:00
Matthias Radestock
d1bb4aa45e
refactor: remove APITopologyDesc.filter
...
It's always set to render.FilterUnconnectedPseudo, so we can simply
use that constant in the one function (RendererForTopology) that
looked at that value.
2018-01-02 10:33:57 +00:00
Matthias Radestock
ec7c468758
make it possible for users to see unconnected processes
...
We prevented this because rendering them was expensive. It still is,
but less so and actually works well, especially in table mode.
2018-01-02 09:40:18 +00:00
Matthias Radestock
286453b9a9
refactor: move RenderContext where it belongs
...
It shouldn't be in 'report' because that is shared between the probe
and the app, and RenderContext, as the name suggests, is only needed
in the app.
2017-12-27 16:22:52 +00:00
Matthias Radestock
a9e5b99a74
add benchmarks for rendering & summarising processes-by-name
2017-12-26 11:59:50 +00:00
Matthias Radestock
f4668ca692
add benchmarks for report summarization
...
This is the last phase before result marshalling in the
/api/topology/{name} handler.
2017-12-24 09:48:41 +00:00
Matthias Radestock
06e0bed015
refactor: extract helper for rendering a topology
2017-12-24 09:44:48 +00:00
Matthias Radestock
6784d95ac8
refactor: extract getting report for benchmarking
2017-12-24 09:18:20 +00:00
Matthias Radestock
d4d7764311
cosmetic(ish)
2017-12-24 09:13:22 +00:00
Matthias Radestock
bf14b3dafd
upgrade reports we merge / render
...
This better reflects what the app is doing.
2017-12-24 08:55:45 +00:00
Matthias Radestock
615cb6af59
simplify error handling
2017-12-24 08:43:24 +00:00
Matthias Radestock
794c345aee
cosmetic: more logical function order
2017-12-24 08:33:13 +00:00
Matthias Radestock
49e4c7b0b6
make report upgrade benchmark reflect new phasing
...
Since #2979 upgrading happens prior to merging.
2017-12-24 08:29:37 +00:00
Matthias Radestock
43fadceb85
cosmetic: better function grouping
2017-12-24 08:18:12 +00:00
Matthias Radestock
ad72a2cf2f
refactor: rename topology rendering benchmarks
2017-12-24 08:16:57 +00:00
Matthias Radestock
70d84170d6
introduce a cheap /api/probes?sparse variant
...
In many cases we only need to know whether there are _any_ connected
probes, and not the probe details. Obtaining that info is cheaper
since it requires no reading or merging or reports.
2017-12-14 01:07:40 +00:00
Matthias Radestock
72b9e9c6b9
add Reporter.HasReports() for cheap report availability checking
...
This requires no report reading / merging.
We plan to expose this in the HTTP API, so the UI gets a cheap way of
checking whether the app is currently receiving data from probes.
2017-12-14 00:13:45 +00:00
Matthias Radestock
54fe1e37da
cosmetic
2017-12-13 23:52:48 +00:00
Matthias Radestock
6c4bf58fe2
refactor: extract awsCollector.getReportKeys helper
...
This makes Report() more readable. We also intend to use this function
elsewhere.
2017-12-13 23:50:05 +00:00
Matthias Radestock
3a122aeed5
refactor: rename awsCollector.getReportKeys to reportKeysInRange
...
...so we can recycle the former name.
2017-12-13 23:40:04 +00:00
Roberto Bruggemann
10f3e4c0dc
In-memory collector: merge reports after upgrade
...
Upgrading reports individually reduces the amount of upgrades, since some reports might have been upgraded in previously.
2017-12-12 14:16:48 +00:00
Roberto Bruggemann
e58f865d3f
Upgrade reports before caching
...
This change will reduces upgrades, since `report.Upgrade` only performs an upgrade if necessary.
2017-12-12 11:25:04 +00:00
Matthias Radestock
ea20de58be
Merge pull request #2964 from weaveworks/do-not-reportallocs
...
do not report allocations in benchmarks
2017-12-08 14:11:18 +00:00
Matthias Radestock
d528292cd4
make report upgrading fast when it's a no-op
...
The vast majority of the cost is memory allocation, so doing a first
pass to see whether any upgrading is necessary at all, and thus
avoiding allocation when it isn't, is a massive saving.
2017-12-07 21:01:34 +00:00
Matthias Radestock
d3e23e18fc
do not start/stop benchmark timer for no-ops
2017-12-07 20:31:11 +00:00