def __init__(self, metrics_export_address, metrics_export_port): assert metrics_export_port is not None # OpenCensus classes. self.view_manager = stats_module.stats.view_manager self.stats_recorder = stats_module.stats.stats_recorder # Port where we will expose metrics. self.metrics_export_port = metrics_export_port # Lock required because gRPC server uses # multiple threads to process requests. self._lock = threading.Lock() # Configure exporter. (We currently only support prometheus). try: stats_exporter = prometheus_exporter.new_stats_exporter( prometheus_exporter.Options( namespace="ray", port=metrics_export_port, address=metrics_export_address, )) except Exception: # TODO(SongGuyang): Catch the exception here because there is # port conflict issue which brought from static port. We should # remove this after we find better port resolution. logger.exception( "Failed to start prometheus stats exporter. Agent will stay " "alive but disable the stats.") self.view_manager = None else: self.view_manager.register_exporter(stats_exporter)
def __init__(self, metrics_export_port): assert metrics_export_port is not None # OpenCensus classes. self.view_manager = stats_module.stats.view_manager self.stats_recorder = stats_module.stats.stats_recorder # Port where we will expose metrics. self.metrics_export_port = metrics_export_port # Lock required because gRPC server uses # multiple threads to process requests. self._lock = threading.Lock() # Configure exporter. (We currently only support prometheus). self.view_manager.register_exporter( prometheus_exporter.new_stats_exporter( prometheus_exporter.Options(namespace="ray", port=metrics_export_port)))