我正在尝试让Appstats使用我的GAE Python应用程序。我正在使用带有python 2.7的webapp2。
我已按照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 app看起来像这样:
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)
(我在阅读Appstats are only working for one WSGIApplication的评论后尝试了import appengine_config
,但这两项都不起作用。
我遇到的问题是我可以在/_ah/stats
看到appstats控制台,但即使在向应用程序发出许多请求之后,它也没有录制任何内容。
我想知道它是否与我正在使用扩展URL路由这一事实有关?我真的很想使用webapps2扩展路由,所以我希望Appstats没有问题。如果有人对我做错了什么有任何见解,那将真的有帮助!
提前感谢加载!
答案 0 :(得分: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)我没有必要改变我的处理程序或路由。
答案 1 :(得分:0)
经过多次调查后发现,我的问题的答案是一个粗心的错误。我以某种方式在子文件夹而不是根文件夹中创建了appengine_config.py
文件,我没有注意到它,因为我一直在使用IDE。
所以如果有人遇到这个问题,请确保:
appengine_config.py
位于根文件夹appengine_config.py
包含上述代码app.yaml
包含appstats: on
builtins:
(如果您可以访问/_ah/stats
,则此部分配置正确)它应该有效。 :)