in source/ecs/utils/solution_metrics.py [0:0]
def send_metrics(data: dict,
solution_id=getenv('SolutionID'),
url=getenv('MetricsEndpoint'),
uuid=getenv('UUID')):
"""
Sends anonymous metrics.
:param uuid: unique id for solution deployment
:param url: metrics endpoint
:param solution_id: unique id of the solution
:param data: anonymous customer metrics to be sent
:return status code returned by https post request
"""
logger.debug("Sending metrics with data {}, solution_is {} and url {}".format(data, solution_id, url))
try:
uuid = uuid
time_stamp = {'TimeStamp': str(datetime.utcnow().isoformat())}
data.update({"SolutionVersion": getenv('SOLUTION_VERSION')})
params = {'Solution': solution_id,
'UUID': uuid,
'Data': data}
metrics = dict(time_stamp, **params)
json_data = dumps(metrics, cls=DecimalEncoder)
headers = {'content-type': 'application/json'}
r = requests.post(url, data=json_data, headers=headers)
code = r.status_code
logger.debug("The return code for the metrics request is {}".format(code))
return code
except Exception:
pass