用Python实现StatsD/Graphite

用Python实现StatsD/Graphite,python,statsd,Python,Statsd,所以我让Etsy和Graphite在OSX10.9.3上工作 我现在正试图使用Python实现它们,我不想使用,因为我想在使用库之前了解如何单独使用该技术(如果我以后需要使用Ruby/PHP,那么我就不会理解基本机制) 也就是说,我正在尝试使用Python将应用程序数据发送到StatsD,然后以Graphite显示 在我的应用程序中,我使用的是Steve Ivy的完全相同的副本 在我的代码中,我这样调用增量函数: from statsd import StatsdClient client =

所以我让Etsy和Graphite在OSX10.9.3上工作

我现在正试图使用Python实现它们,我不想使用,因为我想在使用库之前了解如何单独使用该技术(如果我以后需要使用Ruby/PHP,那么我就不会理解基本机制)

也就是说,我正在尝试使用Python将应用程序数据发送到StatsD,然后以Graphite显示

在我的应用程序中,我使用的是Steve Ivy的完全相同的副本

在我的代码中,我这样调用增量函数:

from statsd import StatsdClient
client = StatsdClient()
client.increment('somename.someval')
以下是引发的错误:

File "/Users/bengrunfeld/Desktop/Work/code/wf-ghconsole/console/statsd.py", line 163, in send
udp_sock.sendto(":".join(item).encode('utf-8'), addr)
....
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/remote_api/remote_api_stub.py", line 234, in _MakeRealSyncCall
raise pickle.loads(response_pb.exception())
RuntimeError: error('illegal IP address string passed to inet_pton',)
以下是udp_sock.sendto发送的内容的值:
('somename.someval:1 | c',('localhost',8125))


链接到我的代码:

您的代码看起来不错,但首先要做的是尝试在app engine之外运行代码。如果他的工作正常,那么请确认app engine是否会执行UDP—如果我没记错的话,它不会—上次我用app engine实现此功能时,我必须创建一个http代理。

我认为您关于GAE和发送UDP的看法是正确的。我明天去看看。