Py学习  »  Redis

如何开始跟踪newrelic for python应用程序中的redis操作?

Jay Modi • 3 年前 • 1689 次点击  

当我们启动flask应用程序时,我们初始化newrelic代理,如下所示。

import newrelic.agent
newrelic.agent.initialize('newrelic.ini')

它开始跟踪flask应用程序中发生的不同事务。这包括第三方外部调用、MySQL/PostgreSQL/ElasticSearch操作。

虽然它并没有追踪redis使用 rejson 包裹我在某个地方读到newrelic的python代理跟踪 py-redis 操作。

使用python代理跟踪newrelic中的redis操作是否有任何特定要求/方法?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128204
 
1689 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Peter
Reply   •   1 楼
Peter    3 年前

看起来像 rejson 随着功能合并到 redis 图书馆你试过把redis的操作从 雷杰森 雷迪斯 ? 我在文章中使用了入门示例 https://pypi.org/project/redis/

我创建了一个Flask应用程序,展示了redis的操作:首先,我在Ubuntu上设置了redis。

sudo apt-get install redis
redis-server
redis-cli ping

然后我运行我的烧瓶应用程序

import newrelic.agent
newrelic.agent.initialize('newrelic.ini')

import redis

# Flask Web Application
flaskapp = Flask(__name__, static_url_path="/")

# Navigation
@flaskapp.route("/")
def index():
    r = redis.Redis(host='localhost', port=6379, db=0)
    r.set('foo', 'bar')
    return r.get('foo')

# Run Flask Web Application
if __name__ == "__main__":
    flaskapp.run()

http://127.0.0.1:5000/ 只是表演 bar 正如所料。

然后,在New Relic APM中,我可以看到我的 Redis set Redis get 事务、数据库和分布式跟踪下的操作。此外,Redis也出现在服务地图中。 Redis Service Map

Redis Transaction

Redis Database

Redis Distributed Tracing

因此,为了回答最初的问题,New Relic python代理会跟踪 redis-py 图书馆除了应用程序名和许可证密钥之外,没有使用任何特定的内容来配置python代理。