Skip to content

Conversation

@rileyajones
Copy link
Contributor

@rileyajones rileyajones commented May 10, 2023

Motivation for features / changes

As part of the effort to bring hparams data to the time series dashboard we are expanding the hparams filtering functionality in the runs table to effect the runs being shown in rest of the dashboard

Now that #6366 is merged, the rest of the dashboard can now access the list of runs with respect for any hparam filters a user has applied.

Screenshots of UI changes (or N/A)

No Filters
image

Several HParam Filters Applied
image

Regex and HParam Filter Applied
image

Only a Regex Filter Applied
image

All Runs Selected
image

1 Run Deselected
image

Detailed steps to verify changes work correctly (as executed by you)

  1. Start tensorboard with a logdir which contains hparam data
  2. Navigate to http://localhost:6006?enableHparamsInTimeSeries
  3. Filter the runs table by regex and ensure scalar cards reflect this
  4. Unselect some runs and ensure scalar cards reflect this
  5. Filter the runs table by an hparam and ensure scalar cards reflect this.

@rileyajones rileyajones force-pushed the scalar-card-common-selectors branch 2 times, most recently from f04ca97 to 0630796 Compare May 10, 2023 20:35
@rileyajones rileyajones force-pushed the scalar-card-common-selectors branch from 0630796 to 5f059ee Compare May 10, 2023 21:15
@rileyajones rileyajones marked this pull request as ready for review May 10, 2023 22:15
@rileyajones rileyajones requested a review from JamesHollyer May 10, 2023 22:16
getMetricsCardRangeSelectionEnabled,
getRun,
getRunColorMap,
getCurrentRouteRunSelection,
Copy link
Contributor

Choose a reason for hiding this comment

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

Why did this get moved?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I removed it and reimported it and expected prettier to put it in the same place 🤷
Something definitely seems off with prettier lately

}
);

export const factories = {
Copy link
Contributor

Choose a reason for hiding this comment

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

AFAICT this is only used in tests. Why is it not in the TEST_ONLY section?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In order for the tests to work properly they need to spyOn the same object as the is being used by the code they are testing. There are a few oddities when it comes to testing selector factories, I want to add some additional utilities to help with that in the future

initialState: appStateFromMetricsState(buildMetricsState()),
}),
],
providers: [provideMockTbStore()],
Copy link
Contributor

Choose a reason for hiding this comment

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

👍

end: null,
});
store.refreshState();
tick();
Copy link
Contributor

Choose a reason for hiding this comment

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

👎. I am not completely sure why all of these are needed. But I am assuming they are.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't like this either, it does only add ~2ms to the test runtime, but it feels janky. It has something to do with the underlying selector needing to be recreated. I have an idea on how to solve this sort of issue, but I'd like to handle that in a separate PR

selectors.getCurrentRouteRunSelection,
new Map([['run1', true]])
);
store.overrideSelector(
Copy link
Contributor

Choose a reason for hiding this comment

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

I wish these could all go in to before each sections. However, I understand that the run is set here and it does make sense to do this after that.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I definitely thought about it, but as you suspected I wanted it to mirror the run selection override.

@rileyajones rileyajones merged commit 426335f into tensorflow:master May 12, 2023
rileyajones added a commit that referenced this pull request May 22, 2023
…nTimeSeries` is `true` (#6399)

## Motivation for features / changes
We have been discovering issues with the way the hparam domains are
defined. This has lead to issues due to #6377 causing scalar cards to
appear empty when one of these issues occurs. I attempted to fix this in
#6393 but missed the situation where a string type hparam with more than
10 values returns an empty domain (Googlers see tb/3183400180427144287
for an example).

I am moving the new filtering logic added in by #6377 behind a flag
while we fix this issue on the backend.

## Screenshots of UI changes (or N/A)
Screenshots for Googlers only

Before: https://screenshot.googleplex.com/AELb2oHqhxa8UNF

After:
Feature Flag Enabled: https://screenshot.googleplex.com/AcPxsbNNXSSFGx9
Feature Flag Disabled: https://screenshot.googleplex.com/3aEXpfHrGZdzYgZ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants