Graphs with example data not displaying

Asked by Nathanael Anderson

I've had example-client.py running for the past few hours, and there is a data item in the web view for 1 5 and 15 minute views, but I am unable to bring up any graphs when I click on them. It looks like in the graph windows a broken page icon is showing up, untill I click on it, then it goes away and the graph window is just empty.

I'm using firefox 3 on linux.

This sounds similar to https://answers.launchpad.net/graphite/+question/37995, so I don't know if this is a duplicate of that issue.

I don't know if it has to do with these error messages, it looks to me like it is unable to access its error message page.

==> /usr/local/graphite/storage/log/webapp-access.log <==
192.168.129.13 - - [02/Jul/2008:13:37:17 -0500] "GET /render/?&target=carbon.agents.dtgsipcall01&target=carbon.agents.dtgsipcall01.cache&target=carbon.agents.dtgsipcall01.committedPoints&target=carbon.agents.dtgsipcall01.creates&target=carbon.agents.dtgsipcall01.updateOperations&target=system.loadavg_15min&width=417&height=183&from=-6h HTTP/1.1" 500 645

==> /usr/local/graphite/storage/log/webapp-error.log <==
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] mod_python (pid=17779, interpreter='graphite', phase='PythonHandler', handler='django.core.handlers.modpython'): Application error, referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] ServerName: 'graphite', referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] DocumentRoot: '/usr/local/graphite/', referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] URI: '/render/', referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] Location: '/', referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] Directory: None, referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] Filename: '/usr/local/graphite/render', referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] PathInfo: '/', referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] Traceback (most recent call last):, referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch\n default=default_handler, arg=req, silent=hlist.silent), referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target\n result = _execute_target(config, req, object, arg), referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target\n result = object(arg), referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/var/lib/python-support/python2.5/django/core/handlers/modpython.py", line 177, in handler\n return ModPythonHandler()(req), referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/var/lib/python-support/python2.5/django/core/handlers/modpython.py", line 150, in __call__\n response = self.get_response(request), referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/var/lib/python-support/python2.5/django/core/handlers/base.py", line 126, in get_response\n return callback(request, **param_dict), referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/var/lib/python-support/python2.5/django/views/defaults.py", line 88, in server_error\n t = loader.get_template(template_name) # You need to create a 500.html template., referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/var/lib/python-support/python2.5/django/template/loader.py", line 79, in get_template\n source, origin = find_template_source(template_name), referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] File "/var/lib/python-support/python2.5/django/template/loader.py", line 72, in find_template_source\n raise TemplateDoesNotExist, name, referer: http://dtgsipcall01/composer/?
[Wed Jul 02 13:37:17 2008] [error] [client 192.168.129.13] TemplateDoesNotExist: 500.html, referer: http://dtgsipcall01/composer/?

Question information

Language:
English Edit question
Status:
Solved
For:
Graphite Edit question
Assignee:
No assignee Edit question
Solved by:
Nathanael Anderson
Solved:
Last query:
Last reply:
Revision history for this message
chrismd (chrismd) said :
#1

