Stream a server performance report via SSE.
(sid)
| 1650 | @pgCSRFProtect.exempt |
| 1651 | @pga_login_required |
| 1652 | def generate_performance_report_stream(sid): |
| 1653 | """ |
| 1654 | Stream a server performance report via SSE. |
| 1655 | """ |
| 1656 | from pgadmin.llm.utils import is_llm_enabled |
| 1657 | from pgadmin.llm.reports.generator import ( |
| 1658 | generate_report_streaming, create_sse_response |
| 1659 | ) |
| 1660 | from pgadmin.utils.driver import get_driver |
| 1661 | |
| 1662 | if not is_llm_enabled(): |
| 1663 | return make_json_response( |
| 1664 | success=0, |
| 1665 | errormsg=gettext( |
| 1666 | 'LLM is not configured. Please configure an LLM provider ' |
| 1667 | 'in Preferences > AI.' |
| 1668 | ) |
| 1669 | ) |
| 1670 | |
| 1671 | try: |
| 1672 | driver = get_driver(config.PG_DEFAULT_DRIVER) |
| 1673 | manager = driver.connection_manager(sid) |
| 1674 | conn = manager.connection() |
| 1675 | |
| 1676 | if not conn.connected(): |
| 1677 | return make_json_response( |
| 1678 | success=0, |
| 1679 | errormsg=gettext('Server is not connected.') |
| 1680 | ) |
| 1681 | |
| 1682 | context = {} |
| 1683 | generator = generate_report_streaming( |
| 1684 | report_type='performance', |
| 1685 | scope='server', |
| 1686 | conn=conn, |
| 1687 | manager=manager, |
| 1688 | context=context |
| 1689 | ) |
| 1690 | |
| 1691 | return create_sse_response(generator) |
| 1692 | |
| 1693 | except Exception as e: |
| 1694 | return make_json_response( |
| 1695 | success=0, |
| 1696 | errormsg=str(e) |
| 1697 | ) |
| 1698 | |
| 1699 | |
| 1700 | # ============================================================================= |
nothing calls this directly
no test coverage detected