Skip to content

Conversation

@goodwillpunning
Copy link
Contributor

@goodwillpunning goodwillpunning commented Sep 8, 2025

Changes

What does this PR do?

  • Adds initial implementation for uploading an AI/BI Dashboard to a "local" Databricks workspace that summarizes the a profiler assessment extraction run.

Relevant implementation details

  • Implemented so that other EDW profilers only need to upload a Dashboard template (JSON representation of the AI/BI dashboard).

Caveats/things to watch out for when reviewing:

  • a Databricks hostname and token are needed to perform integration tests

Linked issues

  • N/A

Functionality

  • added relevant user documentation
  • added new CLI command
  • modified existing command: databricks labs lakebridge ...
  • added skeleton classes
  • ... +add your own

Tests

  • manually tested
  • added unit tests
  • added integration tests

@goodwillpunning goodwillpunning requested a review from a team as a code owner September 8, 2025 21:44
@goodwillpunning goodwillpunning added the feat/profiler Issues related to profilers label Sep 8, 2025
@github-actions
Copy link

github-actions bot commented Sep 8, 2025

✅ 46/46 passed, 7 flaky, 3m15s total

Flaky tests:

  • 🤪 test_validate_mixed_checks (385ms)
  • 🤪 test_transpiles_informatica_to_sparksql_non_interactive[False] (12.06s)
  • 🤪 test_transpile_teradata_sql_non_interactive[True] (15.007s)
  • 🤪 test_transpiles_informatica_to_sparksql (20.144s)
  • 🤪 test_transpile_teradata_sql (5.922s)
  • 🤪 test_transpiles_informatica_to_sparksql_non_interactive[True] (8.606s)
  • 🤪 test_transpile_teradata_sql_non_interactive[False] (10.375s)

Running from acceptance #2808

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)


Copy link
Collaborator

Choose a reason for hiding this comment

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

Add a Comment to say why we are deviating from LSQL deployment, so other reviewers don't block this PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Why are we deviating from LSQL for local dashboards?

LSQL has the following limitations:

  • doesn't scale well to the many source EDWs Lakebridge will support
  • limited support for visualization types beyond table, bar chart, and counter
  • steep learning curve for future maintainers

Instead, we've adopted a dashboard template approach which can easily be mainained, easy to learn, serializable, and can be interpolated with the catalog and schema values.

def __init__(self, ws: WorkspaceClient, current_user: User, is_debug: bool = False):
self._ws = ws
self._current_user = current_user
self._dashboard_location = f"/Workspace/Users/{self._current_user}/Lakebridge/Dashboards"
Copy link
Collaborator

Choose a reason for hiding this comment

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

We should rely on the blueprint to save the file workspace. It should be inside the .lakebridge folder

@goodwillpunning goodwillpunning mentioned this pull request Oct 27, 2025
7 tasks
@codecov
Copy link

codecov bot commented Oct 29, 2025

Codecov Report

❌ Patch coverage is 38.09524% with 39 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.70%. Comparing base (3002743) to head (e56851d).

Files with missing lines Patch % Lines
...bridge/assessments/dashboards/dashboard_manager.py 36.20% 37 Missing ⚠️
...databricks/labs/lakebridge/contexts/application.py 60.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2000      +/-   ##
==========================================
- Coverage   64.92%   64.70%   -0.22%     
==========================================
  Files          96       97       +1     
  Lines        7908     7971      +63     
  Branches      822      825       +3     
==========================================
+ Hits         5134     5158      +24     
- Misses       2595     2634      +39     
  Partials      179      179              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@goodwillpunning goodwillpunning changed the title [WIP] Add Local Dashboard for Profiler Add Local Dashboard Manager for Profilers Oct 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat/profiler Issues related to profilers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants