Skip to content

CHORE: TEST PR Performance Report control path - #799

Draft
Gaurav Sharma (bewithgaurav) wants to merge 3 commits into
mainfrom
bewithgaurav/profiler-control-canary
Draft

Gaurav Sharma (bewithgaurav) wants to merge 3 commits into
mainfrom
bewithgaurav/profiler-control-canary

Conversation

@bewithgaurav

@bewithgaurav Gaurav Sharma (bewithgaurav) commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

Work Item / Issue Reference

ADO Work Item: AB#44819


Summary

Disposable control canary for the merged PR Performance Report. This branch changes only an invisible README marker, so the report should complete across five environments without detecting a performance regression. This PR will not be merged.

Create a disposable documentation-only change to validate the PR Performance Report end to end.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 18, 2026 06:22
@github-actions github-actions Bot added the pr-size: small Minimal code update label Sep 18, 2026
@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown

PR Performance Report

No consistent slowdowns detected across all 2 environments.

Coverage: 2 of 2 environments completed. Advisory result; does not block merging.

Environment Status
Unix / SQL Server 2022 Completed
Unix / SQL Server 2025 Completed
Affected phases and call counts

Phase times are inclusive diagnostics and must not be added together. They identify where measured time changed, not why it changed.

No affected phases or call-count changes were recorded.

All database tasks and timings

Unix / SQL Server 2022

Database task Before After Paired change Result
Connection opening 10.287 ms 10.353 ms +0.6% no signal
SELECT queries 1.139 ms 1.158 ms +2.5% no signal
Row insertion 34.455 ms 34.234 ms -0.5% no signal
Executemany inserts 157.686 ms 156.455 ms -0.3% no signal
Fetch-all queries 172.441 ms 170.010 ms -1.5% no signal
Row-by-row fetching 60.764 ms 59.978 ms -2.2% no signal
Batched row fetching 164.873 ms 166.284 ms +1.0% no signal
Transaction commit and rollback 113.423 ms 113.138 ms -0.3% no signal
Arrow row fetching 93.539 ms 95.524 ms +2.3% no signal
100,000-row insertion 439.219 ms 440.155 ms +0.0% no signal
Row fetching in batches of 100 223.254 ms 221.300 ms -2.0% no signal
Row fetching in batches of 10,000 176.763 ms 188.341 ms +6.0% no signal
Repeated positional queries 42.175 ms 41.766 ms -0.4% no signal
Repeated named-parameter queries 44.379 ms 44.058 ms -0.7% no signal
Legacy 100,000-row insertion 353.989 ms 351.750 ms -0.9% no signal
Insertion with explicit input sizes 2395.449 ms 2367.766 ms -1.7% no signal
Joined aggregation queries 176.965 ms 178.305 ms -0.0% no signal
Large joined-result fetching 205.981 ms 207.649 ms +0.9% no signal
1.2-million-row fetching 4965.963 ms 5052.855 ms +1.1% no signal
Common table expression queries 5.364 ms 5.351 ms -0.2% no signal

Unix / SQL Server 2025

Database task Before After Paired change Result
Connection opening 97.066 ms 97.310 ms -0.2% no signal
SELECT queries 1.183 ms 1.157 ms -0.8% no signal
Row insertion 33.916 ms 33.869 ms -0.5% no signal
Executemany inserts 149.244 ms 153.886 ms +2.1% no signal
Fetch-all queries 176.091 ms 182.607 ms +1.2% no signal
Row-by-row fetching 62.088 ms 61.748 ms +2.2% no signal
Batched row fetching 166.320 ms 165.812 ms -0.3% no signal
Transaction commit and rollback 114.109 ms 113.579 ms -0.4% no signal
Arrow row fetching 95.001 ms 94.377 ms -0.7% no signal
100,000-row insertion 442.287 ms 452.711 ms +1.8% no signal
Row fetching in batches of 100 224.452 ms 223.361 ms +0.3% no signal
Row fetching in batches of 10,000 190.418 ms 189.386 ms -0.3% no signal
Repeated positional queries 41.654 ms 41.625 ms -0.1% no signal
Repeated named-parameter queries 44.540 ms 43.994 ms -0.4% no signal
Legacy 100,000-row insertion 354.250 ms 350.097 ms -2.5% no signal
Insertion with explicit input sizes 2377.544 ms 2357.328 ms -0.9% no signal
Joined aggregation queries 162.064 ms 162.618 ms +0.4% no signal
Large joined-result fetching 206.119 ms 230.575 ms +11.1% no signal
1.2-million-row fetching 5020.792 ms 5004.573 ms -0.2% no signal
Common table expression queries 5.084 ms 5.062 ms -0.4% no signal
Build, commits and measurement details

