def send_metrics()

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