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

The new dashboard do not display the command statistics detail #827

Closed
killme2008 opened this issue Jul 2, 2015 · 18 comments
Closed

The new dashboard do not display the command statistics detail #827

killme2008 opened this issue Jul 2, 2015 · 18 comments

Comments

@killme2008
Copy link
Contributor

As said in wiki https://github.com/Netflix/Hystrix/wiki/Dashboard, we can see many statistics detail informations for every command, such as request rate, request latency etc.
But now we are using the latest hystrix dashboard ,there are no such detail informations except the graph for every command as below:

snip20150702_1

Why it happens? How can we see the command statistics detail? Thanks a lot.

@killme2008
Copy link
Contributor Author

Any update?

@killme2008
Copy link
Contributor Author

hi, @mattrjacobs
Can you help me? Thanks.

@mattrjacobs
Copy link
Contributor

I'm on vacation at the moment. @benjchristensen / @KoltonAndrus - can one
of you take a look?

Sent from my iPhone

On Jul 7, 2015, at 5:39 AM, dennis zhuang notifications@github.com wrote:

hi, @mattrjacobs https://github.com/mattrjacobs
Can you help me? Thanks.


Reply to this email directly or view it on GitHub
#827 (comment).

@benjchristensen
Copy link
Contributor

Since it's been working for years, it could be some recent change, something about your server, something about your browser, or something else completely.

I do not have time to look into this right now as I'm heads down on other higher priority items. I suggest trying older versions to see if it is legitimately the newer versions that are broken. Also, all the code is of course available on Github, so if you can debug your issue and find it's a problem in the code, please provide the details or submit a pull request with a fix.

If you're unable to debug it or find an older version that works, we'll keep the issue open until someone has time.

@killme2008
Copy link
Contributor Author

All right.
What's dashboard version are you using in production? I will try it.
Thanks for your reply.

2015-07-09 0:06 GMT+08:00 Ben Christensen notifications@github.com:

Since it's been working for years, it could be some recent change,
something about your server, something about your browser, or something
else completely.

I do not have time to look into this right now as I'm heads down on other
higher priority items. I suggest trying older versions to see if it is
legitimately the newer versions that are broken. Also, all the code is of
course available on Github, so if you can debug your issue and find it's a
problem in the code, please provide the details or submit a pull request
with a fix.

If you're unable to debug it or find an older version that works, we'll
keep the issue open until someone has time.


Reply to this email directly or view it on GitHub
#827 (comment).

庄晓丹
Email: killme2008@gmail.com xzhuang@avos.com
Site: http://fnil.net
Twitter: @killme2008

@jeremybull
Copy link
Contributor

Fwiw we're seeing the same thing. Dashboard up to and including v1.4.6 works fine with all our streams. Dashboard v1.4.7 (and newer) displays as shown above for all our streams. So some change in v1.4.7 must have broken it. Using the latest Hystrix with Dashboard v1.4.6 works fine for us, so that's what we're doing.

@benjchristensen
Copy link
Contributor

That is very helpful information. If one of you don't figure out what's wrong before we do, one of us will get to this.

@killme2008
Copy link
Contributor Author

I don't rollback the dashboard version.
Finally, after i cleared the browser cache, the dashboard began to work for
me too.

I am sorry, i forgot to save the log in browser console, there were some
errors in the console when the dashboard can't work.

The error happens in tmpl.js 40 line:

          // Provide some basic currying to the user
          return data ? fn(data) : fn;
      }catch(e) {
          console.log(e);
      }

Hope above information is helpful for you to get to this , or someone see
the same thing.

2015-07-09 22:24 GMT+08:00 Ben Christensen notifications@github.com:

That is very helpful information. If one of you don't figure out what's
wrong before we do, one of us will get to this.


Reply to this email directly or view it on GitHub
#827 (comment).

庄晓丹
Email: killme2008@gmail.com xzhuang@avos.com
Site: http://fnil.net
Twitter: @killme2008

@killme2008
Copy link
Contributor Author

I found the errors in browser console:

ReferenceError: rollingCountBadRequests is not defined
    at eval (eval at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:33:11), <anonymous>:1:1529)
    at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:38:25)
    at displayCircuit (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:235:70)
    at EventSource.window.HystrixCommandMonitor.self.eventSourceMessageListener (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:78:7)
tmpl.js:40 ReferenceError: rollingCountBadRequests is not defined
    at eval (eval at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:33:11), <anonymous>:1:1529)
    at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:38:25)
    at displayCircuit (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:235:70)
    at EventSource.window.HystrixCommandMonitor.self.eventSourceMessageListener (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:78:7)
