Пример #1
0
    def metrics(self):
        records = {}

        # Grab the active connections.
        active_connections = connection_count()
        stale_active = []
        locked_ips = self._list_ips() or []

        for connection_list in self.tracked.values():

            for (ip, port) in connection_list:
                active = active_connections.get((ip, port), 0)
                records[ip] = { "active" : (1, active) }

                if active:
                    # Record this server as active.
                    self.active[ip] = True
                elif not(active) and (self.active.has_key(ip) or ip in locked_ips):
                    # Record this server as stale.
                    if self.active.has_key(ip):
                        del self.active[ip]
                    stale_active.append(ip)

        # Remove old active connections, and potentially
        # kill off servers that were once active and are
        # now not active.
        if self.config.kill():
            self._scale_manager.unregister_ip(stale_active)
        elif self.config.exclusive():
            for ip in stale_active:
                self._forget_ip(ip)
            self.consumer.flush()

        return records
Пример #2
0
    def metrics(self):
        # Grab the log records.
        records = self.log_reader.pull()

        # Grab the active connections.
        active_connections = connection_count()

        for connection_list in self.tracked.values():
            for (ip, port) in connection_list:
                active = active_connections.get((ip, port), 0)
                if not(ip in records):
                    records[ip] = {}
                records[ip]["active"] = (1, active)

        return records
Пример #3
0
    def metrics(self):
        # Grab the log records.
        records = self.log_reader.pull()

        # Grab the active connections.
        active_connections = connection_count()

        for connection_list in self.tracked.values():
            for (ip, port) in connection_list:
                active = active_connections.get((ip, port), 0)

                # Save an additional record.
                hostinfo = "%s:%d" % (ip, port)
                if not(hostinfo in records):
                    records[hostinfo] = []
                records[hostinfo].append({ "active": (1, active) })

        return records
Пример #4
0
    def metrics(self):
        # Grab the log records.
        records = self.log_reader.pull()

        # Grab the active connections.
        active_connections = connection_count()

        for connection_list in self.tracked.values():
            for (ip, port) in connection_list:
                active = active_connections.get((ip, port), 0)

                # Save an additional record.
                hostinfo = "%s:%d" % (ip, port)
                if not (hostinfo in records):
                    records[hostinfo] = []
                records[hostinfo].append({"active": (1, active)})

        return records