Skip to content
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: add ops/s and deltas #322

Closed
tj opened this issue Mar 5, 2014 · 9 comments
Closed

nsqadmin: add ops/s and deltas #322

tj opened this issue Mar 5, 2014 · 9 comments

Comments

@tj
Copy link
Contributor

tj commented Mar 5, 2014

It would be awesome to see the ops/s for each metric in nsqadmin. It would be nice to maybe send deltas to statsd as well, but not a huge deal.

@jehiah
Copy link
Member

jehiah commented Mar 5, 2014

Is there a specific metric you have in mind? I think we've tried to be careful about dumping too much into the admin UI as it gets crowded quick.

@jehiah jehiah closed this as completed Mar 5, 2014
@jehiah
Copy link
Member

jehiah commented Mar 5, 2014

oops didn't mean to close

@jehiah jehiah reopened this Mar 5, 2014
@mreiferson
Copy link
Member

we send the appropriate metrics as counters to statsd, so calculating per X time interval is just a matter of deriving that data by applying the appropriate function in whatever system you have statsd persisting metrics to, like graphite for instance.

this is what nsqadmin does already when you have integration with graphite enabled.

@mreiferson
Copy link
Member

@tj
Copy link
Contributor Author

tj commented Mar 5, 2014

I was thinking ops/s in the same cell of each count would be nice, definitely a little crowded but it would certainly help. I find myself just refreshing to get an idea for the throughput before it reaches stackdriver (we're not using graphite). As far as statsd goes I'll probably end up removing it and polling nsqd's to introduce some of our own metrics anyway so that's not a huge deal

@tj
Copy link
Contributor Author

tj commented Mar 5, 2014

Something like:

screen shot 2014-03-05 at 10 28 41 am

Maybe not the most useful metric since the UI doesn't refresh. Once we have nsq fully rolled out I might work on a realtime admin.

@mreiferson
Copy link
Member

Ok, I understand what you mean now.

For some context, we chose the statsd format because it's really just a convenient, simple, wire format. It has enough traction and tools to make sense to use and it's really easy to take the data, rewrite, and send to just about any data sink.

I think all the counter data that makes sense to surface as per second values is already being pushed to statsd. This is good...

If you are thinking about spending some cycles creating better dashboards, it would be great if we could find a way to devote that energy to nsqadmin so everyone can benefit. nsqadmin "works" but could really benefit from a skilled UX/UI makeover - I would love to see more metrics but with the existing layout it's hard to "fit it in".

nsqadmin is a Go web app, which has some tradeoffs. It's great because it's dead simple to deploy. The negative is that, IMO, it's painful writing Go based web apps.

I think an ideal middle ground is:

  1. nsqadmin becomes a JSON API with convenience endpoints to query the cluster and aggregate data
  2. nsqadmin UI is a client-side app
  3. all the static assets for (2) are bundled into the binary so it's still easy to deploy (this is already the case, just stating the obvious)

I think this would make it much easier for others to contribute and extend.

Thoughts?

@mreiferson
Copy link
Member

For example, if we accomplished this refactoring, it would be easier to add in features like automagically refreshing stats on a page...

@tj
Copy link
Contributor Author

tj commented Mar 5, 2014

Yeah that sounds good to me. I'll open an issue with some design ideas if/when we start planning any of that, it might be a month or two I have a few projects to work on first!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants