Best Python code snippet using localstack_python
collector.py
Source:collector.py  
...94            to the common endpoint95        :type merge_payloads: boolean96        """97        statuses = []98        def _emit_payload(payload, endpoint):99            """ Send the payload via the emitters. """100            statuses = []101            for emitter in emitters:102                # Don't try to send to an emitter if we're stopping/103                if not continue_running:104                    return statuses105                name = emitter.__name__106                emitter_status = EmitterStatus(name)107                try:108                    emitter(payload, log, config, endpoint)109                except Exception, e:110                    log.exception("Error running emitter: %s"111                                  % emitter.__name__)112                    emitter_status = EmitterStatus(name, e)113                statuses.append(emitter_status)114            return statuses115        if merge_payloads:116            statuses.extend(_emit_payload(self.payload, self.COMMON_ENDPOINT))117        else:118            statuses.extend(_emit_payload(self.data_payload, self.DATA_ENDPOINT))119            statuses.extend(_emit_payload(self.meta_payload, self.METADATA_ENDPOINT))120        return statuses121class Collector(object):122    """123    The collector is responsible for collecting data from each check and124    passing it along to the emitters, who send it to their final destination.125    """126    def __init__(self, agentConfig, emitters, systemStats, hostname):127        self.emit_duration = None128        self.agentConfig = agentConfig129        self.hostname = hostname130        # system stats is generated by config.get_system_stats131        self.agentConfig['system_stats'] = systemStats132        # agent config is used during checks, system_stats can be accessed through the config133        self.os = get_os()...service_request_aggregator.py
Source:service_request_aggregator.py  
...78            try:79                if len(self.counter) == 0:80                    return81                analytics_payload = self._create_analytics_payload()82                self._emit_payload(analytics_payload)83                self.counter.clear()84            finally:85                self._period_start_time = datetime.datetime.utcnow()86    def _create_analytics_payload(self):87        return {88            "period_start_time": self._period_start_time.isoformat() + "Z",89            "period_end_time": datetime.datetime.utcnow().isoformat() + "Z",90            "api_calls": self._aggregate_api_calls(self.counter),91        }92    def _aggregate_api_calls(self, counter) -> List:93        aggregations = []94        for api_call_info, count in counter.items():95            doc = api_call_info._asdict()96            for field in OPTIONAL_FIELDS:97                if doc.get(field) is None:98                    del doc[field]99            doc["count"] = count100            aggregations.append(doc)101        return aggregations102    def _emit_payload(self, analytics_payload: Dict):...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
