当前位置: 首页>>代码示例>>Python>>正文


Python metric.Metric类代码示例

本文整理汇总了Python中naarad.metrics.metric.Metric的典型用法代码示例。如果您正苦于以下问题:Python Metric类的具体用法?Python Metric怎么用?Python Metric使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Metric类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: parse_metric_section

def parse_metric_section(config_obj, section, metric_classes,  metrics, aggregate_metric_classes, outdir_default, resource_path):
  """
  Parse a metric section and create a Metric object
  :param config_obj: ConfigParser object
  :param section: Section name
  :param metric_classes: List of valid metric types
  :param metrics: List of all regular metric objects (used by aggregate metric)
  :param aggregate_metric_classes: List of all valid aggregate metric types
  :param outdir_default: Default output directory
  :param resource_path: Default resource directory
  :return: An initialized Metric object
  """
  hostname, infile, aggr_hosts, aggr_metrics, label, ts_start, ts_end, precision, kwargs, rule_strings = parse_basic_metric_options(config_obj, section)
  #TODO: Make user specify metric_type in config and not infer from section
  metric_type = section.split('-')[0]
  if metric_type in metric_classes: # regular metrics
    new_metric = metric_classes[metric_type](section, infile, hostname, outdir_default, resource_path, label, ts_start, ts_end, rule_strings, **kwargs)
  elif metric_type in aggregate_metric_classes:       #aggregate metrics     
    new_metric = aggregate_metric_classes[metric_type](section, aggr_hosts, aggr_metrics, metrics, outdir_default, resource_path, label, ts_start, ts_end, rule_strings, **kwargs)
  else:            # new metrics. 
    new_metric = Metric(section, infile, hostname, outdir_default, resource_path, label, ts_start, ts_end, rule_strings, **kwargs)

  if config_obj.has_option(section, 'ignore') and config_obj.getint(section, 'ignore') == 1:
    new_metric.ignore = True
  if config_obj.has_option(section, 'calc_metrics'):
    new_metric.calc_metrics = config_obj.get(section, 'calc_metrics')
  new_metric.precision = precision
  return new_metric
开发者ID:fx19880617,项目名称:naarad,代码行数:28,代码来源:utils.py

示例2: initialize_metric

def initialize_metric(section, infile_list, hostname, output_directory, resource_path, label, ts_start, ts_end, rule_strings, important_sub_metrics, anomaly_detection_metrics, other_options):
  """
  Initialize appropriate metric based on type of metric.
  :param: section: config section name or auto discovered metric type
  :param: infile_list: list of input log files for the metric
  :param: hostname: hostname associated with the logs origin
  :param: output_directory: report location
  :param: resource_path: resource path for report
  :param: label: label for config section or auto discovered metric type
  :param: ts_start: start time for analysis
  :param: ts_end: end time for analysis
  :param: rule_strings: list of slas
  :param: important_sub_metrics: list of important sub metrics
  :param: anomaly_detection_metrics: list of metrics to use for anomaly detection.
  :param: other_options: kwargs
  :return: metric object
  """
  bin_path = os.path.abspath(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))),'bin'))
  metric = None
  metric_type = section.split('-')[0]
  if metric_type in metric_classes:
    if 'SAR' in metric_type:
      metric = metric_classes['SAR'](section, infile_list, hostname, output_directory, resource_path, label, ts_start, ts_end, rule_strings, important_sub_metrics, anomaly_detection_metrics, **other_options)
    else:
      metric = metric_classes[metric_type](section, infile_list, hostname, output_directory, resource_path, label, ts_start, ts_end, rule_strings, important_sub_metrics, anomaly_detection_metrics, **other_options)
  else:
    metric = Metric(section, infile_list, hostname, output_directory, resource_path, label, ts_start, ts_end, rule_strings, important_sub_metrics, anomaly_detection_metrics, **other_options)
  metric.bin_path = bin_path
  return metric
开发者ID:pombredanne,项目名称:naarad,代码行数:29,代码来源:utils.py

示例3: __init__

 def __init__ (self, metric_type, infile, hostname, output_directory, resource_path, label, ts_start, ts_end,
               rule_strings, **other_options):
   Metric.__init__(self, metric_type, infile, hostname, output_directory, resource_path, label, ts_start, ts_end,
                   rule_strings)
   self.sub_metric_description = {
     'lb': 'Transaction Name',
     'lt': 'Time to First byte',
     'ts': 'Timestamp',
     'tn': 'Transaction Name (Parent)',
     's': 'Status',
     'ResponseTime': 'Response Time',
     'rc': 'Response Code',
     'rm': 'Response Message',
     'dt': 'Data Type',
     'ResponseSize': 'Response Size',
     'qps': 'Successful Transactions per second',
     'ErrorsPerSecond': 'Errors per second',
     'DataThroughput': 'Data Throughput'
   }
   self.sub_metric_units = {
     'lt': 'ms',
     'ResponseTime': 'ms',
     'ResponseSize': 'bytes',
     'qps': 'qps',
     'DataThroughput': 'mbps',
     'ErrorsPerSecond': 'qps'
   }
   self.calculated_stats = {}
   self.aggregation_granularity = 'minute'
   self.calculated_percentiles = {}
   self.summary_stats = defaultdict(dict)
   self.important_sub_metrics = naarad.naarad_imports.important_sub_metrics_import['JMETER']
   if other_options:
     for (key, val) in other_options.iteritems():
       setattr(self, key, val)
开发者ID:ShaoshanLiu,项目名称:naarad,代码行数:35,代码来源:jmeter_metric.py

示例4: __init__

 def __init__ (self, metric_type, infile, access, outdir, label, ts_start, ts_end, **other_options):
   Metric.__init__(self, metric_type, infile, access, outdir, label, ts_start, ts_end)
   for (key,val) in other_options.iteritems():
     if key == 'gc-options':
       self.gc_options = val.split()
     else:
       setattr(self, key, val)
   self.metric_description = {
     "appstop" :"approximate application stop times",
     "gen0" :" young gen collection time, excluding gc_prologue & gc_epilogue",
     "gen0t" :" young gen collection time, including gc_prologue & gc_epilogue",
     "gen0usr" :" young gen collection time in cpu user secs",
     "gen0sys" :" young gen collection time in cpu sys secs",
     "gen1i" :" train generation incremental collection",
     "gen1t" :" old generation collection/full GC",
     "cmsIM" :" CMS initial mark pause",
     "cmsRM" :" CMS remark pause",
     "cmsRS" :" CMS resize pause",
     "GC" :" all stop-the-world GC pauses",
     "cmsCM" :" CMS concurrent mark phase",
     "cmsCP" :" CMS concurrent preclean phase",
     "cmsCS" :" CMS concurrent sweep phase",
     "cmsCR" :" CMS concurrent reset phase",
     "alloc":" object allocation in MB (approximate***)",
     "promo":" object promotion in MB (approximate***)",
     "used0":" young gen used memory size (before gc)",
     "used1":" old gen used memory size (before gc)",
     "used":" heap space used memory size (before gc) (excludes perm gen)",
     "commit0":" young gen committed memory size (after gc)",
     "commit1":" old gen committed memory size (after gc)",
     "commit":" heap committed memory size (after gc) (excludes perm gen)",
     "apptime" :" amount of time application threads were running",
     "safept" :" amount of time the VM spent at safepoints (app threads stopped)"
     }
开发者ID:haricharankr,项目名称:naarad,代码行数:34,代码来源:gc_metric.py

示例5: __init__

 def __init__ (self, metric_type, infile, hostname, outdir, resource_path, label, ts_start, ts_end, rule_strings,
               **other_options):
   Metric.__init__(self, metric_type, infile, hostname, outdir, resource_path, label, ts_start, ts_end, rule_strings)
   self.sub_metrics = self.val_types
   self.sub_metric_description = {
     "launch_time" :"the time taken to launch the client application",
     "nus_update_time" :"the time taken to update NUS list after launch"
   }