tmpl.js:40 ReferenceError: rollingCountBadRequests is not defined
    at eval (eval at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:33:11), <anonymous>:1:1529)
    at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:38:25)
    at displayCircuit (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:235:70)
    at EventSource.window.HystrixCommandMonitor.self.eventSourceMessageListener (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:78:7)
tmpl.js:40 ReferenceError: rollingCountBadRequests is not defined
    at eval (eval at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:33:11), <anonymous>:1:1529)
    at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:38:25)
    at displayCircuit (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:235:70)
    at EventSource.window.HystrixCommandMonitor.self.eventSourceMessageListener (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:78:7)
tmpl.js:40 ReferenceError: rollingCountBadRequests is not defined
    at eval (eval at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:33:11), <anonymous>:1:1529)
    at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:38:25)
    at displayCircuit (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:235:70)
    at EventSource.window.HystrixCommandMonitor.self.eventSourceMessageListener (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:78:7)
tmpl.js:40 ReferenceError: rollingCountBadRequests is not defined
    at eval (eval at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:33:11), <anonymous>:1:1529)
    at tmpl (http://hystrix.xxx.com/hystrix-dashboard/js/tmpl.js:38:25)
    at displayCircuit (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:235:70)
    at EventSource.window.HystrixCommandMonitor.self.eventSourceMessageListener (http://hystrix.xxx.com/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:78:7)

@jeremybull
Copy link
Contributor

(Clearing the browser cache didn't make any difference for me.)

As noted above, the error appearing repeatedly in the console is:

ReferenceError: rollingCountBadRequests is not defined
    at eval (eval at tmpl (http://localhost:7979/hystrix-dashboard/js/tmpl.js:33:11), <anonymous>:1:1529)
    at tmpl (http://localhost:7979/hystrix-dashboard/js/tmpl.js:38:25)
    at displayCircuit (http://localhost:7979/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:235:70)
    at EventSource.self.eventSourceMessageListener (http://localhost:7979/hystrix-dashboard/components/hystrixCommand/hystrixCommand.js:78:7)

The counter rollingCountBadRequests was added recently in commit 892f6a7, and is now required by the template.

Our streams pre-date this change and do not contain rollingCountBadRequests.

Seems to me it would be helpful to keep the dashboard backwards compatible with older streams.

I created a pull request with a simple fix: #830

@mattrjacobs
Copy link
Contributor

Just merged PR #830. As I try to prioritize Hystrix work, I'm curious how much effort should be spent on the goal of making the Hystrix dashboard work with any officially-released version of a metrics schema. In general, we upgrade metrics-streams/core Hystrix first before upgrading surrounding visualizations (like the dashboard) at Netflix.

@killme2008 / @jeremybull What specifically caused you to upgrade the dashboard but not the metrics streams? Have you had problems with upgrading hystrix-core? Conversely, is there an important feature in the dashboard that you wanted that you didn't want to incur the cost of a hystrix-core upgrade for?

@killme2008
Copy link
Contributor Author

@mattrjacobs
It's our first time to use hystrix in our product, so it is the first time to use dashboard in our product too, and then we use the latest version. 😄

@jeremybull
Copy link
Contributor

@mattrjacobs: We are gradually adding circuit breakers to all our applications. So our use case is:

  • we release app A with dependency on hystrix event stream version 1.4.6
  • some time later, we release app B with dependency on hystrix event stream version 1.4.7
  • some time later, a new developer (me) installs dashboard 1.4.11 to monitor both these apps

My primary difficulty (perhaps due to my ignorance) was determining stream versions without the app source code. I used trial and error, pulling older and older tags of the dashboard from git until I was able to view all streams.

@mattrjacobs
Copy link
Contributor

OK, thanks for the context. This hadn't bitten us yet, so I wanted to make sure I understand your use cases. I think this should be fairly straightforward to implement - I'll ping this thread when I've got a solution

@mattrjacobs
Copy link
Contributor

I took a look at the code, and I didn't see a great way to go beyond the PR submitted by @jeremybull. There was a data validation step that I neglected to add the bad requests metrics to - that would have made this issue somewhat easier to spot.

@killme2008
Copy link
Contributor Author

@mattrjacobs
Beyond the topic, can we get the request caching hit ratio in dashboard?

@mattrjacobs
Copy link
Contributor

@killme2008 Added a new issue to track: #840

@mattrjacobs
Copy link
Contributor

Fix by @jeremybull released in 1.4.13: https://github.com/Netflix/Hystrix/releases/tag/v1.4.13.

If this works as expected, please close this issue.

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

No branches or pull requests

4 participants