Skip to main content

Release v1.0.2

Β· 7 min read
Kostromin Danil
Bublik UI Maintainer
Rybchenko Natalia
Bublik Backend Maintainer

πŸŽ‰ We are thrilled to announce Bublik v1.0.2! πŸŽ‰

This release brings mainly internal changes with some enhancements to report and measurements views.

πŸ” Key Highlights:

  • Log Preview: Easily open the log preview by clicking on a report table cell or a chart point.
  • Run Header Group Labels: Added labels for expected and unexpected results to make columns easier to understand and reduce confusion.
  • Import Performance: The speed of importing runs with streaming measurements has increased 3.5 times.
  • Measurements: All measurement results are displayed, with the format adapted to views and their specific context.

Highlights​

Report Table & Chart​

info

Press Ctrl to scroll inside table or zoom chart

Report

Report Log Preview​

Report Preview

History Preview​

History Preview

Run Header Groups​

Run Header Groups

Measurement Results​

Measurement Results

Admin Section​

tip

Before starting the update, create a database backup to ensure data safety in case of any unexpected issues during the process.

Backend Update​

Base Steps​

  1. cd bublik
  2. git remote update
  3. git checkout v1.0.2
  4. ./scripts/deploy --steps pip_requirements migrate_db django_settings run_services

Additional Steps​

tip

Since data migration can take a long time, stop side services to avoid potential disruptions or conflicts during the migration process: ./scripts/deploy --steps run_side_servers + stop. Restart them once the process is complete: ./scripts/deploy --steps run_side_servers + start.

tip

During the update, use tmux or screen to keep your session running in the background, ensuring it won’t be interrupted if the connection is lost.

  1. Activate the virtual environment: source .env/bin/activate
  2. Call the configuration reformatting command: python manage.py reformat_configs
    warning

    Configurations whose automatic formatting has failed will not be supported by Bublik. Either reformat them manually or delete.

  3. Call the database cleanup command: python manage.py cleanup_db

Frontend Update​

  1. Trigger the workflow in your frontend repository.
  2. Synchronize the mirrors.
  3. cd bublik-ui
  4. git remote update
  5. git checkout v1.0.2

Additional​

danger

It is necessary to re-import runs that was imported when Bublik was using versions v0.6.0 to v1.0.0 to avoid potential errors in statistical calculations and charts in history.

danger

Avoid reverting to earlier versions after upgrading to v1.0.*, as this could lead to irreversible data loss.

Changelog​

Frontend​

πŸš€ New Feature​

  • measurements: added endpoint and types for single measurement plot (3b8df42)
  • measurements: added new chart component (68f68c5)
  • measurements: added new stacked chart component (513d581)
  • report: [chart] open point info dialog when clicking on point (840d9f9)
  • report: [table] open point info dialog when clicking on table cell (a1c8dcb)
  • report: added drawer with point information component (c8c9450)
  • run: added header groups to show difference between columns (505d798), closes #175
  • run: added screen reader only label for "add note" button (9ba0120)
  • ui: [chart] allowed to override default options for chart (bd65b92)
  • utils: added controllable state hook (dc885dd)
  • utils: added platform specific ctrl key hook (3e92144)

πŸ’… Polish​

  • report: [chart] made chart take as much space as possible (74df1e5)
  • report: [table] made columns take 50% of width when only have one series (b04ce9b)
  • run: adjusted offset for sticky rows (bf47f87)

πŸ› Bug Fix​

  • history: fixed history chart resetting zoom when releasing modifier key (a8c47ca)
  • log: fixed crash when failing to retrieve node name (5cf78e9)
  • report: [chart] added margin between legend and grid (cda1f19)
  • report: [chart] display y_axis label when series_label is null (567b059)
  • report: [chart] don't show legend when series label is null (f96bcc4)
  • report: [chart] fixed incorrect values on x axis (1ee4da5)
  • report: [chart] fixed zoom reset on ctrl + scroll (fbb976b)
  • report: [table] incorrect table first series name (55d576c)
  • run: fixed text comment popover being on partially shown (e803cd9)

