Skip to content

Trace Analytics v2 update - adding in conext views, updating filter, adding services metrics #1883

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

Merged
merged 12 commits into from
Jun 10, 2024

Conversation

ps48
Copy link
Member

@ps48 ps48 commented Jun 7, 2024

Description

Below are the UX changes done for trace analytics v2, the PR is mainly restricted to changes in public/components/trace_analytics/ with minor state pass update in explorer. Tried to fix a lot of lint issues, still some of them are pending. Will create another PR for updating cypress and adding more jest tests for new components. Below is the list of features added in this PR:

Major files changes that need to be reviewed are the ones below, the other files are changes for theming, minor additions and test/lint updates

public/components/event_analytics/explorer/explorer.tsx
public/components/trace_analytics/components/common/filters/filter_helpers.tsx
public/components/trace_analytics/components/common/filters/filters.tsx
public/components/trace_analytics/components/common/helper_functions.tsx
public/components/trace_analytics/components/common/plots/service_map.tsx
public/components/trace_analytics/components/common/search_bar.tsx
public/components/trace_analytics/components/services/service_flyout.tsx
public/components/trace_analytics/components/services/service_metrics.tsx
public/components/trace_analytics/components/services/service_view.tsx
public/components/trace_analytics/components/services/services_content.tsx
public/components/trace_analytics/requests/services_request_handler.ts
public/components/trace_analytics/requests/queries/services_queries.ts
public/components/trace_analytics/components/traces/span_detail_flyout.tsx
  • New action button to invoke the service flyout, Ability to filter multiple services with OR clause

Screenshot 2024-06-07 at 9 58 15 AM

  • The service flyout view component

Screenshot 2024-06-07 at 9 53 30 AM

  • 24hr service trend metrics on latency, throughput and requests

Screenshot 2024-06-07 at 9 54 02 AM

  • Show service dependency graph and table

Screenshot 2024-06-07 at 9 54 22 AM

  • Move to service logs and traces from the service flyout

Screenshot 2024-06-07 at 9 54 39 AM

  • Trace groups moved to trace view

Screenshot 2024-06-07 at 9 54 58 AM

  • Show 24hr metrics as popover on service table when trend metrics are enabled

Screenshot 2024-06-07 at 9 55 21 AM

  • Show a node details as legend on service map when clicked on a node

Screenshot 2024-06-07 at 9 55 35 AM

  • Ability to see incontext span flyout with ability to move back and view associated logs by spanId

Screenshot 2024-06-07 at 9 56 11 AM

  • Ability to add resource attributes and span attributes as filters

Screenshot 2024-06-07 at 10 08 32 AM

  • Clean up background and theming for existing plot

Screenshot 2024-06-07 at 10 08 50 AM

Issues Resolved

[List any issues this PR will resolve]

Check List

  • New functionality includes testing.
    • All tests pass, including unit test, integration test and doctest
  • New functionality has been documented.
    • New functionality has javadoc added
    • New functionality has user manual doc added
  • Commits are signed per the DCO using --signoff

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.

ps48 added 2 commits June 7, 2024 10:35
Signed-off-by: Shenoy Pratik <[email protected]>
Signed-off-by: Shenoy Pratik <[email protected]>
Copy link
Collaborator

@paulstn paulstn left a comment

Choose a reason for hiding this comment

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

Explorer changes look good to me

Copy link
Member

@joshuali925 joshuali925 left a comment

Choose a reason for hiding this comment

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

didn't get to read everything but no concerns so far. i'll do some testing later and report if any issues

@@ -83,6 +91,9 @@ export function ServiceMap({
},
];

const [selectedNodeDetails, setSelectedNodeDetails] = useState<ServiceNodeDetails | null>(null);
const graphContainerRef = React.useRef(null);
Copy link
Member

Choose a reason for hiding this comment

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

what does this do?

Copy link
Member Author

Choose a reason for hiding this comment

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

This is from another approach I was trying to solve onClick handler for the node. Ended up just using the selectedNodeDetails. So, I'll remove this one.

