Esempio n. 1
0
    def _register_gauges(self):
        if not _PSUTIL_ENABLED:
            _logger.warning(
                "Statistics collection is enabled, but psutil is not found. "
                "Runtime and system related metrics will not be collected.")
            return

        self._register_system_gauge(
            "os.totalPhysicalMemorySize",
            lambda: psutil.virtual_memory().total,
        )
        self._register_system_gauge(
            "os.freePhysicalMemorySize",
            lambda: psutil.virtual_memory().free,
        )
        self._register_system_gauge(
            "os.committedVirtualMemorySize",
            lambda: psutil.virtual_memory().used,
        )
        self._register_system_gauge(
            "os.totalSwapSpaceSize",
            lambda: psutil.swap_memory().total,
        )
        self._register_system_gauge(
            "os.freeSwapSpaceSize",
            lambda: psutil.swap_memory().free,
        )
        self._register_system_gauge(
            "os.systemLoadAverage",
            lambda: os.getloadavg()[0],
            ValueType.DOUBLE,
        )
        self._register_system_gauge(
            "runtime.availableProcessors",
            lambda: psutil.cpu_count(),
        )

        self._register_process_gauge(
            "runtime.usedMemory",
            lambda p: p.memory_info().rss,
        )
        self._register_process_gauge(
            "os.openFileDescriptorCount",
            lambda p: p.num_fds(),
        )
        self._register_process_gauge(
            "os.maxFileDescriptorCount",
            lambda p: p.rlimit(psutil.RLIMIT_NOFILE)[1],
        )
        self._register_process_gauge(
            "os.processCpuTime",
            lambda p: to_nanos(sum(p.cpu_times())),
        )
        self._register_process_gauge(
            "runtime.uptime",
            lambda p: to_millis(current_time() - p.create_time()),
        )
Esempio n. 2
0
 def _collect_process_cpu_time(self, psutil_stats, probe_name, process):
     return to_nanos(sum(process.cpu_times()))