Skip to content

Conversation

@wchargin
Copy link
Contributor

@wchargin wchargin commented Mar 23, 2020

Summary:
Until now, context.data_provider was provided unless generic_data
was explicitly set to false. Now, it’s provided in all cases (except
the legacy DB modes). This was always expected to be safe, and has been
live by default since TensorBoard 1.15.0.

This is needed to write plugins that unconditionally assume that a data
provider is available.

A consequence of this is that is_active’s use of the experimental
list_plugins method is now always on as well. This has been on by
default for two months, but was first released in TensorBoard 2.2.0
(just released), so it’s slightly riskier, but also expected to be safe.

Test Plan:
Run TensorBoard with --generic_data false. If pointing at an empty
logdir, no plugins are shown as active. If pointing at a full plugin,
all appropriate plugins are shown as active. The debugger plugin is
still marked as active if --debugger_port is specified and as inactive
if no relevant flags are given, so the fallback is_active calls are
still working.

wchargin-branch: backend-always-data-provider

Summary:
Until now, `context.data_provider` was provided unless `generic_data`
was explicitly set to `false`. Now, it’s provided in all cases (except
the legacy DB modes). This was always expected to be safe, and has been
live by default since TensorBoard 1.15.0.

This is needed to write plugins that unconditionally assume that a data
provider is available.

A consequence of this is that `is_active`’s use of the experimental
`list_plugins` method is now always on as well. This has been on by
default for two months, but not yet in any release (other than the
upcoming TensorBoard 2.2.0), so it’s slightly riskier, but it’s also
expected to be safe.

Test Plan:
Run TensorBoard with `--generic_data false`. If pointing at an empty
logdir, no plugins are shown as active. If pointing at a full plugin,
all appropriate plugins are shown as active. The debugger plugin is
still marked as active if `--debugger_port` is specified and as inactive
if no relevant flags are given, so the fallback `is_active` calls are
still working.

wchargin-branch: backend-always-data-provider
Copy link
Contributor

@nfelt nfelt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we just remove the false option to --generic_data at this point? Or at least update the flag description? It currently says Whether to use generic data provider infrastructure but at this point it's more like:

Controls whether plugins should read from the generic data provider infrastructure, if they support both that and the legacy multiplexer API. Some plugins may have only the former or only the latter, in which case they are not affected by this flag. The "auto" option enables this only for plugins that are considered to have stable support for generic data providers.

wchargin-branch: backend-always-data-provider
wchargin-source: f3791f9dab87dc891530b8c74e8d89c83f4b3213
wchargin-branch: backend-always-data-provider
wchargin-source: f3791f9dab87dc891530b8c74e8d89c83f4b3213
@wchargin
Copy link
Contributor Author

Good point; updated the description. I’m also open to removing it
entirely and fast-promoting the other plugins to stable.

Copy link
Contributor

@nfelt nfelt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, description LGTM. It's still at least theoretically useful for a few plugins for now so IMO no rush to remove it entirely.

wchargin-branch: backend-always-data-provider
wchargin-source: f3791f9dab87dc891530b8c74e8d89c83f4b3213
@wchargin wchargin merged commit 407a202 into master Mar 25, 2020
@wchargin wchargin deleted the wchargin-backend-always-data-provider branch March 25, 2020 22:59
@wchargin
Copy link
Contributor Author

Also, the graphs dashboard is still not at parity (only shows run-level
graphs), so I don’t think that we want to flip it yet.

bileschi pushed a commit to bileschi/tensorboard that referenced this pull request Apr 15, 2020
Summary:
Until now, `context.data_provider` was provided unless `generic_data`
was explicitly set to `false`. Now, it’s provided in all cases (except
the legacy DB modes). This was always expected to be safe, and has been
live by default since TensorBoard 1.15.0.

This is needed to write plugins that unconditionally assume that a data
provider is available.

A consequence of this is that `is_active`’s use of the experimental
`list_plugins` method is now always on as well. This has been on by
default for two months, but was first released in TensorBoard 2.2.0
(just released), so it’s slightly riskier, but also expected to be safe.

Test Plan:
Run TensorBoard with `--generic_data false`. If pointing at an empty
logdir, no plugins are shown as active. If pointing at a full plugin,
all appropriate plugins are shown as active. The debugger plugin is
still marked as active if `--debugger_port` is specified and as inactive
if no relevant flags are given, so the fallback `is_active` calls are
still working.

wchargin-branch: backend-always-data-provider
bileschi pushed a commit that referenced this pull request Apr 15, 2020
Summary:
Until now, `context.data_provider` was provided unless `generic_data`
was explicitly set to `false`. Now, it’s provided in all cases (except
the legacy DB modes). This was always expected to be safe, and has been
live by default since TensorBoard 1.15.0.

This is needed to write plugins that unconditionally assume that a data
provider is available.

A consequence of this is that `is_active`’s use of the experimental
`list_plugins` method is now always on as well. This has been on by
default for two months, but was first released in TensorBoard 2.2.0
(just released), so it’s slightly riskier, but also expected to be safe.

Test Plan:
Run TensorBoard with `--generic_data false`. If pointing at an empty
logdir, no plugins are shown as active. If pointing at a full plugin,
all appropriate plugins are shown as active. The debugger plugin is
still marked as active if `--debugger_port` is specified and as inactive
if no relevant flags are given, so the fallback `is_active` calls are
still working.

wchargin-branch: backend-always-data-provider
@wchargin
Copy link
Contributor Author

(In hindsight, maybe prefer/avoid/auto would have been better
names than true/false/auto. Ah, well.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants