eagle-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (EAGLE-849) System metric collector python script
Date Wed, 04 Jan 2017 03:34:58 GMT

    [ https://issues.apache.org/jira/browse/EAGLE-849?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15797042#comment-15797042
] 

ASF GitHub Bot commented on EAGLE-849:
--------------------------------------

Github user jhsenjaliya commented on a diff in the pull request:

    https://github.com/apache/eagle/pull/763#discussion_r94525925
  
    --- Diff: eagle-external/hadoop_jmx_collector/system_metric_collector.py ---
    @@ -0,0 +1,300 @@
    +# !/usr/bin/python
    +#
    +# Licensed to the Apache Software Foundation (ASF) under one or more
    +# contributor license agreements.  See the NOTICE file distributed with
    +# this work for additional information regarding copyright ownership.
    +# The ASF licenses this file to You under the Apache License, Version 2.0
    +# (the "License"); you may not use this file except in compliance with
    +# the License.  You may obtain a copy of the License at
    +#
    +#    http://www.apache.org/licenses/LICENSE-2.0
    +#
    +# Unless required by applicable law or agreed to in writing, software
    +# distributed under the License is distributed on an "AS IS" BASIS,
    +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +# See the License for the specific language governing permissions and
    +# limitations under the License.
    +#
    +
    +from metric_collector import MetricCollector, Runner
    +import logging, socket, string, os, re, time
    +
    +
    +class SystemMetricCollector(MetricCollector):
    +    METRIC_PREFIX = "system"
    +    METRIC_NAME_EXCLUDE = re.compile(r"[\(|\)]")
    +
    +    def run(self):
    +        self.try_exec_func(
    +            self.collect_cpu_metric,
    +            self.collect_uptime_metric,
    +            self.collect_memory_metric,
    +            self.collect_loadavg_metric,
    +            self.collect_ipmi_cpu_temp,
    +            self.collect_nic_metric,
    +            self.collect_smartdisk_metric,
    +            self.collect_diskstat_metric
    +        )
    +
    +    def try_exec_func(self, *funcs):
    +        for func in funcs:
    +            try:
    +                logging.info("Executing: %s", func.__name__)
    +                func()
    +            except Exception as e:
    +                logging.warn("Failed to execute: %s", func.__name__)
    +                logging.exception(e)
    +
    +    # ====================================
    +    # CPU Usage
    +    # ====================================
    +
    +    def collect_cpu_metric(self):
    +        cpu_metric = self.new_metric()
    +        cpu_info = os.popen('cat /proc/stat').readlines()
    +        demension = ["cpu", "user", "nice", "system", "idle", "wait", "irq", "softirq",
"steal", "guest"]
    +
    +        total_cpu = 0
    +        total_cpu_usage = 0
    +        cpu_stat_pre = None
    +
    +        data_dir = "/tmp/eagle_cpu_stat_previous"
    --- End diff --
    
    can we make this configurable ?


> System metric collector python script
> -------------------------------------
>
>                 Key: EAGLE-849
>                 URL: https://issues.apache.org/jira/browse/EAGLE-849
>             Project: Eagle
>          Issue Type: Improvement
>          Components: System Metric Monitor
>    Affects Versions: v0.5.0
>            Reporter: Hao Chen
>            Assignee: Hao Chen
>             Fix For: v0.5.0
>
>
> Refactor System metric collector python script following similar framework as existing
jmx metric collector.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message