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
Пример #3
0
    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)
Пример #4
0
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
Пример #5
0
  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)
Пример #6
0
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
Пример #7
0
 def testAbsolutifies(self):
     logdir = 'lol/cat'
     expected = {os.path.realpath('lol/cat'): None}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #8
0
 def testNormalizesPaths(self):
     logdir = '/lol/.//cat/../cat'
     expected = {'/lol/cat': None}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #9
0
 def testMultipleDirectories(self):
     logdir = '/a,/b'
     expected = {'/a': None, '/b': None}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #10
0
 def testPathWithColonThatComesAfterASlash_isNotConsideredARunName(self):
     logdir = '/lol:/cat'
     expected = {'/lol:/cat': None}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #11
0
 def testRunName(self):
     logdir = 'lol:/cat'
     expected = {'/cat': 'lol'}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #12
0
 def testAbsolutifies(self):
   logdir = 'lol/cat'
   expected = {os.path.realpath('lol/cat'): None}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #13
0
 def testDoesNotNormalizeGCSPath(self):
     logdir = 'gs://foo/./path//..'
     expected = {'gs://foo/./path//..': None}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #14
0
 def testMultipleDirectories(self):
   logdir = '/a,/b'
   expected = {'/a': None, '/b': None}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #15
0
 def testRunNameWithGCSPath(self):
   logdir = 'lol:gs://foo/path'
   expected = {'gs://foo/path': 'lol'}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #16
0
 def testDoesNotNormalizeGCSPath(self):
   logdir = 'gs://foo/./path//..'
   expected = {'gs://foo/./path//..': None}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #17
0
 def testDoesNotExpandUserInGCSPath(self):
   logdir = 'gs://~/foo/path'
   expected = {'gs://~/foo/path': None}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #18
0
 def testRespectsHDFSPath(self):
   logdir = 'hdfs://foo/path'
   expected = {'hdfs://foo/path': None}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #19
0
 def testRespectsHDFSPath(self):
     logdir = 'hdfs://foo/path'
     expected = {'hdfs://foo/path': None}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #20
0
 def testPathWithColonThatComesAfterASlash_isNotConsideredARunName(self):
   logdir = '/lol:/cat'
   expected = {'/lol:/cat': None}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #21
0
 def testDoesNotExpandUserInGCSPath(self):
     logdir = 'gs://~/foo/path'
     expected = {'gs://~/foo/path': None}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #22
0
 def testRunName(self):
   logdir = 'lol:/cat'
   expected = {'/cat': 'lol'}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #23
0
 def testRunNameWithGCSPath(self):
     logdir = 'lol:gs://foo/path'
     expected = {'gs://foo/path': 'lol'}
     self.assertEqual(application.parse_event_files_spec(logdir), expected)
Пример #24
0
 def testNormalizesPaths(self):
   logdir = '/lol/.//cat/../cat'
   expected = {'/lol/cat': None}
   self.assertEqual(application.parse_event_files_spec(logdir), expected)