2

我正在尝试让 Appstats 在我的 GAE Python 应用程序上工作。我将 webapp2 与 python 2.7 一起使用。

我已按照https://developers.google.com/appengine/docs/python/tools/appstats#Setup的说明进行操作,其中包括创建 appengine_config.py 文件:

def webapp_add_wsgi_middleware(app):
    from google.appengine.ext.appstats import recording
    app = recording.appstats_wsgi_middleware(app)
    return app

并将以下几行添加到我的 app.yaml 中:

builtins:
- appstats: on

我希望在其上使用 Appstats 的 python 应用程序如下所示:

import webapp2
from google.appengine.api import urlfetch
from google.appengine.ext import db
import appengine_config

class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('Hello word!')

app = webapp2.WSGIApplication([
    webapp2.Route(r'/method1/', handler=Method1, name='method1'),
    webapp2.Route(r'/method2/', handler=Method2, name='method2'),
    webapp2.Route(r'/', handler=MainHandler, name='home')
], debug=True)

import appengine_config(我在阅读 Appstats 的评论后尝试了仅适用于一个 WSGIApplication但这也不起作用)

我面临的问题是我可以看到 appstats 控制台,/_ah/stats但即使在向应用程序发出许多请求后它也没有记录任何内容。

我想知道这是否与我使用扩展 URL 路由的事实有关?我真的很想使用 webapps2 扩展路由,所以我希望 Appstats 没有问题。如果有人对我做错了什么有任何见解,那真的会有所帮助!

提前感谢负载!

4

2 回答 2

2

也许这会有所帮助:

1)我只在我的 app.yaml 中配置:

builtins:
- appstats: on

2)和 appengine_config.py :

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

def webapp_add_wsgi_middleware(app):                    
    from google.appengine.ext.appstats import recording
    app = recording.appstats_wsgi_middleware(app)
    return app

3) 我不必更改我的处理程序或路由。

于 2012-12-10T20:05:37.893 回答
0

经过大量调查,事实证明我的问题的答案是一个粗心的错误。我以某种方式在appengine_config.py子文件夹而不是根文件夹中创建了该文件,但我没有注意到它,因为我一直在使用 IDE。

因此,如果有人遇到此问题,请确保:

  1. appengine_config.py在根文件夹中
  2. appengine_config.py包含上面提到的代码
  3. app.yaml包含appstats: onas a builtins:(如果可以访问/_ah/stats,这部分配置正确)

它应该工作。:)

于 2012-12-12T03:39:54.570 回答