ADO build 176900

PR head: e883f2a6c57fdd52dafdfb7497b806c9e6d52aa1
Base: c963ee1ebf11a96b2dc5275b465d2a36f3f55d77
Measured merge: 6cc93e74bd2a68fa3773a2390c53fcf270b0d381

  • Unix / SQL Server 2022: Python 3.12.3, x86_64, SQL 16.0.4295.3; 5 paired comparisons and 1 warmup.
  • Unix / SQL Server 2025: Python 3.12.3, x86_64, SQL 17.0.5005.3; 5 paired comparisons and 1 warmup.

A consistent change requires more than 20% median paired movement, at least 1 ms between the median runtimes, and at least 80% of pairs exceeding the relative threshold in the same direction. A slowdown without enough pair agreement is reported as inconsistent.

The displayed change is the median of paired before-and-after ratios. It is not recalculated from the two displayed median runtimes.

Both revisions use profiling-enabled builds on the same agent and database, with alternating order and discarded warmups. Results are diagnostic and do not represent production-wheel latency.

Raw samples and logs are attached to the ADO run as profiler-* artifacts.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No unresolved issues; the change is limited to a non-rendered README marker.

Pull request overview

Adds an invisible README marker to validate the profiler report control path without changing product code.

Changes:

  • Adds an HTML comment canary to README.md.
File summaries
File Description
README.md Adds the invisible profiler control marker.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown

📊 Code Coverage Report

🔥 Diff Coverage

100%


🎯 Overall Coverage

83%


📈 Total Lines Covered: 8639 out of 10295
📁 Project: mssql-python


Diff Coverage

Diff: main...HEAD, staged and unstaged changes

No lines with coverage information in this diff.


📋 Files Needing Attention

📉 Files with overall lowest coverage (click to expand)
mssql_python.pybind.performance_counter.hpp: 0.7%
mssql_python.pybind.logger_bridge.cpp: 57.9%
mssql_python.pybind.ddbc_bindings.h: 64.1%
mssql_python.pybind.logger_bridge.hpp: 70.8%
mssql_python.pybind.ddbc_bindings.cpp: 78.3%
mssql_python.pybind.connection.connection_pool.cpp: 82.3%
mssql_python.pybind.connection.connection.cpp: 82.5%
mssql_python.row.py: 83.4%
mssql_python.logging.py: 86.2%
mssql_python.pooling.py: 90.1%

🔗 Quick Links

⚙️ Build Summary 📋 Coverage Details

View Azure DevOps Build

Browse Full Coverage Report

@bewithgaurav Gaurav Sharma (bewithgaurav) changed the title CHORE: Verify profiler report control path TEST: Verify PR Performance Report control path Sep 18, 2026
@bewithgaurav Gaurav Sharma (bewithgaurav) changed the title TEST: Verify PR Performance Report control path CHORE: Verify PR Performance Report control path Sep 18, 2026
@bewithgaurav Gaurav Sharma (bewithgaurav) changed the title CHORE: Verify PR Performance Report control path CHORE: TEST PR Performance Report control path Sep 18, 2026
Copilot AI review requested due to automatic review settings September 18, 2026 10:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No unresolved issues were identified.

Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Copilot AI review requested due to automatic review settings September 21, 2026 08:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The only finding is a non-blocking documentation nit; the change is limited to an invisible README marker.

Review effort: Lite
Findings: None

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

Labels

pr-size: small Minimal code update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants