Merge pull request #2036 from edx/feature/gprice/datadog-cs-time
Add comment service request time logging to Datadog
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
from dogapi import dog_stats_api
|
||||
import json
|
||||
import logging
|
||||
import requests
|
||||
@@ -30,12 +31,18 @@ def merge_dict(dic1, dic2):
|
||||
def perform_request(method, url, data_or_params=None, *args, **kwargs):
|
||||
if data_or_params is None:
|
||||
data_or_params = {}
|
||||
tags = [
|
||||
"{k}:{v}".format(k=k, v=v)
|
||||
for (k, v) in data_or_params.items() + [("method", method), ("url", url)]
|
||||
if k != 'api_key'
|
||||
]
|
||||
data_or_params['api_key'] = settings.API_KEY
|
||||
try:
|
||||
if method in ['post', 'put', 'patch']:
|
||||
response = requests.request(method, url, data=data_or_params, timeout=5)
|
||||
else:
|
||||
response = requests.request(method, url, params=data_or_params, timeout=5)
|
||||
with dog_stats_api.timer('comment_client.request.time', tags=tags):
|
||||
if method in ['post', 'put', 'patch']:
|
||||
response = requests.request(method, url, data=data_or_params, timeout=5)
|
||||
else:
|
||||
response = requests.request(method, url, params=data_or_params, timeout=5)
|
||||
except Exception as err:
|
||||
# remove API key if it is in the params
|
||||
if 'api_key' in data_or_params:
|
||||
|
||||
Reference in New Issue
Block a user