def get_measurements(region, core_info, data, extra_offset=0):
    """
    Get the complete measurement info from likwid's region info.

    Args:
        region: The region we took a measurement in.
        core_info: The core information.
        data: The raw data.
        extra_offset (int): default = 0

    Returns (list((region, metric, core, value))):
        A list of measurement tuples, a tuple contains the information about
        the region, the metric, the core and the actual value.
    """
    measurements = []
    clean_core_info = [x for x in core_info if x]
    cores = len(clean_core_info)
    for k in data:
        if k not in ["1", "Region Info", "Event", "Metric", "CPU clock"]:
            slot = data[k]
            for i in range(cores):
                core = core_info[i]
                idx = extra_offset + i
                if core and slot[idx]:
                    measurements.append((region, k, core, slot[idx]))

    return measurements