Ejemplo n.º 1
0
def create_metrics(platform: Platform) -> List[Metric]:
    """Creates a list of Metric objects from data in Platform object"""
    platform_metrics = []

    platform_metrics.extend([
        Metric.create_metric_with_metadata(MetricName.PLATFORM_TOPOLOGY_CORES,
                                           value=platform.cores),
        Metric.create_metric_with_metadata(MetricName.PLATFORM_TOPOLOGY_CPUS,
                                           value=platform.cpus),
        Metric.create_metric_with_metadata(MetricName.PLATFORM_TOPOLOGY_SOCKETS,
                                           value=platform.sockets),
        Metric.create_metric_with_metadata(MetricName.PLATFORM_LAST_SEEN,
                                           value=time.time()),
    ])

    # Exporting measurements into metrics.
    platform_metrics.extend(export_metrics_from_measurements(platform.measurements))

    platform_metrics.append(
        Metric.create_metric_with_metadata(
            MetricName.WCA_INFORMATION,
            value=1,
            labels=dict(
                sockets=str(platform.sockets),
                cores=str(platform.cores),
                cpus=str(platform.cpus),
                cpu_model=platform.cpu_model,
                wca_version=get_wca_version(),
            )
        )
    )

    return platform_metrics
def create_metrics(platform: Platform) -> List[Metric]:
    """Creates a list of Metric objects from data in Platform object"""
    platform_metrics = list()
    platform_metrics.append(
        Metric.create_metric_with_metadata(name=MetricName.MEM_USAGE,
                                           value=platform.total_memory_used))
    for cpu_id, cpu_usage in platform.cpus_usage.items():
        platform_metrics.append(
            Metric.create_metric_with_metadata(
                name=MetricName.CPU_USAGE_PER_CPU,
                value=cpu_usage,
                labels={"cpu": str(cpu_id)}))
    return platform_metrics
def _get_internal_metrics(tasks: List[Task]) -> List[Metric]:
    """Internal wca metrics e.g. memory usage, profiling information."""

    # Memory usage.
    memory_usage_rss_self = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
    memory_usage_rss_children = resource.getrusage(resource.RUSAGE_CHILDREN).ru_maxrss
    memory_usage_rss = memory_usage_rss_self + memory_usage_rss_children

    metrics = [
        Metric.create_metric_with_metadata(MetricName.WCA_UP, value=time.time()),
        Metric.create_metric_with_metadata(MetricName.WCA_TASKS, value=len(tasks)),
        Metric.create_metric_with_metadata(MetricName.WCA_MEM_USAGE_BYTES,
                                           value=int(memory_usage_rss * 1024)),
    ]

    return metrics
Ejemplo n.º 4
0
def create_metrics(task_measurements: Measurements) -> List[Metric]:
    """Prepare a list of metrics for a mesos tasks based on provided measurements
    applying common_labels.
    :param task_measurements: use values of measurements to create metrics
    """
    metrics = []
    for metric_name, metric_value in task_measurements.items():
        metric = Metric.create_metric_with_metadata(name=metric_name, value=metric_value)
        metrics.append(metric)
    return metrics