Beispiel #1
0
    def __init__(self):
        """Create a new GRRClientWorker."""
        super(GRRClientWorker, self).__init__()

        # Queue of messages from the server to be processed.
        self._in_queue = []

        # Queue of messages to be sent to the server.
        self._out_queue = []

        # A tally of the total byte count of messages
        self._out_queue_size = 0

        self._is_active = False

        # Last time when we've sent stats back to the server.
        self.last_stats_sent_time = 0

        self.proc = psutil.Process(os.getpid())

        # Use this to control the nanny transaction log.
        self.nanny_controller = client_utils.NannyController()
        self.nanny_controller.StartNanny()
        if not GRRClientWorker.stats_collector:
            GRRClientWorker.stats_collector = client_stats.ClientStatsCollector(
                self)
            GRRClientWorker.stats_collector.start()

        self.lock = threading.RLock()
Beispiel #2
0
    def __init__(self):
        """Create a new GRRClientWorker."""
        super(GRRClientWorker, self).__init__()

        # Queue of messages from the server to be processed.
        self._in_queue = []

        # Queue of messages to be sent to the server.
        self._out_queue = []

        # A tally of the total byte count of messages
        self._out_queue_size = 0

        self._is_active = False

        # If True, ClientStats will be forcibly sent to server during next
        # CheckStats() call, if less than STATS_MIN_SEND_INTERVAL time has passed
        # since last stats notification was sent.
        self._send_stats_on_check = False

        # Last time when we've sent stats back to the server.
        self.last_stats_sent_time = None

        self.proc = psutil.Process(os.getpid())

        # We store suspended actions in this dict. We can retrieve the suspended
        # client action from here if needed.
        self.suspended_actions = {}

        # Use this to control the nanny transaction log.
        self.nanny_controller = client_utils.NannyController()
        self.nanny_controller.StartNanny()
        if not GRRClientWorker.stats_collector:
            GRRClientWorker.stats_collector = client_stats.ClientStatsCollector(
                self)
            GRRClientWorker.stats_collector.start()

        self.lock = threading.RLock()
Beispiel #3
0
 def __init__(self):
   self.responses = []
   self.sent_bytes_per_flow = {}
   self.lock = threading.RLock()
   self.stats_collector = client_stats.ClientStatsCollector(self)
Beispiel #4
0
 def __init__(self, *args, **kw):
   super(FakeMixin, self).__init__(*args, **kw)
   self.responses = []
   self.sent_bytes_per_flow = {}
   self.lock = threading.RLock()
   self.stats_collector = client_stats.ClientStatsCollector(self)