Files
weave-scope/client
Filip Barl b6dfe25499 Time travel control (#2524)
* Hacky working prototype.

* Operate with time.Duration offset instead of fixed timestamp.

* Polished the backend code.

* Made a nicer UI component.

* Small refactorings of the websockets code.

* Fixed the backend tests.

* Better websocketing and smoother transitions

* Small styling refactoring.

* Detecting empty topologies.

* Improved error messaging.

* Addressed some of David's comments.

* Moved nodesDeltaBuffer to a global state to fix the paused status rendering bug.

* Small styling changes

* Changed the websocket global state variables a bit.

* Polishing & refactoring.

* More polishing.

* Final refactoring.

* Addressed a couple of bugs.

* Hidden the timeline control behind Cloud context and a feature flag.

* Addressed most of @davkal's comments.

* Added mixpanel tracking.
2017-06-12 11:22:17 +02:00
..
2017-06-12 11:22:17 +02:00
2017-01-18 11:51:41 +01:00
2017-03-08 10:54:56 -08:00
2015-05-20 10:45:35 +00:00
2015-05-19 10:02:02 +00:00
2017-01-24 13:36:39 -08:00
2017-05-15 11:49:12 +02:00

Scope UI

Getting Started (using local node)

  • You need at least Node.js 6.9.0 and a running weavescope container
  • Setup: npm install
  • Develop: BACKEND_HOST=<dockerhost-ip> npm start and then open http://localhost:4042/

This will start a webpack-dev-server that serves the UI and proxies API requests to the container.

Getting Started (using node in a container)

  • You need a running weavescope container
  • Develop: make WEBPACK_SERVER_HOST=<dockerhost-ip> client-start and then open http://<dockerhost-ip>:4042/

This will start a webpack-dev-server that serves the UI from the UI build container and proxies API requests to the weavescope container.

Test Production Bundles Locally

  • Build: npm run build, output will be in build/
  • Serve files from build/: BACKEND_HOST=<dockerhost-ip> npm run start-production and then open http://localhost:4042/

Coding

This directory has a .eslintrc, make sure your editor supports linter hints. To run a linter, you also run npm run lint.

Logging

To enable logging in the console, activate it via localStorage in the dev tools console:

localStorage["debug"] = "scope:*"

The Scope UI uses debug for logging, e.g.,:

const debug = require('debug')('scope:app-store');
debug('Store log message');

Gotchas

Got a blank screen when loading http://localhost:4042?

Make sure you are accessing the right machine: If you're running npm start on a virtual machine with IP 10.0.0.8, you need to point your browser to http://10.0.0.8:4042. Also, you may need to manually configure the virtual machine to expose ports 4041 (webpack-dev-server) and 4042 (express proxy).