Skip to content
This repository has been archived by the owner on Jan 18, 2025. It is now read-only.

Commit

Permalink
use performance counter from apitoolkit-python
Browse files Browse the repository at this point in the history
  • Loading branch information
dawkaka committed Jul 8, 2024
1 parent 939ff87 commit a0f10aa
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 18 deletions.
33 changes: 16 additions & 17 deletions apitoolkit_django/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
from jsonpath_ng import parse
import json
import base64
import time
from datetime import datetime
import pytz
from django.conf import settings
from apitoolkit_python import observe_request, report_error
from apitoolkit_python import observe_request, report_error, performance_counter_ns


class APIToolkit:
Expand Down Expand Up @@ -87,7 +86,7 @@ def process_exception(self, request, exception):
def __call__(self, request):
if self.debug:
print("APIToolkit: making request")
start_time = time.perf_counter_ns()
start_time = performance_counter_ns()
request_method = request.method
raw_url = request.get_full_path()
request_body = None
Expand All @@ -107,21 +106,21 @@ def __call__(self, request):
response = self.get_response(request)
if self.debug:
print("APIToolkit: after request")
end_time = time.perf_counter_ns()
url_path = request.resolver_match.route if request.resolver_match is not None else None
path_params = request.resolver_match.kwargs if request.resolver_match is not None else {}
duration = (end_time - start_time)
status_code = response.status_code
request_body = json.dumps(request_body)
response_headers = self.redact_headers_func(response.headers)
request_body = self.redact_fields(
request_body, self.redact_request_body)
response_body = self.redact_fields(
response.content.decode('utf-8'), self.redact_response_body)
timestamp = datetime.now(pytz.timezone("UTC")).isoformat()
message_id = request.apitoolkit_message_id
errors = request.apitoolkit_errors
try:
end_time = performance_counter_ns()
url_path = request.resolver_match.route if request.resolver_match is not None else None
path_params = request.resolver_match.kwargs if request.resolver_match is not None else {}
duration = (end_time - start_time)
status_code = response.status_code
request_body = json.dumps(request_body)
response_headers = self.redact_headers_func(response.headers)
request_body = self.redact_fields(
request_body, self.redact_request_body)
response_body = self.redact_fields(
response.content.decode('utf-8'), self.redact_response_body)
timestamp = datetime.now(pytz.timezone("UTC")).isoformat()
message_id = request.apitoolkit_message_id
errors = request.apitoolkit_errors
payload = {
"query_params": query_params,
"path_params": path_params,
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

setup(
name="apitoolkit-django",
version="0.3.1",
version="1.4.1",
packages=find_packages(),
description='A Django SDK for Apitoolkit integration',
long_description=long_description,
Expand Down

0 comments on commit a0f10aa

Please sign in to comment.