It looks like the tree view is working for you so I do not think it is a duplicate of the other issue. It sounds more like the rendering request itself is encountering an error. Are you using the 0.9 release or trunk? Also you can get a more detailed description of the problem by turning on debugging then trying to directly view the broken image (right-click, view image). To turn on debugging you should create the file /usr/local/graphite/webapp/web/local_settings.py (if you're using the 0.9 release, remove the "webapp" part of the path). This file should contain the line "DEBUG = True". Once you create that, restart apache and try to directly view the graph and it will give you a detailed error report.

Revision history for this message
Nathanael Anderson (wirelessdreamer) said :
#2

I'm using 0.9, I can update to trunk if desired though. I just enabled DEBUG = True in local_settings.py. I don't see an option anywhere when I right click on the graph for view image though.

here is what I got when I did a view source of the graph

<!-- Copyright 2008 Orbitz WorldWide

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at:

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. -->
<html>
  <head>
    <title>Graphite Composer</title>
    <link rel="stylesheet" type="text/css" href="/content/js/extJS/resources/css/ext-all.css" />
    <script type="text/javascript" src="/content/js/extJS/adapter/prototype/prototype.js"></script>
    <script type="text/javascript" src="/content/js/extJS/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="/content/js/extJS/ext-all.js"></script>

    <script type="text/javascript" src="/content/js/graphComposer_min.js"></script>
    <script type="text/javascript" src="/content/js/navigationPanel_min.js"></script>
    <script type="text/javascript">
      Ext.onReady(function(){
        var base = window.location.protocol+"//"+window.location.host+"/render/?";
        var mgr = new urlManager(base,"url");
        var canvas = new canvasControl(mgr);
        var targets = new targetControl(mgr);
 var saver = new saveGraphControl(mgr);
        var dateTime = new timeControl(mgr);
 var updater = new autoUpdaterControl(mgr);
 var composerPanel = new Ext.Panel({id:"composerPanel",region:'center'})
        var gc = new graphComposer({
   urlMgr:mgr,
          height: 400,
          width:575,
          composerControls:[canvas,targets,saver,dateTime,updater],
   containingElement:"composerPanel"
        });
 var navPanel = NavigationPanel();
        var view = new Ext.Viewport({layout:'border', items:[navPanel,composerPanel]});
 gc.render();
 top.gc = gc;
      });
</script>

  </head>
  <body>
  </body>
</html>

Revision history for this message
chrismd (chrismd) said :
#3

Unfortunately that is just the page's html source, not the output of the render request. Looking at the log entries you gave before you should be able to directly view a graph by using this url: http://dtgsipcall01/render/?target=carbon.agents.dtgsipcall01.avgUpdateTime

Though you may need to change the server name in the URL. If it works you should see a yellow and grey page with lots of error information, a screen shot of this would be very helpful, otherwise copy & paste as much text as possible from it. Thanks.

Revision history for this message
chrismd (chrismd) said :
#4

Also just so you know I should have a new release out later today that fixes several issues in the 0.9 release. It may be easier for you to wait and upgrade to that release to see if the problem still exists.

Revision history for this message
Nathanael Anderson (wirelessdreamer) said :
#5

This is the message I was recieving at that link, so i'm installing the pyparsing module, which i didn't have installed.

Could not import web.render.views. Error was: No module named pyparsing

I installed the module, and have graphs now.

Revision history for this message
Yagovdik (yagovdik) said :
#6

Hello.
I have the similar situation. But I have the different error. Please help.
Here's my debug output:

Environment:

Request Method: GET
Request URL: http://graphite.well/render/
Django Version: 1.0.2 final
Python Version: 2.5.2
Installed Applications:
['web.render',
 'web.cli',
 'web.browser',
 'web.composer',
 'web.account',
 'web.whitelist',
 'django.contrib.auth',
 'django.contrib.sessions',
 'django.contrib.admin',
 'django.contrib.contenttypes']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.middleware.gzip.GZipMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')

Traceback:
File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py" in get_response
  77. request.path_info)
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py" in resolve
  181. sub_match = pattern.resolve(new_path)
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py" in resolve
  181. sub_match = pattern.resolve(new_path)
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py" in resolve
  124. return self.callback, args, kwargs
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py" in _get_callback
  136. raise ViewDoesNotExist, "Tried %s in module %s. Error was: %s" % (func_name, mod_name, str(e))

Exception Type: ViewDoesNotExist at /render/
Exception Value: Tried renderView in module web.render.views. Error was: type object 'ParserElement' has no attribute 'enablePackrat'

Thx

Revision history for this message
chrismd (chrismd) said :
#7

What version of pyparsing are you using?

Revision history for this message
Yagovdik (yagovdik) said :
#8

dev-python/pyparsing-1.2.2
dev-python/django-1.0.2
dev-lang/python-2.5.2-r7
graphite-0.9.4
extjs-2.2.1
Gentoo linux

Thank you for fast answer.

Revision history for this message
Yagovdik (yagovdik) said :
#9

Chrismd, should I create a new question for this issue?

Revision history for this message
chrismd (chrismd) said :
#10

I think you should upgrade pyparsing (all the other package versions look fine). Pyparsing version 1.2.2 is from 2005 or so I think and the error indicates a method is missing (probably because it was not included in that old version). The latest version is 1.5.1.

If that does not fix your problem then yes please create a new question.

Revision history for this message
Yagovdik (yagovdik) said :
#11

Thanks a lot, Chrismd.
I just updated my pyparser to 1.5.1 and graphite works now!!!
Yeah, Gentoo is really careful - pyparser-1.2.2 (2005) is really stable package =)))

Thank you again.
Cannot find how to solve question. Maybe because it's already solved. =)

Good luck. And sorry for my english.