Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Query grouping dashboard changes and extensive tests #33

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

deshsidd
Copy link
Collaborator

Description

Query grouping dashboard changes based on the proposed UX. Support grouping related configurations setting and viewing query groups using the query insights dashboards.

Currently, dashboards only supports Top N queries. With the introduction of grouping Top N queries by similarity, this PR aims to integrate query insights dashboard with the query grouping changes.

Change Details:

  • Modify the Top N queries page to now display groups
  • Add a filter type to filter out groups or queries
  • Create a new Query Group Details page which displays additional information regarding the query group
  • The query group details page will have a section displaying aggregate statistics followed by another section to display details for a sample query from the group.
  • Added extensive tests

Issues Resolved

List any issues this PR will resolve, e.g. Closes [...].
Closes : #14

Screenshots

Top N queries/groups page displaying multiple query groups:
queryinsights1
Option to filter by group/query:
queryinsights5
queryinsights7
Query Group Details Page after clicking on the query group row in the Top N page:
queryinsights1 5
Sample Query Details section on the query group details page:
queryinsights3
Query Configuration Page to configure Top N Query Groups:
queryinsights9
queryinsights10

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

import QueryGroupAggregateSummary from "./Components/QueryGroupAggregateSummary";
import QueryGroupSampleQuerySummary from "./Components/QueryGroupSampleQuerySummary";

const QueryGroupDetails = ({ queries, core }: { queries: any; core: CoreStart }) => {
Copy link
Member

Choose a reason for hiding this comment

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

Why do we need this new component? Is it possible to reuse the QueryDetails page? Cause I see a lot of duplicate logic here with QueryDetails.tsx

Choose a reason for hiding this comment

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

+1, Unless there is more details that we need to show on the grouping page, but even then we can extract the common parts out into a common component

render: (query: any) => {
return (
<span>
<EuiLink onClick={() => {
Copy link
Member

Choose a reason for hiding this comment

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

are we having 2 same links points to the query group details?

const route = query.group_by === 'SIMILARITY' ? `/query-group-details/${hash(query)}` : `/query-details/${hash(query)}`;
history.push(route);
}}>
{query.query_hashcode || '-'}
Copy link
Member

Choose a reason for hiding this comment

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

We should probably use query_id for this if displaying single query: opensearch-project/query-insights#159

@@ -20,6 +20,9 @@ export interface SearchQueryRecord {
indices: string[];
phase_latency_map: PhaseLatencyMap;
task_resource_usages: Task[];
query_hashcode: string;

Choose a reason for hiding this comment

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

+1 to @ansjcy is the new UUID field called query_hashcode or query_id?

@derek-ho
Copy link

Description

Query grouping dashboard changes based on the proposed UX. Support grouping related configurations setting and viewing query groups using the query insights dashboards.

Currently, dashboards only supports Top N queries. With the introduction of grouping Top N queries by similarity, this PR aims to integrate query insights dashboard with the query grouping changes.

Change Details:

  • Modify the Top N queries page to now display groups
  • Add a filter type to filter out groups or queries
  • Create a new Query Group Details page which displays additional information regarding the query group
  • The query group details page will have a section displaying aggregate statistics followed by another section to display details for a sample query from the group.
  • Added extensive tests

Issues Resolved

List any issues this PR will resolve, e.g. Closes [...]. Closes : #14

Screenshots

Top N queries/groups page displaying multiple query groups: queryinsights1 Option to filter by group/query: queryinsights5 queryinsights7 Query Group Details Page after clicking on the query group row in the Top N page: queryinsights1 5 Sample Query Details section on the query group details page: queryinsights3 Query Configuration Page to configure Top N Query Groups: queryinsights9 queryinsights10

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Maybe I am not fully understanding the group-by feature, but if you do not do group_by on the table, shouldn't it show all of the single queries by themselves? Or does group-by have a different meaning in terms of the data?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] Integrate grouping top N queries with dashboards
3 participants