Beispiel #1
0
def test_clustermetric():
    # construct 2 SARMetric
    metric1 = SARMetric(
        "SAR-cpuusage-host1", "sar.cpuusage.out", "host1", ".", "logs", "SAR-cpuusage-host1", None, None, {}, None
    )
    metric1.csv_column_map["logs/SAR-cpuusage-host1.all.percent-sys.csv"] = "all.%sys"
    metric1.column_csv_map["all.%sys"] = "logs/SAR-cpuusage-host1.all.percent-sys.csv"

    metric2 = SARMetric(
        "SAR-cpuusage-host2", "sar.cpuusage.out", "host2", ".", "logs", "SAR-cpuusage-host2", None, None, {}, None
    )
    metric2.csv_column_map["logs/SAR-cpuusage-host2.all.percent-sys.csv"] = "all.%sys"
    metric2.column_csv_map["all.%sys"] = "logs/SAR-cpuusage-host2.all.percent-sys.csv"

    # construct a ClusterMetric
    aggregate_metrics = "SAR-cpuusage.all.percent-sys:raw,avg,sum,count"
    section = "CLUSTER-cpuusage-1"
    label = "CLUSTER-cpuusage-1"
    resource_path = "resources"
    rule_strings = {}
    output_directory = tmp_dir
    aggregate_hosts = "host1 host2"
    other_options = {}
    ts_start = None
    ts_end = None
    metrics = [metric1, metric2]

    cur_metric = ClusterMetric(
        section,
        aggregate_hosts,
        aggregate_metrics,
        metrics,
        output_directory,
        resource_path,
        label,
        ts_start,
        ts_end,
        rule_strings,
        None,
    )

    # create sub-directory of resource_path
    sub_dir = os.path.join(output_directory, resource_path)
    if not os.path.exists(sub_dir):
        os.makedirs(sub_dir)

    # the only method to test; it will write to the directory the final csv files;
    cur_metric.collect()

    # check the existance of the output files
    functions = aggregate_metrics.split(":")
    prefix = functions[0].split(".")  #'SAR-cpuusage.all.percent-sys'
    prefix[0] = section
    prefix = ".".join(prefix)  # CLUSTER-cpuusage-1.all.percent-sys

    for func in functions[1].split(","):  #'raw,avg,sum,count'
        file_name = prefix + "." + func + ".csv"
        file_path = os.path.join(sub_dir, file_name)
        # print 'file to check = ' + file_path  #resources/CLUSTER-cpuusage-1.all.percent-sys.raw.csv
        assert os.path.exists(file_path)
Beispiel #2
0
def test_clustermetric():
    # construct 2 SARMetric
    metric1 = SARMetric('SAR-cpuusage-host1', 'sar.cpuusage.out', 'host1', '.',
                        'logs', 'SAR-cpuusage-host1', None, None, {}, None,
                        None)
    metric1.csv_column_map[
        'logs/SAR-cpuusage-host1.all.percent-sys.csv'] = 'all.%sys'
    metric1.column_csv_map[
        'all.%sys'] = 'logs/SAR-cpuusage-host1.all.percent-sys.csv'

    metric2 = SARMetric('SAR-cpuusage-host2', 'sar.cpuusage.out', 'host2', '.',
                        'logs', 'SAR-cpuusage-host2', None, None, {}, None,
                        None)
    metric2.csv_column_map[
        'logs/SAR-cpuusage-host2.all.percent-sys.csv'] = 'all.%sys'
    metric2.column_csv_map[
        'all.%sys'] = 'logs/SAR-cpuusage-host2.all.percent-sys.csv'

    # construct a ClusterMetric
    aggregate_metrics = 'SAR-cpuusage.all.percent-sys:raw,avg,sum,count'
    section = 'CLUSTER-cpuusage-1'
    label = 'CLUSTER-cpuusage-1'
    resource_path = 'resources'
    rule_strings = {}
    output_directory = tmp_dir
    aggregate_hosts = 'host1 host2'
    other_options = {}
    ts_start = None
    ts_end = None
    metrics = [metric1, metric2]

    cur_metric = ClusterMetric(section, aggregate_hosts, aggregate_metrics,
                               metrics, output_directory, resource_path, label,
                               ts_start, ts_end, rule_strings, None, None)

    # create sub-directory of resource_path
    sub_dir = os.path.join(output_directory, resource_path)
    if not os.path.exists(sub_dir):
        os.makedirs(sub_dir)

    # the only method to test; it will write to the directory the final csv files;
    cur_metric.collect()

    # check the existance of the output files
    functions = aggregate_metrics.split(':')
    prefix = functions[0].split('.')  # 'SAR-cpuusage.all.percent-sys'
    prefix[0] = section
    prefix = '.'.join(prefix)  # CLUSTER-cpuusage-1.all.percent-sys

    for func in functions[1].split(','):  # 'raw,avg,sum,count'
        file_name = prefix + '.' + func + '.csv'
        file_path = os.path.join(sub_dir, file_name)
        # print 'file to check = ' + file_path  # resources/CLUSTER-cpuusage-1.all.percent-sys.raw.csv
        assert os.path.exists(file_path)
def test_clustermetric():
  #construct 2 SARMetric
  metric1 = SARMetric('SAR-cpuusage-host1', 'sar.cpuusage.out', 'host1', '.', 'logs', 'SAR-cpuusage-host1', None, None, {}, None, None);
  metric1.csv_column_map['logs/SAR-cpuusage-host1.all.percent-sys.csv'] = 'all.%sys'
  metric1.column_csv_map['all.%sys'] = 'logs/SAR-cpuusage-host1.all.percent-sys.csv'
  
  metric2 = SARMetric('SAR-cpuusage-host2', 'sar.cpuusage.out', 'host2', '.', 'logs', 'SAR-cpuusage-host2', None, None, {}, None, None);
  metric2.csv_column_map['logs/SAR-cpuusage-host2.all.percent-sys.csv'] = 'all.%sys'
  metric2.column_csv_map['all.%sys'] = 'logs/SAR-cpuusage-host2.all.percent-sys.csv'
  
  #construct a ClusterMetric
  aggregate_metrics = 'SAR-cpuusage.all.percent-sys:raw,avg,sum,count'
  section = 'CLUSTER-cpuusage-1'
  label = 'CLUSTER-cpuusage-1'
  resource_path = 'resources'
  rule_strings = {}
  output_directory = tmp_dir
  aggregate_hosts = 'host1 host2'
  other_options = {}
  ts_start = None
  ts_end = None
  metrics = [metric1, metric2]
  
  cur_metric = ClusterMetric(section, aggregate_hosts, aggregate_metrics, metrics, output_directory, resource_path, label, ts_start, ts_end, rule_strings, None, None)
  
  # create sub-directory of resource_path
  sub_dir = os.path.join(output_directory, resource_path)
  if not os.path.exists(sub_dir):
    os.makedirs(sub_dir)
  
  # the only method to test; it will write to the directory the final csv files;   
  cur_metric.collect() 

  #check the existance of the output files
  functions = aggregate_metrics.split(':')
  prefix = functions[0].split('.') #'SAR-cpuusage.all.percent-sys'
  prefix[0] = section
  prefix = '.'.join(prefix)  #CLUSTER-cpuusage-1.all.percent-sys
  
  for func in functions[1].split(','): #'raw,avg,sum,count'
    file_name = prefix + '.' + func + '.csv'
    file_path = os.path.join(sub_dir, file_name)
    # print 'file to check = ' + file_path  #resources/CLUSTER-cpuusage-1.all.percent-sys.raw.csv
    assert os.path.exists(file_path)