Commit Graph

4491 Commits

Author SHA1 Message Date
Matthias Radestock
46551998cc Merge pull request #2983 from weaveworks/2982-cheap-connectedness
cheap probe connectedness api endpoint

Fixes #2982.
2017-12-14 11:04:03 +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
930c4b5383 Merge pull request #2979 from weaveworks/cache-upgraded-reports
Upgrade reports before caching
2017-12-13 10:40:47 +00:00
Aaron Kirkbride
e16385f647 Merge pull request #2980 from weaveworks/aaron7-patch-1
Upgrade weaveworks-ui-components to 0.3.10
2017-12-12 18:51:44 +00:00
Aaron Kirkbride
f158f9e2ef Upgrade weaveworks-ui-components to 0.3.10 2017-12-12 18:50:44 +00:00
Aaron Kirkbride
c4727db55c Merge pull request #2976 from weaveworks/lock-styled-upgrade-ui-components
Lock styled-components version and upgrade ui-components
2017-12-12 14:43:52 +00:00
Aaron Kirkbride
3c92e8b264 Lock styled-components version and upgrade ui-components 2017-12-12 14:42:48 +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
Damien Lespiau
5b4c77bc4c Merge pull request #2971 from weaveworks/2017-12-08-absolute-fqdn
probe: Use an absolute FQDN for cloud.weave.works by default
2017-12-11 18:22:00 +00:00
Matthias Radestock
d7ed649717 Merge pull request #2977 from weaveworks/2974-no-docker-binary
don't embed docker binary

Fixes #2974
2017-12-11 17:54:04 +00:00
Matthias Radestock
efbfd5d582 don't embed docker binary
We needed it because some of our invocations of Weave Net's `weave`
script depended on it, but that is no longer the case as of Weave Net
2.1.

Fixes #2974.
2017-12-11 17:02:20 +00:00
Matthias Radestock
6f02432710 Merge pull request #2975 from weaveworks/bump-weavenet
bump embedded Weave Net version to 2.1.3
2017-12-11 17:01:48 +00:00
Roberto Bruggemann
0520d0d201 Merge pull request #2973 from weaveworks/report-upgrade-deployments
report.Upgrade() add deployments to pods as parent
2017-12-11 15:29:05 +00:00
Roberto Bruggemann
c08d39f8bd report.Upgrade() add deployments to pods as parent
This was previously done selectPodsWithDeployments.Render().
2017-12-11 14:50:41 +00:00
Matthias Radestock
c6455c41a0 bump embedded Weave Net version to 2.1.3 2017-12-11 11:33:17 +00:00
Roberto Bruggemann
713e1dc8e4 Merge pull request #2966 from weaveworks/release-1.6
Release 1.6.6
2017-12-11 11:08:17 +00:00
Matthias Radestock
1865c46368 refactor: introduce a constant for "copy_of"
since it's shared between the probe and renderer
2017-12-09 10:45:59 +00:00
Damien Lespiau
f1727232cb probe: Use an absolute FQDN for cloud.weave.works by default
This can save a few DNS queries here and there!
2017-12-08 16:51:15 +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
Roberto Bruggemann
433d248d69 Add release 1.6.6 to CHANGELOG v1.6.6 2017-12-08 13:48:41 +00:00
Roberto Bruggemann
580768b656 Update scope version to 1.6.6 in docs 2017-12-08 12:10:49 +00:00
Matthias Radestock
3251705a09 Merge pull request #2965 from weaveworks/2959-lowcost-noop-upgrade
make report upgrading fast when it's a no-op
2017-12-08 10:48:41 +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
Matthias Radestock
f305c35bfd do not report allocations in benchmarks
That's what -benchmem is for.
2017-12-07 20:27:31 +00:00
Bryan Boreham
50327c9b5f Merge pull request #2961 from weaveworks/unwrap-latest-struct
Remove struct wrapping LatestMap
2017-12-07 09:50:31 -06:00
Bryan Boreham
d1bf98dfde Remove struct wrapping LatestMap
It isn't necessary, and it prevents the codec from seeing maps as empty
2017-12-06 15:46:31 +00:00
Roberto Bruggemann
1669ff8e28 Merge pull request #2957 from weaveworks/probe-no-replicasets
Stop reporting ReplicaSets
2017-12-05 14:06:59 +00:00
Matthias Radestock
f5b38a0019 Merge pull request #2956 from weaveworks/sizing-merge-slice
optimisation: allocate less memory in LatestMap merging
2017-12-05 06:22:55 +00:00
Roberto Bruggemann
b522443837 Stop reporting ReplicaSets
Also, add Deployment as Pod parent.
2017-12-04 16:19:49 +00:00
Matthias Radestock
4162b5d734 allocate less memory in LatestMap merging
Most maps we merge have the same keys, or at least one set of keys is
the subset of the other. Therefore, allocate a result slice capable of
holding only the max of number keys, rather than the sum.
2017-12-02 13:13:08 +00:00
Matthias Radestock
acde0ea294 add some more topology rendering benchmarks 2017-12-02 13:04:57 +00:00
Matthias Radestock
bc0c8324be add report merging benchmark 2017-12-02 11:51:16 +00:00
Matthias Radestock
c953313b01 move main report processing benchmarks in one place
so they can share code and are easier to run in combination.

