670 Commits

Author SHA1 Message Date
Akash Srivastava
60a1c66430 Fix one pod to multiple PVC connection
Read all the PVC source from a pod spec
and add adjacency between the pod and its PVCs.

Signed-off-by: Akash Srivastava <akashsrivastava4927@gmail.com>
2019-01-13 20:10:51 +05:30
Roland Schilter
f8412c3204 Rename :orgId to :instanceId in metrics graph url
- Renames placeholders `:orgId` to `:instanceId` in
  `--app.metrics-graph`
- Adjusts frontend client to use the provided instanceId by its host
  application (Weave Cloud)
2018-12-17 17:57:00 -08:00
Akash Srivastava
00168819c5 Check Pod and PVC namespace while rendering
- Name of the PVC can be same in different namespaces, in this
scenario an application pod is connected to multiple PVC.

Signed-off-by: Akash Srivastava <akashsrivastava4927@gmail.com>
2018-12-08 19:34:30 +05:30
Bryan Boreham
5c9b0f179d Don't look for blank volume claims
If a pod has no VolumeClaim set, just move on to the next pod.
Eliminates small waste of time.
2018-11-26 11:53:06 +00:00
Bryan Boreham
94dbee2124 Move "hideous hack" for Kubernetes service network from probe to app
This avoids side-effects from reporting Kubernetes from a
cluster-level probe, and removes a lie from the probe data.

