-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nsqadmin: refactoring #323
Conversation
ping #322 |
really like the client side UI approach. will be exciting to see what people create on it. |
@mreiferson the "messages" count includes messages in-flight right? would you be interested in changing that to only messages that have been FIN'd? or maybe adding another |
@visionmedia there should be a separate counter for just |
edit: |
edit again: I'm crazy, there isn't... |
I suppose it is derivable as |
@visionmedia you starting to work on this? |
nope just debugging some prod stuff ATM |
Great idea, what about having the admin endpoints on nsqd itself? .. and that way the client-side admin could be just some static html/js files, in the index.html just specify a jsonp endpoint to an nsqlookupd and done. |
@pkieltyka that's a little more difficult, in short, because that means all of the daemons are exposed to the internet. Technically I think it still makes sense for |
That makes sense |
03d926a
to
7255221
Compare
e500795
to
6e9af9f
Compare
Is there a timeline for getting this reviewed & landed in master? I'm looking into submitting a pull request for #347, and obviously there are a number of nsqadmin changes involved there. Is there something a new contributor could possibly help with here? (I noticed a Travis build failure on these commits, but haven't dug into it yet - don't want to step on any toes or duplicate efforts) |
Hi @allgeek - great to hear that you're interested in contributing, thanks! I just need to finish up here, so this is on me. I've been distracted the past few weeks 😁 If you want to dig into this PR via code review, by all means that would be helpful - this way we're on the same page with the direction I'm taking things. |
I just remembered - if you are interested in helping out with this PR, I could use some help with the client side changes referenced in the OP. |
I'll try to catch you in the IRC channel at some point, although I've got meetings most of the day. Is there a particular JS framework or approach you had wanted to take with the new admin client page? I see the current site just uses jQuery and Bootstrap... |
6e9af9f
to
16ca70b
Compare
I didn't translate the JS 1:1 here, it's just broken or? |
For the counter page, i'm getting Zero's back from the /api/counter endpoint, but also the graphite URLS have unexpected |
11951cf
to
f9cdd4f
Compare
I think i fixed all the previously mentioned bugs (please take a look before i squash those); glyphicon fonts are not being embedded properly and i think that's the only outstanding thing left. |
Did you figure this out? |
Yes, it was broken handling of |
cool 🔨 |
@mreiferson font issues addressed; take a look at last two commits? |
@jehiah don't you think the console.log might be useful when people inevitably encounter bugs? |
also, do we need another HTTP route for the same handler? Is it because bootstrap expects them at that URL? |
yeah, bootstrap requests them as I have "no console.log in production" burned into my brain since it's not present in all browsers and thus causes JS errors (Thanks IE 9!) |
very well, squash time? |
3f9025b
to
d30fdc6
Compare
😱 |
Has anyone started work on refactoring the UI for #443? We get i/o timeout errors when nsq is under heavy load. I'd like to get rid of this timeout, make it configurable or ? I have experience with doing ReactJS interfaces and this is kind of a perfect use-case for it. If nobody is already working this, I'll give it a go. |
we're just evaluating if NSQ can work/scale for us, so I'll gladly give an alpha a shot :) |
@mreiferson any idea when a new release will be cut? |
@klucar I've been lazy, we should get one out (I've been running it in production without issue for a few weeks) |
nsqadmin
is a Go web app, which has some tradeoffs. It's great because it's dead simple to deploy. It's terrible because it's a PITA writing Go based web apps.I think an ideal middle ground is:
nsqadmin
becomes a JSON API with convenience endpoints to query the cluster and aggregate datansqadmin
UI is a client-side appSimultaneously, it could use a facelift, but this refactoring alone makes things much easier to extend and for others to contribute.
cc @visionmedia