Files
weave-scope/CHANGELOG.md
2016-03-23 10:51:27 +00:00

28 KiB

Release 0.13.1

Bug Fixes:

  • Make pipes work with scope.weave.works #1099 #1085 #994
  • Don't panic when checking the version fails #1117

Release 0.13.0

Note: This release come with big performance improvements, cutting the probe's CPU usage by 70% and the app's CPU usage by up to 85%. See detailed performance improvement-related changes below:

Performance improvements:

  • Improve codec performance #916 #1002 #1005 #980
  • Reduce amount of objects allocated by the codec #1000
  • Refactor app for multitenancy #997
  • Improve performance of docker stats obtention #989
  • Rate-limit reading proc files #912 #905
  • Compile k8s selectors once (not for each pod) #918
  • Fix reading of network namespace inodes #898

New features and enhancements:

  • Node shapes for different topologies, e.g. heptagons for Kubernetes pods #884 #1006 #1037
  • Force-relayout button that may help with topology layouts that have lots of edge crossings #981
  • Download button to save the current node graph as SVG file #1027
  • Replace Show More buttons with carets w/ counts #1012 #1029
  • Improve contrast of default view #979
  • High contrast mode button for viewing scope on projectors #954 #984
  • Gather file descriptors as process metric #961
  • Show Docker Labels in their own table in details panel #904 #965
  • Improve highlighting of selected topology #936 #964
  • Details: only show important metadata by default, expand the rest #946
  • Reorder the children tables in the details panel by importance #941
  • Shorten docker container and image IDs in the details panel. #930
  • Shorten some details panel labels which were truncated #940
  • Sparklines update every second and show 60sec history #795
  • Add Container Count column to container images table #919
  • Periodically check for newer versions of scope. #907
  • Rename Applications -> Process, sort topologies by rank. #866
  • Rename 'by hostname' to 'by dns name' #856
  • Add container uptime and restart count to details panel. #853
  • Use connection directions from conntrack for improved layout flow #967
  • Support for container controls in Kubernetes #1043
  • Add debug logging #935

Bug fixes:

  • Use TCP for weave dns to fix autoclustering #1038
  • Add ping/pong to websocket protocol to prevent websocket connections being dropped when traversing loadbalancers #995
  • Handle closing of docker events channel gracefully #1014
  • Don't show blank IPs metadata row for containers with no IP #960
  • Remove pointer math (comparison) from render caching, as it is unreliable #962
  • set TERM=xterm on execs to work around docker issue 9299 #969
  • Fix weave tagger crash #976
  • Use Sirupsen/logrus logger in the Weave tagger #974
  • Fix JSON encoding for fixedprobe #975
  • Don't render any metrics/metadata for uncontained node #956
  • Update go-dockerclient to fix bug with docker 1.10 #952
  • Show nice column labels when no children have metrics #950
  • Fixes process-by-name layout with ./foo and /foo nodes #948
  • Deal with starting / stopping weave whilst scope is running #867
  • Remove host links that link to themselves in details panel #917
  • Just show the untruncated label in the tooltip on children #911
  • Taking a read lock twice only works most of the time. #889
  • Details panel table header looks up label in all rows #895
  • Fixes some fields overflowing badly in details panel in Chrome 48 #892
  • Stop details cards popping up over the terminal. #882
  • Fixes host node/details panel color mismatch #880
  • Don't log expected websocket errors #1024
  • Overwrite /etc/weave/apps, because it might already exist #959
  • Log a warning when reporters or taggers take too long to generate #944
  • Minor refactor of backend metadata and metric rendering #920
  • Add some tests, and a zero-value for report.Sets #903

Build improvements and cleanup:

  • Disable checkpointing in tests. #1031
  • Turn off GC for builds. #1023
  • Bump template name to get latest version of docker. #998
  • Fixes building scope outside of a container. #901
  • Don't need sudo when DOCKER_HOST is tcp. #888
  • Disable npm progress to speed up build #894
  • Refactoring deepequal to satisfy linter #890

Documentation:

  • Document how to obtain profiles without go tool pprof #993
  • Use short URL for scope download #1018
  • Added note about docker and go dependency to the readme #966
  • Update readme and images. #885
  • Update approach to trigger signal dumps #883

Release 0.12.0

New features and enhancements:

  • New, interactive contextual details panel #752
  • Gather per-process CPU and memory metrics #767
  • k8s: Use service account token by default and improve error logging #808
  • k8s: Filter out pause as a system container to declutter view #823
  • k8s: Render container names from label "io.kubernetes.container.name" #810
  • Probes now use TLS against scope.weave.works by default #785
  • Allow dismissing a disconnected terminal w/ <esc> #819

Bug fixes:

  • General k8s fixups #834
  • Use argv[0] for process name, differentiate scope app and probe. #796
  • Don't panic if you don't understand the message on the control WS. #793
  • Highlight a single unconnected node on hover. #790
  • Fixes to Terminal resizing and key support #766 #780 #817
  • Correctly collapse nodes in the Container Images view when they use non-standard port. #824
  • Stop scope crashing chrome when we get "long" edges. #837
  • Fix node controls so they behave independently across nodes #797

Build improvements and cleanup:

  • Update to latest tools.git #816
  • Update to latest go-dockerclient #788
  • Speed up builds #775 #789
  • Speed up tests #799 #807
  • Split and move xfer package. #794
  • Add more tests to procspy #751 #781
  • Build example app in container. #831
  • Various improvements to build & test #829

Release 0.11.1

Bug fix:

  • Scrape /proc/PID/net/tcp6 such that we see both ends of local connections change

Release 0.11.0

New features:

  • Add a terminal to the UI with the ability to attach to, or exec a shell in, a Docker container. #650 #735 #726
  • Added scope version command #750
  • Various CPU usage reductions for probe #742 #741 #737
  • Show hostname of app you are connected to in the bottom right of the UI #707
  • Add host memory and CPU usage metrics to the details panel #711
  • Add json support to app POST /api/report #722
  • Update the docker version we embed into the scope image to 1.6.2 in sync with weave 1.3 changes. #702
  • Show a spinner while node details are loading #691
  • Deterministic coloring of nodes based on rank and label #694

Bug fixes:

  • Mitigate one-line-of-nodes layouts (when graph has few connections), layout in rectangle instead #679
  • When filtering unconnected nodes in the processes view, also filter nodes that are only connected to themselves. #706
  • Correctly hide container based on docker labels on the container image. #705
  • Show details for stopped container in the default view, by not applying filters to the node details endpoints. #704 #701
  • Fix render issues in Safari #686
  • Take default topology option if missing in URL #678
  • Don't treat missing node as UI error #677
  • Unset previous details when deselecting a node #675
  • Add x to close details panel again #673

Documentation:

  • Add basic security warning. #703
  • Add basic kubernetes how-to to the readme #669
  • Document debug options for developers #723
  • Add 'getting help' section and update screenshot #709

Build improvements and cleanup:

  • Don't go get weave, git clone it so weave build errors don't affect Scope. #743
  • Reduce image size and build time by merging scope probe and app binaries. #732
  • Cleaning up some dead code around edges and edgemetadata #730
  • Make make build the UI #728
  • Omit controls field from json if emtpy. #725
  • JS to ES2015 #712
  • Upgraded react to 0.14.3 #687
  • Cleaned up node-details-table #676
  • Fix react key warning #672

Release 0.10.0

Notes:

  • Due to the Scope UI now being able to start/stop/restart Docker containers, it is not wise to have it accessible to untrusted parties.

New features:

  • Add lifecycle controls (start/stop/restart) for Docker containers #598 #642
  • Add sparklines to the UI for some metrics #622
  • Show a message when the selected topology is empty #505

Bug fixes:

  • Change node layout incrementally to reduce re-layouts #593
  • Improve responsiveness of UI updates to container state changes #628 #640
  • Handle DNS Resolution to a set of names #639
  • Correctly show node counts for sub-topologies #621
  • Allow scope to start after being upgraded #617
  • Prevent a stranded pseudo-nodes from appearing in the container view #627 #674
  • Parallelise and improve the testing infrastructure #614 #618 #644

Release 0.9.0

New features:

  • Add basic Kubernetes views for pods and services #441
  • Support for Weave 1.2 #574
  • Add containers-by-hostname view #545
  • Build using Go 1.5, with vendored dependencies #584
  • Make scope launch work from remote hosts, with an appropriately defined DOCKER_HOST #524
  • Increase DNS poll frequency such that Scope clusters more quickly #524
  • Add scope command for printing the Docker commands used to run Scope #553
  • Include some basic documentation on how to run Scope #572
  • Warn if the user tries to run Scope on Docker versions <1.5.0 #557
  • Add support for loading the Scope UI from https endpoints #572
  • Add support for probe sending reports to https endpoints #575

Bug fixes:

  • Correctly track short-lived connections from the internet #493
  • Fix a corner case where short-lived connections between containers are incorrectly attributed #577
  • Ensure service credentials are sent when doing initial probe<->app handshake #564
  • Sort reverse-DNS-resolved names to mitigate some UI fluttering #562
  • Don't leak goroutines in the probe #531
  • Rerun background conntrack processes if they fail #581
  • Build and test using Go 1.5 and vendor all dependencies #584
  • Fix "close on nil channel" error on shutdown #599

Release 0.8.0

New features:

  • Show message in the UI when topologies exceed size limits. #474
  • Provide container image information in detail pane for containers. #398
  • When filtering out system containers, also filter out pseudo nodes, if they were only connected to system containers. #483
  • Show number of filtered nodes in status pane. #509

Bug fixes:

  • Prevent detail pane from hiding nodes on click-to-focus. #495
  • Stop radial view from bouncing in some circumstances. #496
  • Make NAT tracking component more resilient to failure. #506
  • Prevent duplicate reports from reaching the same app. #463
  • Improve consistency of edge directionality in some use-cases. #373
  • Ensure probe, app, and container shut down cleanly. #424 #478

Release 0.7.0

New features:

  • Show short-lived connections in the containers view. #356 #447
  • Details pane:
    1. Add more information:
    • Docker labels. #400
    • Weave IPs/hostnames/MACs and Docker IPs. #394 #396
    • Host/container context when ambiguous. #387
    1. Present it in a more intuitive way:
    • Show hostnames instead of IPs when possible. #404 #451
    • Merge all the connection-related information into a single table. #322
    • Include relevant information in the table titles. #387
    • Stop including empty fields. #370
  • Allow filtering out system containers (e.g. Weave and Scope containers) and unconnected containers. System containers are filtered out by default. #420 #337 #454 #457
  • Improve rendering by making edges' directions flow from client to server. #355
  • Highlight selected node #473
  • Animate Edges during UI transtions #445
  • New status bar on the bottom left of the UI #487
  • Show more information for pseudo nodes where possible - such as processes for uncontained, and connected to/from the internet. #249 #401 #426
  • Truncate node names and text in the details pane. #429 #430
  • Amazon ECS: Stop displaying mangled container names, display the original Container Definition name instead. #456
  • Annotate processes in containers with the container name, in the Applications view. #331
  • Improve graph transitions between updates. #379
  • Reduce CPU usage of Scope probes #470 #484
  • Make report propagation more reliable #459
  • Support Weave 1.1 status interface #389

Bug fixes:

  • Trying to reconnect.. in UI even though its connected. #392
  • The Applications view goes blank after a few seconds. #442
  • Frequently getting disconnected lines in UI #460
  • Panic due to closing request body #480

Release 0.6.0

New features:

  • Probes now push data to the app, instead of the app pulling it. #342
  • Allow probe and app to be started independently, via --no-app and --no-probe flags. #345
  • Close details pane when changing topology view. #297
  • Add support for --probe.foo=bar style flags, in addition to --probe.foo bar, which is already supported. #347
  • Added X-Scope-Probe-ID header to identify probes when sending information to the app. #351

Bug fixes:

  • Update scope script to work with master version of weave, where DNS has been embedded in the router. #321
  • Fixed regression where process names weren't appearing for Darwin probes. #320
  • Fixed rendering bug resulting in orphaned nodes. #339
  • App now only logs to stderr, to match the probe. #343
  • Use relative paths for all URLs in the UI. #344
  • Removed temporary containers created by the scope script. #348

Experimental features:

  • Added support for pcap based packet sniffing, to provide bandwidth usage information. It can be enabled via the --capture flag. When enabled the probe will monitor packets for a portion of the time, and estimate bandwidth usage. Network throughput will be affected if capture is enabled. #317

Release 0.5.0

New features:

  • Aggregate all connection information into a single table in the details dialog. #298
  • Renamed binaries to scope-app and scope-probe #293
  • Group containers topology by name only, and not version #291
  • Make intra-scope communication traverse the weave network if present. #71

Bug fixes:

  • Reduced memory usage #266

Release 0.4.0

New features:

  • Include kernel version and uptime in host details. #274
  • Include command line and number of threads in process details. #272
  • Include Docker port mapping, entrypoint, memory usage and creation date in container details. #262
  • Order tables in details panel from least granular to most granular. #261
  • Show all container images (even ones without active connections) in the containers-by-image view. #230
  • Produce process and container views by merging endpoint topology with their respective topologies, such that the origins in the details panel always aggregate correctly. #228
  • In containers view, show "Uncontained" nodes for each host if they have active connections. #127
  • Show connection status in the UI. #162

Bug fixes:

  • Reduce CPU usage by caching walks of /proc. #284
  • Trim whitespace of process names such that the details panel functions correctly in the process-by-name view. #281
  • Correctly scope addresses on Docker bridge such that processes on different hosts are not incorrectly shown as communicating. #264
  • Correctly show connections between nodes which traverse a Docker port mapping. #245
  • Make scope script fail if docker run fails. #214
  • Prevent left over nodes in the UI when the connection is dropped or Scope is restarted. #162

Release 0.3.0

  • Show containers, even when they aren't communicating.
  • Expand topology selectors more descriptive, and remove the grouping button.
  • Fix overflow rendering bugs in the detail pane.
  • Render pseudonodes with less saturation.

Release 0.2.0

  • Initial release.