def TensorBoardWSGIApp(logdir, plugins, multiplexer, reload_interval, using_db, path_prefix=""): path_to_run = application.parse_event_files_spec(logdir) if reload_interval >= 0: thread = start_reloading_multiplexer( multiplexer, path_to_run, reload_interval) else: application.reload_multiplexer(multiplexer, path_to_run) thread = None tb_app = application.TensorBoardWSGI(plugins, using_db, path_prefix) manager.add_instance(logdir, tb_app, thread) return tb_app
def TensorBoardWSGIApp(logdir, plugins, multiplexer, reload_interval, path_prefix="", reload_task='auto'): thread = None path_to_run = application.parse_event_files_spec(logdir) if reload_interval >= 0: thread = start_reloading_multiplexer(multiplexer, path_to_run, reload_interval) tb_app = application.TensorBoardWSGI(plugins) manager.add_instance(logdir, tb_app, thread) return tb_app
def assertPlatformSpecificLogdirParsing(self, pathObj, logdir, expected): """A custom assertion to test :func:`parse_event_files_spec` under various systems. Args: pathObj: a custom replacement object for `os.path`, typically `posixpath` or `ntpath` logdir: the string to be parsed by :func:`~application.parse_event_files_spec` expected: the expected dictionary as returned by :func:`~application.parse_event_files_spec` """ with mock.patch("os.path", pathObj): self.assertEqual(application.parse_event_files_spec(logdir), expected)
def MyTensorBoardWSGIApp(logdir, plugins, multiplexer, reload_interval, path_prefix=''): if reload_interval <= 0: raise ValueError('load_interval is negative or zero: %d' % load_interval) path_to_run = application.parse_event_files_spec(logdir) thread = my_start_reloading_multiplexer(multiplexer, path_to_run, reload_interval) app = application.TensorBoardWSGI(plugins, path_prefix) app.multiplexer_thread = thread return app
def assertPlatformSpecificLogdirParsing(self, pathObj, logdir, expected): """ A custom assertion to test :func:`parse_event_files_spec` under various systems. Args: pathObj: a custom replacement object for `os.path`, typically `posixpath` or `ntpath` logdir: the string to be parsed by :func:`~application.TensorBoardWSGIApp.parse_event_files_spec` expected: the expected dictionary as returned by :func:`~application.TensorBoardWSGIApp.parse_event_files_spec` """ with mock.patch('os.path', pathObj): self.assertEqual(application.parse_event_files_spec(logdir), expected)
def TensorBoardWSGIApp_2x( flags, plugins, data_provider=None, assets_zip_provider=None, deprecated_multiplexer=None): logdir = flags.logdir multiplexer = deprecated_multiplexer reload_interval = flags.reload_interval path_to_run = application.parse_event_files_spec(logdir) if reload_interval: thread = start_reloading_multiplexer( multiplexer, path_to_run, reload_interval) else: application.reload_multiplexer(multiplexer, path_to_run) thread = None db_uri = None db_connection_provider = None plugin_name_to_instance = {} from tensorboard.plugins import base_plugin context = base_plugin.TBContext( data_provider=data_provider, db_connection_provider=db_connection_provider, db_uri=db_uri, flags=flags, logdir=flags.logdir, multiplexer=deprecated_multiplexer, assets_zip_provider=assets_zip_provider, plugin_name_to_instance=plugin_name_to_instance, window_title=flags.window_title) tbplugins = [] for loader in plugins: plugin = loader.load(context) if plugin is None: continue tbplugins.append(plugin) plugin_name_to_instance[plugin.plugin_name] = plugin tb_app = application.TensorBoardWSGI(tbplugins) manager.add_instance(logdir, tb_app, thread) return tb_app
def testAbsolutifies(self): logdir = 'lol/cat' expected = {os.path.realpath('lol/cat'): None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testNormalizesPaths(self): logdir = '/lol/.//cat/../cat' expected = {'/lol/cat': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testMultipleDirectories(self): logdir = '/a,/b' expected = {'/a': None, '/b': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testPathWithColonThatComesAfterASlash_isNotConsideredARunName(self): logdir = '/lol:/cat' expected = {'/lol:/cat': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testRunName(self): logdir = 'lol:/cat' expected = {'/cat': 'lol'} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testAbsolutifies(self): logdir = 'lol/cat' expected = {os.path.realpath('lol/cat'): None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testDoesNotNormalizeGCSPath(self): logdir = 'gs://foo/./path//..' expected = {'gs://foo/./path//..': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testMultipleDirectories(self): logdir = '/a,/b' expected = {'/a': None, '/b': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testRunNameWithGCSPath(self): logdir = 'lol:gs://foo/path' expected = {'gs://foo/path': 'lol'} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testDoesNotNormalizeGCSPath(self): logdir = 'gs://foo/./path//..' expected = {'gs://foo/./path//..': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testDoesNotExpandUserInGCSPath(self): logdir = 'gs://~/foo/path' expected = {'gs://~/foo/path': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testRespectsHDFSPath(self): logdir = 'hdfs://foo/path' expected = {'hdfs://foo/path': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testRespectsHDFSPath(self): logdir = 'hdfs://foo/path' expected = {'hdfs://foo/path': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testPathWithColonThatComesAfterASlash_isNotConsideredARunName(self): logdir = '/lol:/cat' expected = {'/lol:/cat': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testDoesNotExpandUserInGCSPath(self): logdir = 'gs://~/foo/path' expected = {'gs://~/foo/path': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testRunName(self): logdir = 'lol:/cat' expected = {'/cat': 'lol'} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testRunNameWithGCSPath(self): logdir = 'lol:gs://foo/path' expected = {'gs://foo/path': 'lol'} self.assertEqual(application.parse_event_files_spec(logdir), expected)
def testNormalizesPaths(self): logdir = '/lol/.//cat/../cat' expected = {'/lol/cat': None} self.assertEqual(application.parse_event_files_spec(logdir), expected)