Skip to content

Conversation

@caisq
Copy link
Contributor

@caisq caisq commented Apr 12, 2020

  • Motivation for features / changes
    • Continue developing DebuggerV2 plugin, specifically the part that focuses on intra-graph execution.
  • Technical description of changes
    • debugger_types: add graphExecutions field to DebuggerState
    • tfdbg2_data_source.ts: add fetchGraphExecutionDigests() and fetchGraphExecutionData()
    • debugger_actions.ts: add action for requesting # of graph executions and action that signifies the successful loading of the # of graph executions
    • debugger_reducers.ts: add reducers for the said actions and states
    • views/graph_executions folder: add component and container for visualizing graph executions. Currently only the number of graph executions is shown. Follow-up PRs will add a virtual scroll element that shows the graph execution digests.
    • Update the CSS and layout in the top-section of DebuggerV2 Plugin to accommodate the new GraphExecutionContainer.
  • Screenshots of UI changes
    • image
  • Detailed steps to verify changes work correctly (as executed by you)
    • Unit tests added
    • Running the DebuggerV2 plugin against a logdir with real tfdbg2 dump data

@caisq caisq marked this pull request as ready for review April 12, 2020 19:08
@caisq caisq requested a review from stephanwlee April 13, 2020 12:56
Copy link
Contributor

@stephanwlee stephanwlee left a comment

Choose a reason for hiding this comment

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

Can you tell us why we need to make a separate RPC for just one number? Can we fetch all metadata about debugging information with one endpoint instead? Does that cause our database implementations to scan more than we'd like?

/**
* Base interface shared between top-level and intra-graph executions.
*
* Supports paged lazy loading of digess (i.e., concise data objects
Copy link
Contributor

Choose a reason for hiding this comment

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

s/digess/digest

Supports paged lazy loading of digest doesn't read nicely properly in my head. It may be just me.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed the typo and tweaked the wording here for clarification.

Copy link
Contributor Author

@caisq caisq left a comment

Choose a reason for hiding this comment

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

Thanks for the review!

/**
* Base interface shared between top-level and intra-graph executions.
*
* Supports paged lazy loading of digess (i.e., concise data objects
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed the typo and tweaked the wording here for clarification.

@caisq
Copy link
Contributor Author

caisq commented Apr 15, 2020

@stephanwlee about the question of why separate RPCs for single numbers. Yes, there are three two such rpcs currently:

  • /executions/digests for the number of top-level (eager) executions
  • /graph_execution/digests for the number of intra-graph executions.

Theoretically, they can be grouped into a single rpc call. But the argument for not combining them include:

  1. It's nice to have a conceptual separation between the two. They do use different tags at the DataProvider level.
  2. There won't be more of them. It's not like there is a third or fourth type of execution. So there won't be too much concern about a proliferation of such things in the future.

@caisq caisq merged commit 76a24c8 into tensorflow:master Apr 15, 2020
@caisq caisq deleted the dbg2-graph-exec-1a branch April 15, 2020 21:55
caisq added a commit to caisq/tensorboard that referenced this pull request May 19, 2020
tensorflow#3506)

* Motivation for features / changes
  * Continue developing DebuggerV2 plugin, specifically the part that focuses on intra-graph execution.
* Technical description of changes
  * debugger_types: add `graphExecutions` field to `DebuggerState`
  * tfdbg2_data_source.ts: add `fetchGraphExecutionDigests()` and `fetchGraphExecutionData()`
  * debugger_actions.ts: add action for requesting # of graph executions and action that signifies the successful loading of the # of graph executions
  * debugger_reducers.ts: add reducers for the said actions and states
  * views/graph_executions folder: add component and container for visualizing graph executions. Currently only the number of graph executions is shown. Follow-up PRs will add a virtual scroll element that shows the graph execution digests.
  * Update the CSS and layout in the top-section of DebuggerV2 Plugin to accommodate the new `GraphExecutionContainer`.
* Screenshots of UI changes
  * ![image](https://user-images.githubusercontent.com/16824702/79076659-ecb86680-7cc9-11ea-895b-2a4fa6089ad2.png)
* Detailed steps to verify changes work correctly (as executed by you)
  * Unit tests added
  * Running the DebuggerV2 plugin against a logdir with real tfdbg2 dump data
caisq added a commit that referenced this pull request May 27, 2020
#3506)

* Motivation for features / changes
  * Continue developing DebuggerV2 plugin, specifically the part that focuses on intra-graph execution.
* Technical description of changes
  * debugger_types: add `graphExecutions` field to `DebuggerState`
  * tfdbg2_data_source.ts: add `fetchGraphExecutionDigests()` and `fetchGraphExecutionData()`
  * debugger_actions.ts: add action for requesting # of graph executions and action that signifies the successful loading of the # of graph executions
  * debugger_reducers.ts: add reducers for the said actions and states
  * views/graph_executions folder: add component and container for visualizing graph executions. Currently only the number of graph executions is shown. Follow-up PRs will add a virtual scroll element that shows the graph execution digests.
  * Update the CSS and layout in the top-section of DebuggerV2 Plugin to accommodate the new `GraphExecutionContainer`.
* Screenshots of UI changes
  * ![image](https://user-images.githubusercontent.com/16824702/79076659-ecb86680-7cc9-11ea-895b-2a4fa6089ad2.png)
* Detailed steps to verify changes work correctly (as executed by you)
  * Unit tests added
  * Running the DebuggerV2 plugin against a logdir with real tfdbg2 dump data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants