question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

First pass at Web UI

See original GitHub issue

Users can better diagnose issues and performance if we expose the cluster state to the user. One important component of this is a web UI.

This UI would help users to answer questions like the following:

  • At a glance, what is the state of my network? How many workers do I have and what is their state?
  • For each of these workers, tell me the following information:
  • What are they working on?
  • How much memory do they have? how much is free? What kinds of data are taking up space?
  • How many cores do they have? What are they working on?

This might all fit on the same page or there might be several pages for different views.

Information Approaches

The machine hosting the scheduler will likely also host the http server for the web UI. This HTTP server can either be a separate process or it can be a Tornado application in the same process running on the same event loop.

If we separate the two servers into separate processes, then the Web UI should probably query the scheduler over the JSON interface already hosted by the scheduler. This separation is nice because the scheduler is resource constrained, so we’re a bit picky about any serious application taking up CPU resources.

If we join the two servers into one process running on the same event loop then the web UI can directly query the Python state of the scheduler. This reduces the need to make JSON routes on the scheduler side but does force whoever makes the web UI to understand the scheduler a bit more. This also allows for immediate push notification of certain events.

Personally I’m happy to support either. The separate processes depending on JSON approach seems more appropriate to start with but, if we get very serious about this we may want to switch. I largely like the JSON approach because it reduces the number of things anyone needs to know and keeps everyone in their comfort zone.

Visualization Approaches

Currently we have nothing, or, in some cases, JSON. Really anything would be better than this. This might include simple static web pages that we refresh or it might include full Bokeh applications.

I’m ignorant here so I’m looking for other people who can take on these decisions.

Getting started

There are a few simple JSON routes listed at the bottom of these pages:

When you start up a scheduler locally it lists from where these routes are served:

mrocklin@workstation:~$ dscheduler 
distributed.scheduler - INFO - Start Scheduler at:        192.168.1.141:8786
distributed.scheduler - INFO -            http at:        192.168.1.141:37084  # <----- look here
mrocklin@workstation:~$ curl 192.168.1.141:37084/info.json
{"ncores": {}, "status": "running"}

For me, ideally, web development experiments starts in separate repositories that we eventually decide to merge in.

Issue Analytics

  • State:closed
  • Created 8 years ago
  • Comments:6 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
mrocklincommented, Apr 13, 2016

First pass completed. Closing.

0reactions
mrocklincommented, Mar 3, 2016

I started playing with this over here: #161

I suspect that it will take several iterations before something presentable exists though.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Firstpass width & height? · Discussion #2709 - GitHub
As I understand, highres. fix works as follows: Generate smaller image with Firstpass width/height. (0 for autodetect); Crop and resize to Width/Height.
Read more >
Access Server Admin Web UI First Login - OpenVPN
The following information shows you how to access the Admin Web UI and add new users ... the Admin Web UI displays the...
Read more >
Stable Diffusion Web UI - a Hugging Face Space by camenduru
Width. Height ; Firstpass width. Firstpass height. Denoising strength ; Batch count. Batch size ; Resize seed from width. Resize seed from height....
Read more >
Wallet Developer Guide: Building Your First Pass
Building Your First Pass. In this tutorial, you download and edit a sample pass, build it, and view it in the iOS Simulator...
Read more >
Looping through Web Page Logins - Works on the first pass ...
Hi, I have a flow that takes a list of usernames and passwords from excel and for each user logs in to a...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found