My application is a Flask web application. When I'm discovering data in Kibana, I found some documents where the context.request.url.full seems inconsistent with the transaction.name. Is this normal?
this definitely doesn't look normal, and I don't really have an idea what could cause this. But it does look like there might be some issues with context tracking. Do you per chance use threaded workers (e.g. gunicorn with --threads N)?
Hi @beniwohli ,
I can confirm this is a gevent-related issue. After removing gevent monkey-patch and removing gevent = 100 in uwsgi.ini, this weird situation disappeared and spans are available again (my APM didn't have any spans since some time and I was not aware that this is related to applying gevent monkey-patch).
I'll read the python APM agent source code and try to find the root cause. It would be nice if you can give me some hints related to the issue. Is there any other known compatibility issues in the past between APM agent and gevent?
to be honest, we don't have a huge amount of experience with the agent under gevent/eventlet/etc. While we have some feedback from users that are generally happy with it, we don't officially support it yet and don't have proper test coverage for it.
One issue that I saw creeping up a couple of times was when gevent monkeypatching happened after initialization of the agent. In that case, we get an un-monkeypatched version of the threading module, which can lead to confusing results.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.