♻️ Code Refactoring​

  • history: adjusted history for new data, types and components (38b2aab)
  • history: changed to new log preview for stacked charts (a3d00d3)
  • history: swap for new preview drawer modal (6e40b79)
  • history: use new stacked chart for history stacked mode (1734d69)
  • log: extracted log preview component to separate lib (89007fb)
  • measurements: adjusted export logic for new types and data (ea2e5a4)
  • measurements: adjusted getting chart name (9d94e70)
  • measurements: adjusted measurement charts for new types and data (4687d47)
  • measurements: adjusted measurements page for new data and types (20bc843)
  • measurements: adjusted table for new data and types (245e370)
  • measurements: use new stacked chart component for overlay mode (343abce)
  • report: [chart] allow zoom only when metaKey is pressed (d3e7fe0)
  • report: [chart] updated chart for API changes (b427854)
  • report: [table] allow scroll only when ctrl or meta key is pressed (0451a1f)
  • report: adjusted logic for determining labels (0193a07)
  • report: adjusted props to chart and table (ba47278)
  • report: changed location of warnings hover cards (154d577)
  • report: use shared drawer dialog for log preview (03f4d05)

πŸ“¦ Chores​

  • history: removed old plot point dialog (5613e2f)
  • measurements,history: remove old dead code and types (fc20033)
  • report: adjusted report types for new API changes (b58ed3b)
  • report: changed labels for list of arguments (69ababb)
  • report: display spinner when loading report (2833e2e)
  • report: removed old point dialog drawer component (c27c225)

Backend​

πŸ”¨ Issue Fix​

  • Add API spec docs (OpenAPI Specification v3.x) #38
  • Report: add navigation from points #74
  • Measurements: improve the processing and storage of sequences of results #79
  • Measurements: update the structure of data to display #80
  • Update the requirements #90

πŸ› Bug Fix​

  • importruns: fix iteration end date calculation (2b82dea)
  • importruns: fix iteration start and end dates calculation (56d7bd2)
  • importruns: fix views saving (d2ee1ab)
  • importruns: fix views handling (7b94b98)
  • measurements: fix response for the case of an error (4133a7e)
  • report: fix the calculation of percentages (0601f1b)
  • report: fix f-string quotes error (0acb5d9)
  • measurements: fix dynamic chart points order (7707006)
  • auth: fix password reset (6917826)
  • management: fix mmr sequences migration (a9a1527)
  • measurements: fix charts merging (0659b59)
  • results: fix measurement chart building (46817d8)
  • report: fix x-axis value retrieval (7f21b95)
  • report: fix chart data preparation (28485ab)
  • report: fix result merging by measurements (1749bcb)
  • results: fix measurement chart rendering without views (c6862be)
  • importruns: fix measurement results processing (49be0d6)
  • settings: fix dynamic settings retrieval (719912f)
  • management: fix creation of invalid mmrls during migration (f87e59f)
  • management: fix memory overload error during migration (fec86cd)
  • run stats: fix test comments addition to detailed statistics (38c43cd)

⚑ Performance​

  • report: simplify points grouping (8062a5a)
  • management: optimize incorrect objects deletion (43c8682)
  • management: optimize duplicate deletion (127d72a)
  • management: optimize mmr sequences migration (3358f3f)

πŸš€ New Featire​

  • management: update reformat configs command (637b55b)
  • docs(rest): add dependencies for OpenAPI schema generation (a0aeea0)
  • management: update the database cleanup command (dced068)

♻️ Code Refactoring​

  • auth: change the source of the main config (47a4b22)
  • settings: change the source of dynamic settings (bdf03fa)
  • management(refactor): improve reformat configs command (2a8e737)
  • importruns: refactor measurement results saving (57db67c)
  • importruns: refactor measurement result saving (81a2a62)
  • results: separate the plotting of different views (d5f4671)
  • measurements: unify getting of iterations mmrs (8b34711)
  • measurements: make results repr func more universal (34082f7)
  • refactor(report): simplify the grouping by args key (352ae56)
  • refactor(report): update unprocessed iters processing (c870104)
  • management: ensure data integrity during mmr migration (8e40382)
  • measurements: unify result merging by measurements (8088ac9)
  • management: reduce cleanup transaction time and contention (0816fd6)

πŸ’… Polish​

  • measurements: fix chart subtitles (db66571)
  • measurements: fix incorrect naming of iteration result IDs (fa3afc0)

🧹 Cleanup​

  • requirements: ensure consistent sorting in dependencies (6da2665)
  • cleanup: add typing of class variables (98144d6)
  • cleanup(report): clarify comments and remove unused logging (3a3a24f)
  • management: fix DB cleanup log formatting (b596b59)
  • cleanup(measurements): improve code quality (24ae37a)
  • cleanup: improve measurement models maintainability (554dbac)
  • cleanup: improve report components readability (eae822f)
  • cleanup: improve readability of retrieved test comments (dc25cb8)