Commit Graph

2477 Commits

Author SHA1 Message Date
Simon Howe
a2810afaf1 Fixes grid -> topo transition.
- Also don't show table borders when no nodes.
- 't' toggles table mode on/off, rather than 't'/v'
2016-08-03 08:51:07 +02:00
Simon Howe
df1efff19b Force a layout after a toggle to viz-mode 2016-08-03 08:51:06 +02:00
Simon Howe
f83e0f1a48 Remove a lot of un-used code that I still want to keep 2016-08-03 08:51:06 +02:00
Simon Howe
29e67683b3 New selection model.
- highlight whole row
- don't do anything when selecting text
2016-08-03 08:50:37 +02:00
Simon Howe
d0b99969ea Grid-mode tuning!
- Change scrolling behaviour to lock headers in place
- Enable filtering (hitting enter in the search bar) in grid-mode
- Little more top-margin for k8s (can have 3 topos) + taller rows.
- Trying out rank-color + node.relatives in the grid-mode
- First pass at selecting rows.
  - Needs a bit more a fiddle, colors + click areas
- Store grid sort direction (asc/desc) in url state
- Simplify node selection to one method. (over-ride existing card)
  - Remove clicking on name directly (links) to overlay new cards for now.
- Playing w/ grid-mode-toggle icons and labels
- Improves rendering in ff, change of shortcut keys for grid-mode-toggle
- Playing w/ clearer selection colors for grid-mode
- Slight change to selection-ui
- Fixes showNodeInTopology button visibility on the details-panel
  - Was using an old heuristic. Table-mode allows you to open child cards
    before the parent.
- Make it clear what the default sort is in tables
  - E.g. always show a sorting caret
- Sort grid-mode columns, first meta then metrics
- dancing-nodes rememdy #1: pause updates onRowHover
- Splits relatives out into their own columns
- Take into account scrollbar width for grid-mode col header position
- Tooltips on table column headers
- grid-mode: fixes first column headers (proc/container/c-by-image)
- Disable pause-on-hover, too aggresive
- reduce label column width a bit (33pc -> 25pc) for big tables
- Filter grid-mode onSearchChange
  - Rather than previous behaviour of waiting for an <enter>
- Show label_minor on pseudo nodes, that might not have much other info
- grid-mode: further reduce width of id column.
- Fixes go tests, properly moves parents into node-summary
- Fixes sorting of string columns w/ missing fields.
  - E.g. uptime. Where -1e-10 > '3days' doesn't work.
2016-08-03 08:50:37 +02:00
Simon Howe
fa502ae6ad Removes the combined table-topo-view 2016-08-03 08:46:17 +02:00
Simon Howe
c51e290127 Node grid view
More graphs!

Rank is not support by dagre any longer..

Quick go at using facebook's fixed-data-table

Kind of working, kind of interesting.

Hack on the details-panel table, supports sorting etc already!

No, this one! Hacks on the details panel's table.

Hovering on the table works! (highlights nodes)

wip get sorting going

Working on sorting, not behaving!

Pulling out methods to fns

Kind of demoable

