templates/aws-cloudfront-monitoring/source/lambda.d/metric_collector_download_speed_cdn/metric_collector_download_speed_cdn.py [21:59]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
log = logging.getLogger()
log.setLevel('INFO')

SPEED_DICT = {
    "250K": 256000,
    "500K": 512000,
    "750K": 768000,
    "1M": 1048576,
    "2M": 2097152,
    "3M": 3145728,
    "4M": 4194304
}


def schedule_athena_query(query_string):
    log.info('[schedule_athena_query] Start')
    log.info("[schedule_athena_query] Query string: " + query_string)

    response = athena_client.start_query_execution(
        QueryString=query_string,
        QueryExecutionContext={'Database': DB_NAME},
        ResultConfiguration={
            'OutputLocation': ATHENA_QUERY_OUTPUT,
            'EncryptionConfiguration': {
                'EncryptionOption': 'SSE_S3'
            }
        },
        WorkGroup="primary")

    log.info('[schedule_athena_query] End')
    return response


def assemble_speed(metric, start_time, end_time, domain):
    log.info('[assemble_query_string] Start')
    # Dynamically build query string using partition
    query_string = 'SELECT "sc-bytes"/"time-taken" as speed, "country-name", isp FROM "' + DB_NAME + '"."' + GLUE_TABLE_NAME + '" WHERE '
    query_string = assemble_query(start_time, end_time, query_string)
    query_string += ' AND "cs-host" = \'' + domain + '\' AND timestamp <= ' + str(
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



templates/aws-cloudfront-monitoring/source/lambda.d/metric_collector_download_speed_origin/metric_collector_download_speed_origin.py [20:58]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
log = logging.getLogger()
log.setLevel('INFO')

SPEED_DICT = {
    "250K": 256000,
    "500K": 512000,
    "750K": 768000,
    "1M": 1048576,
    "2M": 2097152,
    "3M": 3145728,
    "4M": 4194304
}


def schedule_athena_query(query_string):
    log.info('[schedule_athena_query] Start')
    log.info("[schedule_athena_query] Query string: " + query_string)

    response = athena_client.start_query_execution(
        QueryString=query_string,
        QueryExecutionContext={'Database': DB_NAME},
        ResultConfiguration={
            'OutputLocation': ATHENA_QUERY_OUTPUT,
            'EncryptionConfiguration': {
                'EncryptionOption': 'SSE_S3'
            }
        },
        WorkGroup="primary")

    log.info('[schedule_athena_query] End')
    return response


def assemble_speed(metric, start_time, end_time, domain):
    log.info('[assemble_query_string] Start')
    # Dynamically build query string using partition
    query_string = 'SELECT "sc-bytes"/"time-taken" as speed, "country-name", isp FROM "' + DB_NAME + '"."' + GLUE_TABLE_NAME + '" WHERE '
    query_string = assemble_query(start_time, end_time, query_string)
    query_string += ' AND "cs-host" = \'' + domain + '\' AND timestamp <= ' + str(
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



