Esempio n. 1
0
 def setUp(self):
     super(DbTestCase, self).setUp()
     db_path = os.path.join(self.get_temp_dir(), 'DbTestCase.sqlite')
     self._db_connection_provider = (lambda: db.Connection(
         sqlite3.connect(db_path, isolation_level=None)))
     with contextlib.closing(self.connect()) as db_conn:
         schema = db.Schema(db_conn)
         schema.create_tables()
         schema.create_indexes()
Esempio n. 2
0
 def setUp(self):
   super(DbTestCase, self).setUp()
   db_path = os.path.join(self.get_temp_dir(), 'DbTestCase.sqlite')
   self._db_connection_provider = lambda: sqlite3.connect(db_path)
   with contextlib.closing(self._db_connection_provider()) as conn:
     with conn:
       schema = db.Schema(conn)
       schema.create_tables()
       schema.create_indexes()
Esempio n. 3
0
def standard_tensorboard_wsgi(logdir,
                              purge_orphaned_data,
                              reload_interval,
                              plugins,
                              db_uri="",
                              assets_zip_provider=None,
                              path_prefix="",
                              window_title=""):
    """Construct a TensorBoardWSGIApp with standard plugins and multiplexer.

  Args:
    logdir: The path to the directory containing events files.
    purge_orphaned_data: Whether to purge orphaned data.
    reload_interval: The interval at which the backend reloads more data in
        seconds.
    plugins: A list of constructor functions for TBPlugin subclasses.
    path_prefix: A prefix of the path when app isn't served from root.
    db_uri: A String containing the URI of the SQL database for persisting
        data, or empty for memory-only mode.
    assets_zip_provider: See TBContext documentation for more information.
        If this value is not specified, this function will attempt to load
        the `tensorboard.default` module to use the default. This behavior
        might be removed in the future.
    window_title: A string specifying the the window title.

  Returns:
    The new TensorBoard WSGI application.
  """
    if assets_zip_provider is None:
        from tensorboard import default
        assets_zip_provider = default.get_assets_zip_provider()
    multiplexer = event_multiplexer.EventMultiplexer(
        size_guidance=DEFAULT_SIZE_GUIDANCE,
        tensor_size_guidance=DEFAULT_TENSOR_SIZE_GUIDANCE,
        purge_orphaned_data=purge_orphaned_data)
    db_module, db_connection_provider = get_database_info(db_uri)
    if db_connection_provider is not None:
        with contextlib.closing(db_connection_provider()) as db_conn:
            schema = db.Schema(db_conn)
            schema.create_tables()
            schema.create_indexes()
    plugin_name_to_instance = {}
    context = base_plugin.TBContext(
        db_module=db_module,
        db_connection_provider=db_connection_provider,
        db_uri=db_uri,
        logdir=logdir,
        multiplexer=multiplexer,
        assets_zip_provider=assets_zip_provider,
        plugin_name_to_instance=plugin_name_to_instance,
        window_title=window_title)
    plugin_instances = [constructor(context) for constructor in plugins]
    for plugin_instance in plugin_instances:
        plugin_name_to_instance[plugin_instance.plugin_name] = plugin_instance
    return TensorBoardWSGIApp(logdir, plugin_instances, multiplexer,
                              reload_interval, path_prefix)
Esempio n. 4
0
    def connect_db(self):
        """Establishes a PEP 249 DB connection.

    :rtype: db.Connection
    """
        if self._db_connection_provider is None:
            db_path = os.path.join(self.get_temp_dir(), 'TestCase.sqlite')
            self._db_connection_provider = (lambda: db.Connection(
                sqlite3.connect(db_path, isolation_level=None)))
            with contextlib.closing(self._db_connection_provider()) as db_conn:
                schema = db.Schema(db_conn)
                schema.create_tables()
                schema.create_indexes()
        return self._db_connection_provider()
Esempio n. 5
0
 def startDbBasedServer(self, temp_dir):
     self.db_uri = 'sqlite:' + os.path.join(temp_dir, 'db.sqlite')
     db_module, db_connection_provider = application.get_database_info(
         self.db_uri)
     if db_connection_provider is not None:
         with contextlib.closing(db_connection_provider()) as db_conn:
             schema = db.Schema(db_conn)
             schema.create_tables()
             schema.create_indexes()
     context = base_plugin.TBContext(
         assets_zip_provider=get_test_assets_zip_provider(),
         db_module=db_module,
         db_connection_provider=db_connection_provider,
         db_uri=self.db_uri,
         window_title='title foo')
     self.db_based_plugin = core_plugin.CorePlugin(context)
     app = application.TensorBoardWSGI([self.db_based_plugin])
     self.db_based_server = werkzeug_test.Client(app, wrappers.BaseResponse)
Esempio n. 6
0
def standard_tensorboard_wsgi(logdir,
                              purge_orphaned_data,
                              reload_interval,
                              plugins,
                              db_uri="",
                              assets_zip_provider=None,
                              path_prefix=""):
    """Construct a TensorBoardWSGIApp with standard plugins and multiplexer.

  Args:
    logdir: The path to the directory containing events files.
    purge_orphaned_data: Whether to purge orphaned data.
    reload_interval: The interval at which the backend reloads more data in
        seconds.
    plugins: A list of constructor functions for TBPlugin subclasses.
    path_prefix: A prefix of the path when app isn't served from root.
    db_uri: A String containing the URI of the SQL database for persisting
        data, or empty for memory-only mode.
    assets_zip_provider: Delegates to TBContext or uses default if None.

  Returns:
    The new TensorBoard WSGI application.
  """
    multiplexer = event_multiplexer.EventMultiplexer(
        size_guidance=DEFAULT_SIZE_GUIDANCE,
        tensor_size_guidance=DEFAULT_TENSOR_SIZE_GUIDANCE,
        purge_orphaned_data=purge_orphaned_data)
    db_module, db_connection_provider = get_database_info(db_uri)
    if db_connection_provider is not None:
        with contextlib.closing(db_connection_provider()) as db_conn:
            schema = db.Schema(db_conn)
            schema.create_tables()
            schema.create_indexes()
    context = base_plugin.TBContext(
        db_module=db_module,
        db_connection_provider=db_connection_provider,
        logdir=logdir,
        multiplexer=multiplexer,
        assets_zip_provider=(assets_zip_provider
                             or get_default_assets_zip_provider()))
    plugins = [constructor(context) for constructor in plugins]
    return TensorBoardWSGIApp(logdir, plugins, multiplexer, reload_interval,
                              path_prefix)