Rather than do the work every time the probe sends a report, we do it
every time the app renders endpoints, which should be once per merged
report set.
2018-11-19 14:54:20 +00:00
Simon Howe
d3a36cf873 Load up fa5 instead of 4
- Switch to fa5 icons and tweak font-sizes a bit
2018-11-13 12:51:31 +01:00
Simon
e78f8a8de4 Revert "Upgrade to Font Awesome 5" 2018-11-12 11:22:19 +01:00
Simon Howe
2cc58f5b00 Switch to fa5 icons and tweak font-sizes a bit 2018-11-09 14:59:53 +01:00
Bryan Boreham
3be8cf71dd Add more Opentracing detail to the app (#3383)
* Pass Go context down to Renderers

This is useful for cancellation or tracing.

* Add tracing spans to app

Also log things like number of nodes in Map, total number of reports.
2018-10-26 11:21:33 +05:30
Bryan Boreham
8cccbb695b Merge pull request #3274 from weaveworks/kubernetes-tagger
Enable Kubernetes objects to be reported just once in a cluster
2018-10-19 16:48:37 +01:00
Akash Srivastava
81a682893f Add kubernetes volume snapshot support
- Add a new client in probe/kubernetes/client.go
  which will be used to fetch details of Snapshot CRD
- Visualize VolumeSnapshot and VolumeSnapshotData
- Add adjacency between PV and VolumeSnapshot
- Add adjacency between VolumeSnapshot and VolumeSnapshotData
- Add snapshot filter to hide and show snapshots

Signed-off-by: Akash Srivastava <akash.srivastava@openebs.io>
2018-10-16 01:04:44 +05:30
Akash Srivastava
ea9ad0a1e6 Update topology to include tag
Tag can be used to specify the sub-shape for the given node.

Signed-off-by: Akash Srivastava <akash.srivastava@openebs.io>
2018-10-16 01:04:42 +05:30
Bryan Boreham
0c394e689a Fix pod host propagation 2018-10-12 13:47:39 +00:00
Bryan Boreham
1279a02b7d Stop tagging pods with host ID
So they can be reported centrally, find the pod host ID from the child
containers.
2018-10-11 17:54:29 +00:00
Bryan Boreham
c1b1ee2a1b Merge pull request #3266 from weaveworks/slim-metrics
Remove First and Last data members from Metrics structs
2018-08-24 17:39:21 +01:00
guyfedwards
a38b6213d1 rename storagesheet to sheet
the client now expects a node shape of `sheet` not `storagesheet`
update report.go to reflect this.

fixes #3322
2018-08-22 13:07:45 +01:00
Bryan Boreham
aa40f944d3 Merge pull request #3260 from openebs/storage-driver
Add storage driver name to Persistent Volume
2018-07-31 17:58:38 +01:00
Akash Srivastava
715747bda4 Add storage driver name to Persistent Volume
Every PV is backed by storage driver. This will show
storage driver in the PV metadata.

Signed-off-by: Akash Srivastava <akash.srivastava@openebs.io>
2018-07-20 11:41:06 +05:30
Bryan Boreham
9efd6afd7c Merge pull request #3268 from weaveworks/optimise-withlatests
Optimise Node.WithLatests()
2018-07-18 14:04:35 +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
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
Alfonso Acosta
0a5fb7aad3 Remove ProcessWithContainerNameRenderer, it wasn't working (#3263) 2018-07-13 13:34:37 +02:00
Bryan Boreham
1cfc8f4581 Remove First and Last data members from Metrics structs
They can be trivially computed when required.
2018-07-11 19:19:01 +00: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
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
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
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
2f69973de6 Add adjacencies for kubernetes storage components
- Kubernetes storage components such as PV and PVC are connected based on two
parameters Persistent volume claim name and Persistent Volume name.
- PVC contains the volume name which is, PV name itself. Hence, we can
show edge for PVC and PV.
- This will bring higher level visibility for kubernetes storage components.

Signed-off-by: Satyam Zode <satyam.zode@openebs.io>
2018-06-07 17:04:56 +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
Matthias Radestock
15b605f804 make process-by-name topology show something (again)
...when 'Hide Unconnected' is selected, which is the default.

Here's the problem...

The connectedness filter looks for `is_connected` marks in the Latest
map of the nodes. The mark is added by ColorConnected, which is
invoked by ProcessRenderer. That in turn is the base renderer for
ProcessNameRenderer, which is what the process-by-name view
renders. However, the process2Names mapping does not propagate any
metadata, hence there are no `is_connected` marks on the result
nodes. Consequently they are all filtered out.

The problem was introduced in #3009, when I added the ability for
users to chose whether to show or hide unconnected
processes (previously unconnected processes were always hidden) -
looks like I failed to check that the process-by-name view was working
with the new filter. Oops.

The fix is to move the ColorConnected call from ProcessRenderer to the
higher-level renderers - ProcessWithContainerNameRenderer (which is
what the 'Processes' view renders) and ProcessNameRenderer.

This has the beneficial side effect of improving performance for other
renderers which invoke ProcessRenderer, none of which need
connectedness-coloring.

Fixes #3205
2018-06-03 07:01:40 +01:00
Bryan Boreham
fe28febbe1 render: Don't return blank addresses for pods
A small performance improvement - instead of creating an entry in a
map which doesn't match anything, just skip a pod with a blank IP.
2018-05-29 15:30:15 +00: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
Filip Barl
bfb20a8f40 Addressed @LiliC's feedback. 2018-05-17 11:43:54 +02:00
Filip Barl
183aaea950 Fixed the tests. 2018-05-17 11:09:31 +02:00
Filip Barl
4382deb39b Show image tag separate from image name in Node Details. 2018-05-17 11:09:31 +02:00
Bryan Boreham
e1c418884e Comment inconsistency between calls in joinResults 2018-04-15 09:39:43 +00:00
Bryan Boreham
3711876194 Use unsafe merge in joinResults.addChildAndChildren(), for performance 2018-04-15 09:39:21 +00:00
Bryan Boreham
b7b778934c Merge pull request #3138 from weaveworks/single-owner-nodeset
Use single-owner code path to accumulate children when rendering
2018-04-13 09:34:30 +01:00
Bryan Boreham
7a03bc03f8 Use faster code to accumulate children when rendering
Make sure all the Children NodeSets are not shared with any other
nodes, then we can use the non-persistent add path.
2018-04-13 07:44:21 +00:00
Bryan Boreham
7e63d0fd19 Comment 2018-04-10 13:25:54 +00:00
Bryan Boreham
dd087cff01 Use joinResults to accumulate nodes in Map.Render()
joinResults grew out of a special case of Map.Render(), so now we
merge the two lines back together and have just one way to accumulate
results and remap adjacencies.
2018-04-09 13:16:40 +00:00
Bryan Boreham
e3539a8d92 MapFunc is now Node->Node
Save time creating a map for the results which contains at most one entry
2018-04-09 13:16:40 +00:00
Bryan Boreham
ced27b298c Turn Map2Parent into a Renderer
This is the last MapFunc which returns multiple Nodes, so by turning
it into a Renderer we open the door to simplifing every other MapFunc.
2018-04-09 13:16:40 +00:00
Matthias Radestock
feae4f4fcf don't show Failed pods
these are not alive, and Scope generally only shows the living, not
the dead.
2018-04-02 11:03:25 +01:00
Ilya Dmitrichenko
e024ab2d1f Add (cloud.)weave.works to the list of known services 2018-02-22 17:19:55 +00:00
Bryan Boreham
b5cdcb9a42 Move DNS name mapping from endpoint to report 2018-02-20 16:14:21 +00:00
Roberto Bruggemann
95a490da3a Service metrics: fix naming assumption
The link returned by service metrics is now built by looking up the deployment name in `report.Report` instead of assuming the service and the deployment have the same name.
2018-02-08 14:13:50 +00:00