Skip to content

Commit

Permalink
refactor: remove logs from order history API
Browse files Browse the repository at this point in the history
  • Loading branch information
Muhammad Noyan Aziz authored and Muhammad Noyan Aziz committed Nov 18, 2024
1 parent f845460 commit 2b95166
Show file tree
Hide file tree
Showing 5 changed files with 2 additions and 104 deletions.
37 changes: 1 addition & 36 deletions commerce_coordinator/apps/commercetools/clients.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,9 +260,6 @@ def get_orders(self, customer_id: str, offset=0,
f"customer with ID {customer_id}")
order_where_clause = f"orderState=\"{order_state}\""

start_time = datetime.datetime.now()
logger.info(
"[UserOrdersView] Get CT orders query call started at %s", start_time)
values = self.base_client.orders.query(
where=["customerId=:cid", order_where_clause],
predicate_var={'cid': customer_id},
Expand All @@ -271,22 +268,8 @@ def get_orders(self, customer_id: str, offset=0,
offset=offset,
expand=list(expand)
)
end_time = datetime.datetime.now()
logger.info(
"[UserOrdersView] Get CT orders query call finished at %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds()
)

start_time = datetime.datetime.now()
logger.info('[UserOrdersView] Pagination of CT orders started at %s',
start_time)
result = PaginatedResult(values.results, values.total, values.offset)
end_time = datetime.datetime.now()
logger.info(
'[UserOrdersView] Pagination of CT orders finished at %s with total duration: %ss',
end_time, (end_time - start_time).total_seconds())

return result
return PaginatedResult(values.results, values.total, values.offset)

def get_orders_for_customer(self, edx_lms_user_id: int, offset=0, limit=ORDER_HISTORY_PER_SYSTEM_REQ_LIMIT,
customer_id=None, email=None,
Expand All @@ -298,12 +281,6 @@ def get_orders_for_customer(self, edx_lms_user_id: int, offset=0, limit=ORDER_HI
offset:
limit:
"""
start_time = datetime.datetime.now()
logger.info(
"[UserOrdersView] For CT orders get customer id from lms id call started at %s",
start_time
)

if not customer_id:
customer = self.get_customer_by_lms_user_id(edx_lms_user_id)

Expand All @@ -325,19 +302,7 @@ def get_orders_for_customer(self, edx_lms_user_id: int, offset=0, limit=ORDER_HI
)
)

end_time = datetime.datetime.now()
logger.info(
"[UserOrdersView] For CT orders get customer id from lms id call finished at %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds()
)

start_time = datetime.datetime.now()
logger.info("[UserOrdersView] Get CT orders call started at %s",
start_time)
orders = self.get_orders(customer_id, offset, limit)
end_time = datetime.datetime.now()
logger.info("[UserOrdersView] Get CT orders call finished at %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds())

return orders, customer

Expand Down
25 changes: 1 addition & 24 deletions commerce_coordinator/apps/commercetools/pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,6 @@ def run_filter(self, request, params, order_data): # pylint: disable=arguments-
order_data: any preliminary orders (from an earlier pipeline step) we want to append to
Returns:
"""
method_start_time = datetime.now()
log.info("[UserOrdersView] Starting CT orders pipeline step execution at %s", method_start_time)

if not is_redirect_to_commercetools_enabled_for_user(request):
return PipelineCommand.CONTINUE.value

Expand All @@ -62,34 +59,14 @@ def run_filter(self, request, params, order_data): # pylint: disable=arguments-
offset=params["page"] * params["page_size"]
)

start_time = datetime.now()
log.info(
"[UserOrdersView] CT orders to attrs objects processing started at %s",
start_time
)
# noinspection PyTypeChecker
converted_orders = [attrs.asdict(order_from_commercetools(x, ct_orders[1]))
for x in ct_orders[0].results]
end_time = datetime.now()
log.info(
"[UserOrdersView] CT orders to attrs objects processing finished at %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds()
)

start_time = datetime.now()
log.info("[UserOrdersView] CT orders rebuild call started at %s", start_time)
order_data.append(
ct_orders[0].rebuild(converted_orders)
)
end_time = datetime.now()
log.info("[UserOrdersView] CT orders rebuild call finished at %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds())

method_end_time = datetime.now()
log.info(
"[UserOrdersView] Completed CT pipeline step execution at %s with total duration: %ss",
method_end_time, (method_end_time - method_start_time).total_seconds()
)

return {
"order_data": order_data
}
Expand Down
10 changes: 0 additions & 10 deletions commerce_coordinator/apps/ecommerce/clients.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,7 @@ def get_orders(self, query_params):
"""
try:
resource_url = urljoin_directory(self.api_base_url, '/orders')
start_time = datetime.now()
logger.info(
'[UserOrdersView] Legacy ecommerce get_orders API called at: %s',
start_time
)
response = self.client.get(resource_url, params=query_params)
end_time = datetime.now()
logger.info(
'[UserOrdersView] Legacy ecommerce get_orders API finished at: %s with total duration: %ss',
end_time, (end_time - start_time).total_seconds()
)
response.raise_for_status()
self.log_request_response(logger, response)
except RequestException as exc:
Expand Down
7 changes: 0 additions & 7 deletions commerce_coordinator/apps/ecommerce/pipeline.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ def run_filter(self, request, params, order_data): # pylint: disable=arguments-
params: arguments passed through from the original order history url querystring
order_data: any preliminary orders (from an earlier pipeline step) we want to append to
"""
start_time = datetime.now()
log.info("[UserOrdersView] Starting Ecommerce pipeline step execution at %s", start_time)

new_params = params.copy()
# Ecommerce starts pagination from 1, other systems from 0, since the invoker assumes 0, we're always 1 off.
new_params['page'] = params['page'] + 1
Expand All @@ -53,10 +50,6 @@ def run_filter(self, request, params, order_data): # pylint: disable=arguments-

order_data.append(ecommerce_response)

end_time = datetime.now()
log.info(
"[UserOrdersView] Completed Ecommerce pipeline step execution at %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds())
return {
"order_data": order_data
}
Expand Down
27 changes: 0 additions & 27 deletions commerce_coordinator/apps/frontend_app_ecommerce/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,16 +74,11 @@ class UserOrdersView(APIView):

def get(self, request):
"""Return paginated response of user's order history."""
request_start_time = datetime.now()
logger.info("[UserOrdersView] GET method started at: %s", request_start_time)

user = request.user
user.add_lms_user_id("UserOrdersView GET method")
# build parameters
params = {
'customer_id': request.query_params.get('customer_id'),
'username': request.user.username,
'email': request.user.email,
"edx_lms_user_id": request.user.lms_user_id,
"page": 0,
"page_size": ORDER_HISTORY_PER_SYSTEM_REQ_LIMIT
Expand All @@ -97,40 +92,18 @@ def get(self, request):
if not request.user.lms_user_id: # pragma: no cover
raise PermissionDenied(detail="Could not detect LMS user id.")

start_time = datetime.now()
logger.info("[UserOrdersView] Pipline filter run started at: %s", start_time)
order_data = OrderHistoryRequested.run_filter(request, params)
end_time = datetime.now()
logger.info("[UserOrdersView] Pipline filter run finished at: %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds())

output_orders = []

start_time = datetime.now()
logger.info("[UserOrdersView] Looping through combined orders results starting at: %s", start_time)
for order_set in order_data:
output_orders.extend(order_set['results'])

end_time = datetime.now()
logger.info(
"[UserOrdersView] Looping through combined orders results finished at: %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds())

start_time = datetime.now()
logger.info("[UserOrdersView] Sorting combined orders results for output starting at: %s", start_time)
output = {
"count": request.query_params['page_size'], # This suppresses the ecomm mfe Order History Pagination ctrl
"next": None,
"previous": None,
"results": sorted(output_orders, key=lambda item: date_conv(item["date_placed"]), reverse=True)
}

end_time = datetime.now()
logger.info(
"[UserOrdersView] Sorting combined orders results for output finished at: %s with total duration: %ss",
end_time, (end_time - start_time).total_seconds())

request_end_time = datetime.now()
logger.info("[UserOrdersView] GET method finished at: %s with total duration: %ss", request_end_time,
(request_end_time - request_start_time).total_seconds())
return Response(output)

0 comments on commit 2b95166

Please sign in to comment.