Commit Graph

4971 Commits

Author SHA1 Message Date
Bryan Boreham
1ed07f4a0a Refactor: streamline Node.WithParents()
Make it take parameters just like all the callers have, instead of
making them create a different structure.

It is now only used in tests.
2018-07-20 20:31:51 +00:00
Bryan Boreham
67052a6580 Optimise NewDerivedNode()
Create the new node's children without making an intermediate NodeSet
2018-07-20 20:31:51 +00:00
Bryan Boreham
69e61cb362 Merge pull request #3254 from openebs/issue-template
Add issue template for weave scope github repo
2018-07-19 14:24:23 +01:00
Bryan Boreham
9efd6afd7c Merge pull request #3268 from weaveworks/optimise-withlatests
Optimise Node.WithLatests()
2018-07-18 14:04:35 +01:00
Bryan Boreham
0e34b1c3e1 Merge pull request #3269 from weaveworks/string-sets-add
Optimise WithParents() when there is only one parent
2018-07-18 14:03:20 +01:00
Bryan Boreham
cc79b7631e Propagate multiple container values at once
This is more efficient than repeatedly inserting a single value.
2018-07-18 12:52:27 +00:00
Bryan Boreham
6ff8316a1d Add all elements then sort in Node.WithLatests()
To save allocating and re-allocating the data structure by repeated
addition.
2018-07-18 12:52:27 +00:00
Bryan Boreham
5edc85822b AddParent() function to optimise the case where there is only one parent
Avoids creating and discarding a StringSet just to carry the
parameters, and makes the code more readable too.
2018-07-17 13:51:46 +00:00
Bryan Boreham
0d2409c72c Add method to add a single string into Sets
This avoids creating and discarding a StringSet just to pass the parameter
2018-07-17 13:51:46 +00:00
Bryan Boreham
761fafe61b Add benchmark for Kubernetes Report() 2018-07-16 19:41:49 +00: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
9ff89c8454 Merge pull request #3253 from weaveworks/optimise-merge-subset
Optimise merge where one side is a subset of the other
2018-07-13 08:11:16 +01:00
Bryan Boreham
692214bf40 Test Sets.Add() 2018-07-12 19:54:02 +00:00
Bryan Boreham
d37611a4a3 Make TestSetsMerge() check both ways round 2018-07-12 19:54:01 +00:00
Bryan Boreham
8e305f1ce9 Don't copy StringSet if merging a subset
Make StringSet.Merge() work like StringLatestMap.Merge()
2018-07-12 19:54:01 +00:00
Bryan Boreham
dac008b9c4 Early return from LatestMap merge loop
If we run out of things to look at in the other map, return quickly.
Also move the equal-key case above the less-than case, since maps with
equal keys are the common case when merging.
2018-07-12 19:54:01 +00:00
Bryan Boreham
c91fd6c67b Optimise merge of LatestMaps with same keys, different timestamps
Swap the two maps so we are merging older into later.
2018-07-12 19:54:01 +00:00
Bryan Boreham
43a0a7e5d3 Don't copy LatestMap if merging a subset 2018-07-12 19:50:02 +00:00
Bryan Boreham
2186c89e00 Update vendor files for new gzip handler 2018-07-12 19:19:41 +00: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
d60f3030ca Extend TestLatestMapMerge()
Add a test case where one input is longer than the other; also run
each case both ways round.

Omit the case which was already the reverse of another.
2018-07-09 19:19:23 +00:00
Filip Barl
4bd0be0910 Merge pull request #3244 from weaveworks/3243-pluggable-node-details-extras
Support rendering node details extras
2018-07-09 16:20:26 +02:00
Bryan Boreham
c96611b13d Less verbose string dump of LatestMap
The default time.Time.String() includes nanoseconds, wall-clock adjustment, etc.
Also don't include the key twice when stringizing the map itself.
2018-07-08 16:32:51 +00:00
Bryan Boreham
70cd79307e Re-use gzip writers in a pool
Since they allocate sizeable chunks of memory, this can save on garbage-collection.
2018-07-08 16:30:07 +00:00
Bryan Boreham
777360dc9e Merge pull request #3255 from weaveworks/report-bufferpool
Use a buffer pool in report.ReadBinary() to reduce garbage-collection
2018-07-04 16:04:00 +01:00
Bryan Boreham
8e5b19cbcb Use buffer pool in report.MakeFromBytes() to reduce garbage-collection 2018-07-04 14:03:17 +00:00
Bryan Boreham
84169c6c55 Use a buffer pool in report.ReadBinary() to reduce garbage-collection 2018-07-04 13:35:44 +00:00
Satyam Zode
66d90707ec Add issue template for weave scope github repo
Issue template will help both users and maintainers to
exchange required info related to an issue easily.

fixes: #3223

Signed-off-by: Satyam Zode <satyamzode@gmail.com>
2018-07-04 15:52:51 +05:30
Simon
3656513af6 Merge pull request #3248 from weaveworks/fixes-scope-linux-term-issues
Fixes monospace font overlapping in terminal+linux
2018-07-03 10:32:43 +02:00
Simon Howe
7a04740d7c Fixes monospace font overlapping in terminal+linux
- Also fixes actually using Roboto-Mono, xterm.js now only accepts
  fontFamily customization via the JS api. (uses `<canvas`).
- There is an issue (https://github.com/xtermjs/xterm.js/issues/1170)
  if linux has to fall back to 'monospace' where things fail to render
  correctly, so provide a couple of common options so this rarely
  happens.
- If we distribute robo-mono in the webpack bundle that might also work.
2018-07-02 17:59:13 +02:00
Filip Barl
08ed71fc55 Fixed the failing test. 2018-06-29 16:14:51 +02:00
Filip Barl
b6c55ba3c8 Remove the legacy styles. 2018-06-29 16:10:13 +02:00
Filip Barl
7d85ed6a74 Got rid of all NodeDetailsImageStatus code and replaced it with renderNodeDetailsExtras function. 2018-06-29 12:02:48 +02:00
Filip Barl
70d4d3f0ec Merge pull request #3239 from weaveworks/3238-support-time-travel-as-prop
Support TimeTravel injection
2018-06-29 11:01:41 +02:00
Filip Barl
a7282552ab Simplified TimeTravel state update from the route. 2018-06-27 11:27:56 +02:00
Filip Barl
f49770c062 Support TimeTravel injection. 2018-06-26 16:39:50 +02: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
Filip Barl
e0abc8bfc3 Merge pull request #3234 from weaveworks/273-update-gray-theme-colors
Update gray theme colors
2018-06-21 18:01:37 +02:00
Filip Barl
56ba183571 Update gray theme colors. 2018-06-21 17:03:08 +02:00
Bryan Boreham
5067cc9059 Merge pull request #3232 from weaveworks/dont-overwrite-input
Stop filterUnconnected() modifying its input
2018-06-21 10:17:51 +01:00
Aaron Kirkbride
e5d881a077 Merge pull request #3233 from weaveworks/api-getfluximages-fix
Correct api.getFluxImages usage
2018-06-20 13:48:18 +01:00
Aaron Kirkbride
86ffa6dd6a Correct api.getFluxImages usage 2018-06-20 13:41:14 +01:00
Bryan Boreham
183396ed54 Merge pull request #3201 from weaveworks/dont-map-pod-blank-ip
Don't return blank addresses for pods
2018-06-20 10:39:18 +01:00
Bryan Boreham
aee205594b Merge pull request #3204 from weaveworks/print-reports-stdout
Add option to print probe reports to stdout, for debugging
2018-06-20 10:38:56 +01:00
Bryan Boreham
39dd0268b0 Stop filterUnconnected() modifying its input
Helper function filterInternetAdjacencies() would sometimes copy and
sometimes not copy the input. Changed to always copy, before calling.
2018-06-20 08:49:48 +00:00