I have been trying to instrument python process with autodynatrace and not having success. Can you please help and guide on how to get it to work.
I have installed autodynatrace python package and are able to see logs in dynatrace. But it is not getting instrumented to show python process as service or linked log lines. In my observation in dynatrace technology is coming as only docker and python; Oneagent is not getting listed.
I have following type of processes in our app
Flask based API that uses gevent.pywsgi.WSGIServer
if condition:
call_xyz()
else:
gevent.spawn(call_xyz)
Some process uses above style of code
gevent.spawn is used considerably
Simple python processes that listen to redis messages and trigger calls directly or via gevent.spawn
AUTOWRAPT_BOOTSTRAP=autodynatrace
AUTODYNATRACE_FORKABLE=True ## Tried changing it to True / False, but with limited success.
I understand that we can either instrument parent or child process. I guess gevent.spawn will have impact here?
I ran the troubleshooting guide from sdk page - https://github.com/Dynatrace/OneAgent-SDK-for-Python#troubleshooting - it seems to work and output is follows. However, when I run python process, I do not see any autodynatrace log in flask process output even after tweaking AUTODYNATRACE_LOG_LEVEL .
2023-11-24 12:40:52.130 UTC [7fb907870780] DEBUG [py_sdk] initialize: ref count = 0
2023-11-24 12:40:52.130 UTC [7fb907870780] INFO [py_sdk] Initializing SDK on Python=3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] with options=['loglevelsdk=finest', 'loglevel=finest'], libname=None.
2023-11-24 12:40:52.219 UTC [7fb907870780] INFO [py_sdk] Loading native SDK library "/usr/local/lib/python3.10/dist-packages/oneagent/_impl/native/libonesdk_shared.so".
2023-11-24 12:40:52.219 UTC [7fb907870780] INFO [py_sdk] Native SDK library "/usr/local/lib/python3.10/dist-packages/oneagent/_impl/native/libonesdk_shared.so" version 1.7.1 loaded.
2023-11-24 12:40:52.220 UTC [07877839] info [onesdk] Initializing Dynatrace OneAgent SDK for C/C++ ...
2023-11-24 12:40:52.220 UTC [07877839] info [onesdk] SDK stub version 1.7.1.1, build date 2022.12.15 10:27:48.
2023-11-24 12:40:52.220 UTC [07877839] fine [onesdk] Preparing arguments...
2023-11-24 12:40:52.220 UTC [07877839] config [onesdk] Options:
2023-11-24 12:40:52.220 UTC [07877839] config [onesdk] Agent active: true
2023-11-24 12:40:52.220 UTC [07877839] config [onesdk] Agent module: ''
2023-11-24 12:40:52.220 UTC [07877839] config [onesdk] SDK log level: finest
2023-11-24 12:40:52.220 UTC [07877839] config [onesdk] Additional options:
2023-11-24 12:40:52.220 UTC [07877839] config [onesdk] loglevel=finest
2023-11-24 12:40:52.220 UTC [07877839] config [onesdk] ONESDK_INTERNAL_CA627667445C40F0_INIT_FLAGS=0
2023-11-24 12:40:52.220 UTC [07877839] fine [onesdk] Loading agent module...
2023-11-24 12:40:52.234 UTC [07877839] fine [onesdk] Loaded agent module provided by process agent.
2023-11-24 12:40:52.234 UTC [07877839] fine [onesdk] Initializing agent module...
2023-11-24 12:40:52.264 UTC [07877839] info [onesdk] Loaded agent module version: 1.277.165.20231024-150054
2023-11-24 12:40:52.264 UTC [07877839] info [onesdk] Dynatrace OneAgent SDK for C/C++ agent module loaded successfully.
2023-11-24 12:40:52.264 UTC [07877839] fine [onesdk] Initializing agent...
2023-11-24 12:40:52.264 UTC [07877839] info [onesdk] Loaded extension API metrics.
2023-11-24 12:40:54.549 UTC [07877839] info [onesdk] Dynatrace OneAgent SDK for C/C++ initialized successfully.
2023-11-24 12:40:54.550 UTC [07877839] info [onesdk] Loaded extension API techtype.
2023-11-24 12:40:54.550 UTC [7fb907870780] DEBUG [py_sdk] initialize successful, adding tech types...
2023-11-24 12:40:54.550 UTC [7fb907870780] DEBUG [py_sdk] tech type reporting complete
InitResult=InitResult(status=InitResult.STATUS_INITIALIZED, error=None)
Agent state: 0
Agent found: True
Agent is compatible: True
Agent version: 1.277.165.20231024-150054/1.7.1
Hello,
I have been trying to instrument python process with
autodynatrace
and not having success. Can you please help and guide on how to get it to work.I have installed
autodynatrace
python package and are able to see logs indynatrace
. But it is not getting instrumented to show python process as service or linked log lines. In my observation indynatrace
technology is coming as onlydocker
andpython
;Oneagent
is not getting listed.I have following type of processes in our app
gevent.pywsgi.WSGIServer
I have following relevant packages installed
and have set the following environment variables
I understand that we can either instrument parent or child process. I guess
gevent.spawn
will have impact here?I ran the troubleshooting guide from sdk page - https://github.com/Dynatrace/OneAgent-SDK-for-Python#troubleshooting - it seems to work and output is follows. However, when I run python process, I do not see any
autodynatrace
log in flask process output even after tweakingAUTODYNATRACE_LOG_LEVEL
.Appreciate your time and response. Thank you.