We take advantage of the code sharing by generalising the report
rendering benchmarks to read & merge reports from a dir.
2017-12-02 11:29:16 +00:00
Matthias Radestock
2f4c6507e5 Merge pull request #2955 from weaveworks/fix-replicaset-desiredreplicas
fix incorrect reporting of replicaset DesiredReplicas
2017-12-01 15:04:12 +00:00
Matthias Radestock
914acf6e3d fix incorrect reporting of replicaset DesiredReplicas
ReplicaSetSpec.Replicas is an *int32. Just like in DeploymentSpec,
where we deal with that in the same way.
2017-11-30 18:40:00 +00:00
Bryan Boreham
d6e47c0f5d Merge pull request #2386 from weaveworks/decode-bytes
Decode reports from a byte buffer
2017-11-29 18:41:24 -08:00
Bryan Boreham
05d5d339c4 Decode reports from a byte buffer
Reading and uncompressing the entire message into memory first allows
the decoder to avoid memory allocations in field names, etc.
2017-11-29 21:56:55 +00:00
Matthias Radestock
cdbc01ecf9 simplify report.MakeFromFile
this new version is less efficient... but not for much longer
2017-11-29 21:48:52 +00:00
Matthias Radestock
ecf3ae90ff add a benchmark for report unmarshalling 2017-11-29 21:48:52 +00:00
Matthias Radestock
d5eab89e97 Merge pull request #2954 from weaveworks/filter-internet-adjacencies
filter internet adjacencies

Fixes #1110.
2017-11-29 19:04:45 +00:00
Matthias Radestock
f2fed067d5 simplify render benchmark code
by using report.MakeFromFile instead of NewFileConnector
2017-11-29 11:37:39 +00:00
Matthias Radestock
9fbc388f82 filter internet adjacencies
Edges between the incoming and outgoing internet nodes are typically
artifacts of imperfect connection tracking, e.g. when VIPs and NAT
traversal are in use.

So lets filter them out.
2017-11-28 13:23:17 +00:00
Matthias Radestock
e73ba58740 Merge pull request #2951 from weaveworks/one-pass-unconnected
filter out unconnected pseudo nodes just once, at the end
2017-11-28 08:06:12 +00:00
Matthias Radestock
956303694a always apply ColorConnected in process renderers
This eliminates the awkward distinction between ProcessRenderer and
ColorConnectedProcessRenderer.

It also ensures that processes resulting from direct rendering of the
process topology (/api/topology/processes is invoking
ProcessWithContainerNameRenderer and /api/topology/processes-by-name
is invoking ProcessNameRenderer) are colored and hence summarising
them correctly sets the 'linkable' property. This was the behaviour
prior to the revamping of the rendering pipeline. However, it doesn't
actually make a practical difference since process detail panels only
show other processes as connection endpoints, and these are always
marked linkable anyway.
2017-11-28 06:54:15 +00:00