From f103f03309a33600fcb0c5cf30aac1f02b2bb00d Mon Sep 17 00:00:00 2001 From: "liu.mingyi" <27064129+eeliu@users.noreply.github.com> Date: Thu, 30 Nov 2023 16:19:55 +0800 Subject: [PATCH] enhance doc - fix logging bug in pinpoint.py - add logging.debug - more test-case --- plugins/PY/pinpointPy/pinpoint.py | 27 ++++++++++++------------- testapps/PY/app.py | 4 ++-- testapps/backend/app.py | 4 ++-- testapps/compose.yaml | 3 +++ testapps/django/mysite/polls/urls.py | 1 + testapps/django/mysite/polls/views.py | 6 +++++- testapps/django/mysite/requirements.txt | 1 + testapps/readme.md | 6 +++--- 8 files changed, 30 insertions(+), 22 deletions(-) diff --git a/plugins/PY/pinpointPy/pinpoint.py b/plugins/PY/pinpointPy/pinpoint.py index 5bda20b13..c32823587 100644 --- a/plugins/PY/pinpointPy/pinpoint.py +++ b/plugins/PY/pinpointPy/pinpoint.py @@ -25,15 +25,9 @@ __app_name = 'app_name_str' -__logger__ = None - - -def get_logger() -> logging.Logger: - global __logger__ - if __logger__: - return __logger__ - - logger = logging.Logger('pinpoint') +def init_logger(): + logger = logging.getLogger('pinpoint') + logger.setLevel(logging.DEBUG) formatter = logging.Formatter( '%(asctime)s %(levelname)s %(message)s') _, filepath = mkstemp(prefix="pinpoint") @@ -45,15 +39,20 @@ def get_logger() -> logging.Logger: file_handler.setLevel(level=logging.DEBUG) logger.addHandler(file_handler) else: - ch = logging.StreamHandler(sys.stdout) + ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) ch.setFormatter(formatter) logger.addHandler(ch) - __logger__ = logger - return __logger__ -def _set_logger_level(level=logging.INFO): +init_logger() + + +def get_logger() -> logging.Logger: + return logging.getLogger('pinpoint') + + +def set_logger_level(level=logging.INFO): get_logger().setLevel(level) @@ -125,6 +124,6 @@ def set_agent(app_id_str: str, app_name_str: str, collect_agent_host: str, trac def debug_func(msg: str): get_logger().debug(msg=msg) _pinpointPy.enable_debug(debug_func) - _set_logger_level(log_level) + set_logger_level(log_level) get_logger().debug( f"appid:{app_id_str} appname:{app_name_str} collector_agent:{collect_agent_host} trace_limit:{trace_limit} log_level:{log_level}") diff --git a/testapps/PY/app.py b/testapps/PY/app.py index a1287c45a..333516819 100644 --- a/testapps/PY/app.py +++ b/testapps/PY/app.py @@ -51,13 +51,13 @@ import test_band from pinpointPy.Flask.PinPointMiddleWare import PinPointMiddleWare from pinpointPy import set_agent, monkey_patch_for_pinpoint, use_thread_local_context - +import logging use_thread_local_context() monkey_patch_for_pinpoint() app = Flask(__name__) -set_agent("cd.dev.test.py", "cd.dev.test.py", 'tcp:dev-collector:10000', -1) +set_agent("cd.dev.test.py", "cd.dev.test.py", 'tcp:dev-collector:10000', -1,logging.DEBUG) app.wsgi_app = PinPointMiddleWare(app, app.wsgi_app) diff --git a/testapps/backend/app.py b/testapps/backend/app.py index d2953a0fe..b294a1f48 100644 --- a/testapps/backend/app.py +++ b/testapps/backend/app.py @@ -51,13 +51,13 @@ import test_band from pinpointPy.Flask.PinPointMiddleWare import PinPointMiddleWare from pinpointPy import set_agent, monkey_patch_for_pinpoint, use_thread_local_context - +import logging use_thread_local_context() monkey_patch_for_pinpoint() app = Flask(__name__) -set_agent("cd.dev.test.py.backend", "cd.dev.test.py.backend", 'tcp:dev-collector:10000', -1) +set_agent("cd.dev.test.py.backend", "cd.dev.test.py.backend", 'tcp:dev-collector:10000', -1,logging.DEBUG) app.wsgi_app = PinPointMiddleWare(app, app.wsgi_app) diff --git a/testapps/compose.yaml b/testapps/compose.yaml index b7254b59e..a6be5b7ca 100644 --- a/testapps/compose.yaml +++ b/testapps/compose.yaml @@ -156,6 +156,9 @@ services: - PP_ADDRESS=0.0.0.0@10000 ports: - 10000:10000 + volumes: + - /etc/hosts:/etc/hosts + mongodb: image: 'mongo' diff --git a/testapps/django/mysite/polls/urls.py b/testapps/django/mysite/polls/urls.py index 046843745..d1b6ef7ac 100644 --- a/testapps/django/mysite/polls/urls.py +++ b/testapps/django/mysite/polls/urls.py @@ -5,4 +5,5 @@ urlpatterns = [ path("", views.index, name="index"), path('products//', views.get_products, name="index"), + path('call/', views.get_url,name="remote") ] diff --git a/testapps/django/mysite/polls/views.py b/testapps/django/mysite/polls/views.py index 67926c6cb..4daa35123 100644 --- a/testapps/django/mysite/polls/views.py +++ b/testapps/django/mysite/polls/views.py @@ -1,6 +1,6 @@ from django.http import HttpResponse from django.http.request import HttpRequest - +import requests def index(request): return HttpResponse("Hello, world. You're at the polls index.") @@ -9,3 +9,7 @@ def index(request): def get_products(request, pk): assert isinstance(request, HttpRequest) return HttpResponse(f"product: {pk}") + +def get_url(request): + h1 =requests.get("http://testapp-php/") + return HttpResponse(h1.content) \ No newline at end of file diff --git a/testapps/django/mysite/requirements.txt b/testapps/django/mysite/requirements.txt index 97375febf..726fbc7b7 100644 --- a/testapps/django/mysite/requirements.txt +++ b/testapps/django/mysite/requirements.txt @@ -1,2 +1,3 @@ Django==4.1.13 mysqlclient +requests \ No newline at end of file diff --git a/testapps/readme.md b/testapps/readme.md index 9f727bce8..51ec60c89 100644 --- a/testapps/readme.md +++ b/testapps/readme.md @@ -14,14 +14,14 @@ ``` $ git clone --recurse-submodules https://github.com/pinpoint-apm/pinpoint-c-agent.git -$ git checkout dev -$ cd pinpoint-c-agent/testapps && docker compose up --build +$ cd pinpoint-c-agent && git checkout dev +$ cd testapps && docker compose up --build $ ## testapp-fastapi $ curl http://localhost:8186/docs#/ $ ## testapp-php yii2 framework $ curl http://localhost:8185/index.php $ ## testapp-flask -$ curl http://localhost:8184/index.php +$ curl http://localhost:8184/ $ ## testapp-django $ curl http://localhost:8188/admin ``` \ No newline at end of file