More hacks to make it demoable
2016-08-03 08:37:17 +02:00
Simon
e7a0a96de2 Merge pull request #1485 from weaveworks/loading-indicator
Loading indicator
2016-08-03 08:22:22 +02:00
Simon Howe
19f08ee81f Review feedback on loading-indicator 2016-08-02 22:09:08 +02:00
Alfonso Acosta
e42444c2e5 Merge pull request #1732 from weaveworks/metric-to-slice
Use slices instead of linked lists for Metric
2016-08-02 13:08:26 +01:00
Alfonso Acosta
4ed6afdb3a Review feedback 2016-08-01 20:06:05 +00:00
Alfonso Acosta
eaa3baec9d Preallocate metrics when copying 2016-08-01 19:35:43 +00:00
Alfonso Acosta
af08ba3245 Optimize Merge() for Metric 2016-08-01 19:34:32 +00:00
Alfonso Acosta
31f938cdad Remove Metric WithFirst() method
It was only used in tests and wasn't really necessary
2016-08-01 16:58:21 +00:00
Alfonso Acosta
8a950a59d6 Remove Metric Add() method
* Helps reduce garbage (MakeMetric() now takes a slice and there's a shorter version MakeSingletonMetric())
* Fixes bug computing Max (Min) in samples since using MakeMetric()
  was causing a default Max/Min of zero.
* Simplifies code a bit
2016-08-01 16:58:11 +00:00
David
546e3ba972 Merge pull request #1734 from weaveworks/no-logo-on-cloud
Dont show weavescope logo when running in a frame
2016-08-01 16:55:17 +02:00
David Kaltschmidt
50fe1f8af2 Hide logo when in frame 2016-08-01 15:19:09 +02:00
David Kaltschmidt
1df544dbda Dont show weavescope logo when running in a frame
The logo wont show when running in a service
2016-08-01 15:09:20 +02:00
Alfonso Acosta
3e000662f4 Restore custom encoders/decoders for backwards compatibility 2016-08-01 11:07:03 +00:00
Alfonso Acosta
b8bf60c6f1 Use slices instead of linked lists for Metric
Also:

* Remove Gob encoder/decoder
* Stop using custom encoders/decoders for Timestamps (both ugorji and the Golang JSON codecs use nanosecond precision).
* Use idiomatic way to check for existence in metric.LastSample()
2016-08-01 10:21:57 +00:00
Matthias Radestock
15cf1e16b2 micro optimisation: avoid some unnecessary copying 2016-07-29 18:56:06 +01:00
Matthias Radestock
0525a2a95e Merge pull request #1728 from weaveworks/no-copy-merge
don't Copy() self on Merge()
2016-07-29 11:27:14 +01:00
Matthias Radestock
17fe25d8c3 shallow-copy instead of (deep) Copy() in Merge()
Merge() must not modify self or other; shallow-copying is sufficient
to achieve that.
2016-07-29 10:00:01 +01:00
Matthias Radestock
c4fa72110c don't Copy() self on Merge()
Merge() is always returning a copy, so there is no need to Copy()
struct fields first before calling Merge() on them.

This reduces GC pressure (#1010) and helps overall app performance
(#1457).
2016-07-28 22:21:06 +01:00
Simon Howe
6e3bec8c70 Pulls loading out into new cmp, adds delayed show for loading 2016-07-28 17:59:48 +02:00
Simon Howe
fba40de231 Typo and removing some more mutatey sounding verbs 2016-07-28 16:28:55 +02:00
Simon Howe
50a1c11eaa New and improved loading messages.
Are these getting better or worse...
2016-07-28 16:28:55 +02:00
Simon Howe
9a77b0d619 Less apologetic ui messages 2016-07-28 16:28:55 +02:00
Simon Howe
74e0540a00 More personal loading messages 2016-07-28 16:28:55 +02:00
Simon Howe
b92a990b2e Restore log error message 2016-07-28 16:28:55 +02:00
Simon Howe
335cc1154a Smooth fade-out of node-loading message 2016-07-28 16:28:54 +02:00
Simon Howe
04f4071fd3 Handle loading message for empty topos correctly.
It was showing infinite loading...
2016-07-28 16:28:54 +02:00
Simon Howe
5df5e402f3 Avoid blurry text in topo loading message 2016-07-28 16:28:13 +02:00
Simon Howe
7dfae47c85 No title case on the loading messages 2016-07-28 16:28:12 +02:00
Simon Howe
7d14a787be Adds a loading indicator for the initial node-load
- Sometimes can take a second to get the initial nodes
- Not doing the transition between topos atm as its a bit distracting
  popping up and down.
2016-07-28 16:28:12 +02:00
Simon Howe
9a0feb3eb0 Adds basic "loading topologies" indicator for initial load.
Which can take a while sometimes.
2016-07-28 16:28:11 +02:00
Matthias Radestock
1ffdafdf8c cosmetic: remove trailing whitespace 2016-07-27 08:27:18 +01:00
Paul Bellamy
683727eaa2 Merge pull request #1723 from weaveworks/name-routes
Name our routes, so /metrics gives more sensible aggregations
2016-07-26 13:45:24 +01:00
Alfonso Acosta
2132528823 Merge pull request #1720 from weaveworks/reduce-gc
Improve performance of immutable maps
2016-07-26 13:28:03 +01:00
Paul Bellamy
0a77d60261 Merge pull request #1722 from weaveworks/summary-execution
Delete unused instrumentation code
2016-07-26 12:55:21 +01:00
Paul Bellamy
274158493d Name our routes, so /metrics gives more sensible aggregations 2016-07-26 12:49:04 +01:00
Jonathan Lange
cd716d3510 Delete unused instrumentation code 2016-07-26 12:27:50 +01:00
Alfonso Acosta
b5c488faec Fix tests 2016-07-26 10:55:22 +00:00
Alfonso Acosta
a80429ded2 LatestMap codec performance improvements and cleanups
* Allocate all map entries of the intermadiate representation at once
* Use UnsafeMutableMap to improve performance of LatestMap construction
* Remove gob encoder/decoder
2016-07-26 10:35:56 +00:00
Alfonso Acosta
ecc8a3138f Replace github.com/mndrix/ps by github.com/weaveworks/ps 2016-07-26 10:35:55 +00:00
Tom Wilkie
78199aa25f Custom encoder for latest maps (#1709)
* Customer encoder for latest maps

- Cuts out intermediate type
- Should be backwards compatible with existing reports.

* Make it build cleanly

* Review feedback
2016-07-21 16:19:57 +01:00
Tom Wilkie
e24416236f Circle will only run a single deploy step it seems 2016-07-21 13:47:15 +01:00
Matthias Radestock
d0e5a14a83 Merge pull request #1708 from weaveworks/1691-show-stopped-container-name
show names of stopped containers

Fixes #1691
2016-07-21 11:24:08 +01:00
Matthias Radestock
b3874e6e6f show names of stopped containers
This got broken in b78c503

Fixes #1691
2016-07-21 11:01:53 +01:00
Alban Crequy
652913084a circle.yml: deploy master with non-upstream hub accounts (#1655)
* circle.yml: deploy master with non-upstream hub accounts

Since b4abe582f4, images are tagged on
Docker Hub. But this was not working for non-upstream Docker Hub
accounts. This patch should fix that.

Symptoms: https://circleci.com/gh/kinvolk/scope/23

> The push refers to a repository [docker.io/kinvolk/scope] (len: 1)
> error getting tags for kinvolk/scope: Tag does not exist for
> master-b89e9ec

Also, ensure that the Docker tag name does not include any '/'.

Symptoms: https://circleci.com/gh/kinvolk/scope/24

> docker tag weaveworks/scope weaveworks/scope:alban/hub1-ef739d9
> repository name component must match "[a-z0-9]+(?:[._-][a-z0-9]+)*"

* extras/in_parallel.sh: ensure unique schedule name

Use CircleCI environment variables as documented on:
https://circleci.com/docs/environment-variables/

Symptoms:
> $ cd $SRCDIR/extras; ./build_on_circle.sh
> Doing graphviz/graphviz
> make: *** No rule to make target `graphviz/graphviz'.  Stop.

See: https://github.com/weaveworks/scope/pull/1655#issuecomment-232696357

* circle.yml: separate wcloud deployment

Do not run wcloud for non-weaveworks builds, as suggested by
https://github.com/weaveworks/scope/pull/1655#discussion_r71179373
2016-07-21 10:26:23 +01:00