diff --git a/project/ui/qprof_main.ipynb b/project/ui/qprof_main.ipynb index 8098a9de..45001a7a 100644 --- a/project/ui/qprof_main.ipynb +++ b/project/ui/qprof_main.ipynb @@ -181,7 +181,7 @@ " }\n", "\n", "
\n", - "

Your connection details are as follows:

\n", + "

Your connection details:

\n", "
" ] }, @@ -222,15 +222,11 @@ "def update_key_dropdown_options(change):\n", " # Get the selected schema from the first dropdown\n", " selected_schema = change.new\n", - " \n", - " # Query for the table names based on the selected schema\n", - " query = f\"SELECT DISTINCT table_name FROM tables WHERE table_name LIKE '%_dc_explain_plans_%' AND table_schema = '{selected_schema}' ORDER BY 1;\"\n", - " vdf = vp.vDataFrame(query)\n", - " \n", " # Manipulate table names\n", " length_to_remove = len(\"qprof_dc_explain_plans_\") + 1\n", - " vdf['table_name'] = vdf['table_name'].apply(f\"SUBSTR(table_name, {length_to_remove})\")\n", - " \n", + " # Query for the table names based on the selected schema\n", + " query = f\"SELECT SUBSTR(table_name, {length_to_remove}) AS 'table_name' FROM (SELECT DISTINCT table_name FROM tables WHERE table_name LIKE '%_dc_explain_plans_%' AND table_schema = '{selected_schema}') as foo order by 1;\"\n", + " vdf = vp.vDataFrame(query)\n", " # Update options of the second dropdown\n", " key_dropdown.options = [i[0] for i in vdf.to_list()]\n", "\n", @@ -425,7 +421,7 @@ "tab.titles = [\"From database\", \"From a file\"]\n", "logging.info('[Query Profile Main Page] Trying to display the load tab')\n", "logging.info('[Query Profile Main Page] Successfully loaded')\n", - "left_heading = widgets.HTML(\"\"\"

Load from existing

\"\"\")\n", + "left_heading = widgets.HTML(\"\"\"

Load an existing QueryProfiler

\"\"\")\n", "left_section = widgets.VBox([left_heading,tab], layout= {\"margin\" :\"0px 0px 0px 50px\"})" ] }, @@ -437,11 +433,12 @@ "outputs": [], "source": [ "search_box_test = widgets.HTML(\"\"\"\n", - "You can query the ``query_requests`` table to search for the required query. You can use either:\n", + "You can query the 'QUERY_REQUESTS' table to search for the required query to get the transaction ID and statement ID needed to profile the query. You can use either:\n", "\n", + "For more information, please refer to the query_requests documentation.\n", "\"\"\")" ] }, @@ -458,8 +455,12 @@ "query_search_check = widgets.Checkbox(value=False,description='Exact')\n", "button_01 = widgets.Button(description=\"Query Request Table\", layout=widgets.Layout(width='auto'))\n", "output_01 = widgets.Output()\n", - "request_label_widget = widgets.HBox([request_label_input, request_label_check])\n", - "query_search_widget = widgets.HBox([query_search_input, query_search_check])\n", + "request_label_widget = widgets.HBox([request_label_input, \n", + " create_tooltip(\"Labels are inserted inside the query in order to track them. If you have labeled your queries, you can conveniently serach them from their labels.\"), \n", + " request_label_check])\n", + "query_search_widget = widgets.HBox([query_search_input, \n", + " create_tooltip(\"Enter the exact Query to search or part of it.\"),\n", + " query_search_check])\n", "search_box_vbox = widgets.VBox([search_box_test, request_label_widget, query_search_widget, button_01, output_01])\n", "search_box = widgets.Accordion(children=[search_box_vbox], titles=('Search for a query',))\n", "\n", @@ -676,7 +677,7 @@ "metadata": {}, "outputs": [], "source": [ - "right_heading = widgets.HTML(\"\"\"

Profile from query

\"\"\")\n", + "right_heading = widgets.HTML(\"\"\"

Create a new QueryProfiler

\"\"\")\n", "right_section = widgets.VBox([right_heading,search_box, tab_2],layout= {\"margin\" :\"0px 0px 0px 50px\"})\n", "left_section" ] @@ -780,7 +781,7 @@ "\n", "\n", "
\n", - " Page version update date: 6/24/2024\n", + " Page version update date: 7/5/2024\n", "
\n", "\n", ""