开发者ID:ShaoshanLiu,项目名称:naarad,代码行数:8,代码来源:linkedin_android_rum_metric.py

示例6: __init__

  def __init__(self, metric_type, infile_list, hostname, output_directory, resource_path, label, ts_start, ts_end,
               rule_strings, important_sub_metrics, anomaly_detection_metrics, **other_options):
    Metric.__init__(self, metric_type, infile_list, hostname, output_directory, resource_path, label, ts_start, ts_end,
                    rule_strings, important_sub_metrics, anomaly_detection_metrics)
    self.sub_metrics = None
    for (key, val) in other_options.iteritems():
      setattr(self, key, val.split())

    self._extract_input_connections()
    self._extract_input_processes()
开发者ID:brainiac744,项目名称:naarad,代码行数:10,代码来源:netstat_metric.py

示例7: __init__

 def __init__(self, metric_type, infile, hostname, outdir, resource_path, label, ts_start, ts_end, rule_strings,
              **other_options):
   metric_type = self.extract_metric_name(metric_type)
   Metric.__init__(self, metric_type, infile,  hostname, outdir, resource_path, label, ts_start, ts_end, rule_strings)
   if self.metric_type in important_sub_metrics_import.keys():
     self.important_sub_metrics = important_sub_metrics_import[self.metric_type]
   self.options = None
   self.devices = None
   for (key, val) in other_options.iteritems():
     setattr(self, key, val.split())
开发者ID:ShaoshanLiu,项目名称:naarad,代码行数:10,代码来源:sar_metric.py

示例8: __init__

  def __init__(self, metric_type, infile, hostname, aggr_metrics, output_directory, resource_path, label, ts_start, ts_end,
               rule_strings, important_sub_metrics, anomaly_detection_metrics, **other_options):
    Metric.__init__(self, metric_type, infile, hostname, aggr_metrics, output_directory, resource_path, label, ts_start, ts_end,
                    rule_strings, important_sub_metrics, anomaly_detection_metrics)

    # Allow user to specify interested processes; in the format of 'PID=11 22' and 'COMMAND=firefox top'
    # It will search for any processes that match the PIDs listed or the commands listed. It's not an intersection of the PIDs and commands.
    self.PID = []
    self.COMMAND = []
    self.ts_valid_lines = True

    for (key, val) in other_options.iteritems():
      setattr(self, key, val.split())

    self.sub_metrics = None
    self.process_headers = []
    self.ts = ''
    self.ts_date = ''
    self.ts_time = ''
    self.saw_pid = False   # Controls when to process individual commands;

    self.data = {}  # Stores all data to be written out

    for key, val in other_options.iteritems():
      setattr(self, key, val.split())

    self.sub_metric_description = {
        'uptime_minute': 'uptime of the machine',
        'num_users': 'users sessions logged in',
        'load_aver_1_minute': 'average load on the system (last 1 minute)',
        'load_aver_5_minute': 'average load on the system (last 5 minutes)',
        'load_aver_15_minute': 'average load on the system (last 15 minutes)',
        'tasks_total': 'total processes',
        'tasks_running': 'processes running',
        'tasks_sleeping': 'processes sleeping',
        'tasks_stopped': 'processes stopped',
        'tasks_zombie': 'zombies',
        'cpu_us': 'cpu percentage of running user processes',
        'cpu_sy': 'cpu percentage of running system processes',
        'cpu_id': 'cpu percentage of idel time',
        'cpu_ni': 'cpu percentage of running niced processes',
        'cpu_wa': 'cpu percentage of waiting for IO',
        'cpu_hi': 'cpu percentage of serving hardware IRQ',
        'cpu_si': 'cpu percentage of serving software IRQ',
        'cpu_st': 'cpu percentage of being stolen',
        'mem_total': 'total memory in GB',
        'mem_used': 'total memory in use in GB',
        'mem_free': 'total free memory in GB',
        'mem_buffers': 'total buffers in GB',
        'swap_total': 'total swap size in GB',
        'swap_used': 'total swap in use in GB',
        'swap_free': 'total free swap in GB',
        'swap_cached': 'total swap cache in GB',
    }