setGlobalQuery(newQuery);
props.refresh(undefined, newQuery);
},
}));
Copy link
Member

Choose a reason for hiding this comment

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

TODO for future, this can probably just be a ref from parent and attached to EuiFieldSearch, to simplify the logic and reduce re-renders

ps48 added 2 commits June 10, 2024 07:47
Signed-off-by: Shenoy Pratik <[email protected]>
@ps48 ps48 merged commit 2a446bb into opensearch-project:main Jun 10, 2024
13 of 19 checks passed
@opensearch-trigger-bot
Copy link
Contributor

The backport to 2.x failed:

The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:

# Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/dashboards-observability/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/dashboards-observability/backport-2.x
# Create a new branch
git switch --create backport/backport-1883-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 2a446bb990a92c071012668eacc581c629a88fe7
# Push it to GitHub
git push --set-upstream origin backport/backport-1883-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/dashboards-observability/backport-2.x

Then, create a pull request where the base branch is 2.x and the compare/head branch is backport/backport-1883-to-2.x.

ps48 added a commit to ps48/dashboards-observability that referenced this pull request Jun 10, 2024
…adding services metrics (opensearch-project#1883)

* move trace group to traces, fix service filter bug, fix traces view breadcrumb

Signed-off-by: Shenoy Pratik <[email protected]>

* add support for attribute filters and group services

Signed-off-by: Shenoy Pratik <[email protected]>

* adding support for trends and jump to logs explorer

Signed-off-by: Shenoy Pratik <[email protected]>

* style updates to trends plots

Signed-off-by: Shenoy Pratik <[email protected]>

* update dependency based service map, update back button in service flyout

Signed-off-by: Shenoy Pratik <[email protected]>

* updated snapshots

Signed-off-by: Shenoy Pratik <[email protected]>

* cleanup unused code

Signed-off-by: Shenoy Pratik <[email protected]>

* revert viz background change

Signed-off-by: Shenoy Pratik <[email protected]>

* update app analytics snapshots

Signed-off-by: Shenoy Pratik <[email protected]>

* update coreRef test mock with chrome

Signed-off-by: Shenoy Pratik <[email protected]>

* minor bug fixes and jaeger support

Signed-off-by: Shenoy Pratik <[email protected]>

* update tests

Signed-off-by: Shenoy Pratik <[email protected]>

---------

Signed-off-by: Shenoy Pratik <[email protected]>
(cherry picked from commit 2a446bb)
ps48 added a commit that referenced this pull request Jun 10, 2024
…dating filter, … (#1885)

* Trace Analytics v2 update - adding in conext views, updating filter, adding services metrics (#1883)

* move trace group to traces, fix service filter bug, fix traces view breadcrumb

Signed-off-by: Shenoy Pratik <[email protected]>

* add support for attribute filters and group services

Signed-off-by: Shenoy Pratik <[email protected]>

* adding support for trends and jump to logs explorer

Signed-off-by: Shenoy Pratik <[email protected]>

* style updates to trends plots

Signed-off-by: Shenoy Pratik <[email protected]>

* update dependency based service map, update back button in service flyout

Signed-off-by: Shenoy Pratik <[email protected]>

* updated snapshots

Signed-off-by: Shenoy Pratik <[email protected]>

* cleanup unused code

Signed-off-by: Shenoy Pratik <[email protected]>

* revert viz background change

Signed-off-by: Shenoy Pratik <[email protected]>

* update app analytics snapshots

Signed-off-by: Shenoy Pratik <[email protected]>

* update coreRef test mock with chrome

Signed-off-by: Shenoy Pratik <[email protected]>

* minor bug fixes and jaeger support

Signed-off-by: Shenoy Pratik <[email protected]>

* update tests

Signed-off-by: Shenoy Pratik <[email protected]>

---------

Signed-off-by: Shenoy Pratik <[email protected]>
(cherry picked from commit 2a446bb)

* update lodash import

Signed-off-by: Shenoy Pratik <[email protected]>

---------

Signed-off-by: Shenoy Pratik <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants