def register_callback(self, group, cb_func): if not self._started: raise ContainerConfigError("StatsManager not started") if group not in self._stats_callbacks: raise ContainerConfigError("Unknown stats group: %s" % group) if group == "SVCREQ": # Special treatment because service gateway may be started late from ion.services.service_gateway import sg_instance if sg_instance and not sg_instance.request_callback: sg_instance.register_request_callback(self._sg_callback) cbs = self._stats_callbacks[group] if cb_func in cbs: return cbs.append(cb_func)
def _deactivate_collection(self): from ion.services.service_gateway import sg_instance if sg_instance: # This container may not run the service gateway sg_instance.register_request_callback(None) from pyon.ion.process import set_process_stats_callback set_process_stats_callback(None) from pyon.datastore.postgresql.base_store import set_db_stats_callback set_db_stats_callback(None) from pyon.net import endpoint endpoint.callback_msg_in = None endpoint.callback_msg_out = None
def _activate_collection(self): CallTracer.set_formatter("MSG.out", self._msg_trace_formatter) CallTracer.set_formatter("MSG.in", self._msg_trace_formatter) from pyon.net import endpoint endpoint.callback_msg_out = self._msg_out_callback endpoint.callback_msg_in = self._msg_in_callback from pyon.datastore.postgresql.base_store import set_db_stats_callback set_db_stats_callback(self._db_callback) from ion.services.service_gateway import sg_instance if sg_instance: # This container may not run the service gateway sg_instance.register_request_callback(self._sg_callback) from pyon.ion.process import set_process_stats_callback set_process_stats_callback(self._proc_callback)