开发者ID:Malu-hp,项目名称:naarad,代码行数:54,代码来源:top_metric.py

示例9: __init__

 def __init__(self, metric_type, infile_list, hostname, aggr_metrics, outdir, resource_path, label, ts_start, ts_end, rule_strings,
              important_sub_metrics, anomaly_detection_metrics, **other_options):
   Metric.__init__(self, metric_type, infile_list, hostname, aggr_metrics, outdir, resource_path, label, ts_start, ts_end, rule_strings,
                   important_sub_metrics, anomaly_detection_metrics)
   self.sub_metrics = self.val_types
   if not self.important_sub_metrics:
     self.important_sub_metrics = CONSTANTS.important_sub_metrics_import['LINKEDINANDROIDRUM']
   self.sub_metric_description = {
       "launch_time": "the time taken to launch the client application",
       "nus_update_time": "the time taken to update NUS list after launch"
   }
开发者ID:Malu-hp,项目名称:naarad,代码行数:11,代码来源:linkedin_android_rum_metric.py

示例10: __init__

  def __init__(self, metric_type, infile_list, hostname, outdir, resource_path, label, ts_start, ts_end, rule_strings,
               important_sub_metrics, anomaly_detection_metrics, **other_options):
    Metric.__init__(self, metric_type, infile_list, hostname, outdir, resource_path, label, ts_start, ts_end, rule_strings,
                    important_sub_metrics, anomaly_detection_metrics)
    if not self.important_sub_metrics and self.metric_type in important_sub_metrics_import.keys():
      self.important_sub_metrics = important_sub_metrics_import[self.metric_type]
    self.options = None

    self.CPUS = None
    for (key, val) in other_options.iteritems():
      setattr(self, key, val.split())
开发者ID:brainiac744,项目名称:naarad,代码行数:11,代码来源:procinterrupts_metric.py

示例11: __init__

  def __init__(self, section, aggregate_hosts, aggregate_metrics, metrics, output_directory, resource_path, label,
               ts_start, ts_end, rule_strings, important_sub_metrics, anomaly_detection_metrics, **other_options):
    self.metrics = metrics
    self.aggr_hosts = aggregate_hosts.split()

    # Metric arguments take 'infile' and 'hostname', for ClusterMetric, they are invalid, so just provide empty strings.
    Metric.__init__(self, section, '', '', '', output_directory, resource_path, label, ts_start, ts_end, rule_strings,
                    important_sub_metrics, anomaly_detection_metrics)
    self.aggr_metrics = aggregate_metrics.split()

    for (key, val) in other_options.iteritems():
      setattr(self, key, val.split())
开发者ID:Malu-hp,项目名称:naarad,代码行数:12,代码来源:cluster_metric.py

示例12: __init__

 def __init__ (self, section, aggregate_hosts, aggregate_metrics, metrics, output_directory, resource_path, label, ts_start, ts_end,
               rule_strings, **other_options):
   self.metrics = metrics
   self.aggr_metrics = re.split(",| |:", aggregate_metrics)  #support both "," and " ", ":" as separator
   self.aggr_hosts = re.split(",| |:", aggregate_hosts) 
                 
   #Metric arguments take 'infile' and 'hostname', for ClusterMetric, they are invalid, so just provide empty strings.     
   Metric.__init__(self, section, '', '', output_directory, resource_path, label, ts_start, ts_end, rule_strings)
   
   # in particular, Section can specify a subset of all rows (default has 43 rows):  "sub_metrics=nr_free_pages nr_inactive_anon"
   for (key, val) in other_options.iteritems():
     setattr(self, key, val.split())   
开发者ID:ShaoshanLiu,项目名称:naarad,代码行数:12,代码来源:cluster_metric.py

示例13: __init__

  def __init__ (self, metric_type, infile_list, hostname, output_directory, resource_path, label, ts_start, ts_end,
                rule_strings, important_sub_metrics, anomaly_detection_metrics, **other_options):
    Metric.__init__(self, metric_type, infile_list, hostname, output_directory, resource_path, label, ts_start, ts_end,
                    rule_strings, important_sub_metrics, anomaly_detection_metrics)

    # in particular, Section can specify a subset of all rows (default has 43 rows):  "sub_metrics=nr_free_pages nr_inactive_anon"
    for (key, val) in other_options.iteritems():
      setattr(self, key, val.split())   
      
    self.sub_metric_description = {
      'MemTotal': 'Total memory in KB',
      'MemFree': 'Total free memory in KB',
      'Buffers': 'Size of buffers in KB',
      'Cached': 'Size of page cache in KB',
     }    
开发者ID:omnarayan,项目名称:naarad,代码行数:15,代码来源:procmeminfo_metric.py

示例14: plot_timeseries

 def plot_timeseries(self, graphing_library='matplotlib'):
   if graphing_library != 'matplotlib':
     return Metric.plot_timeseries(self, graphing_library)
   else:
     logger.info('Using graphing_library {lib} for metric {name}'.format(lib=graphing_library, name=self.label))
     plot_data = {}
     # plot time series data for submetrics
     for out_csv in sorted(self.csv_files, reverse=True):
       csv_filename = os.path.basename(out_csv)
       # The last element is .csv, don't need that in the name of the chart
       column = csv_filename.split('.')[-2]
       transaction_name = ' '.join(csv_filename.split('.')[1:-2])
       plot = PD(input_csv=out_csv, csv_column=1, series_name=transaction_name,
                 y_label=self.sub_metric_description[column] + ' (' + self.sub_metric_units[column] + ')', precision=None, graph_height=500, graph_width=1200,
                 graph_type='line')
       if transaction_name in plot_data:
         plot_data[transaction_name].append(plot)
       else:
         plot_data[transaction_name] = [plot]
     for transaction in plot_data:
       graphed, div_file = Metric.graphing_modules[graphing_library].graph_data(plot_data[transaction], self.resource_directory, self.resource_path,
                                                                                self.label + '.' + transaction)
       if graphed:
         self.plot_files.append(div_file)
     return True
开发者ID:Malu-hp,项目名称:naarad,代码行数:25,代码来源:jmeter_metric.py

示例15: __init__

    def __init__(
        self,
        metric_type,
        infile_list,
        hostname,
        aggr_metrics,
        output_directory,
        resource_path,
        label,
        ts_start,
        ts_end,
        rule_strings,
        important_sub_metrics,
        anomaly_detection_metrics,
        **other_options
    ):
        Metric.__init__(
            self,
            metric_type,
            infile_list,
            hostname,
            aggr_metrics,
            output_directory,
            resource_path,
            label,
            ts_start,
            ts_end,
            rule_strings,
            important_sub_metrics,
            anomaly_detection_metrics,
        )

        self.sub_metrics = None
        # in particular, Section can specify a subset of all metrics: sub_metrics=pages.min nr_free_pages

        for (key, val) in other_options.iteritems():
            setattr(self, key, val.split())

        self.sub_metric_description = {
            "nr_free_pages": "Number of free pages",
            "nr_inactive_anon": "Number of inactive anonymous pages",
            "nr_active_anon": "Number of active anonymous pages",
            "nr_inactive_file": "Number of inactive file cache pages",
            "nr_active_file": "Number of active file cache pages",
        }
开发者ID:noblerwe,项目名称:naarad,代码行数:45,代码来源:proczoneinfo_metric.py


注:本文中的naarad.metrics.metric.Metric类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。