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

[Profiling] Add colors for new frame types (process name, thread name, root) #204977

Merged
merged 3 commits into from
Jan 8, 2025

Conversation

rockdaboot
Copy link
Contributor

@rockdaboot rockdaboot commented Dec 19, 2024

Summary

This PR is a pre-requisite for adding aggregation by process name and by thread name to the Universal Profiling flamegraph view.

It adds three artificial node types to the flamegraph including color codes.

As a side-effect, the root node now has its own color code. Previously, it (accidentally) used the color code of "unknown" type frames.

The PR is backwards compatible, so it doesn't change anything in the UI when connecting with current Elasticsearch.
As soon as the PR for ES is merged, the new aggregations show up.

@rockdaboot rockdaboot added release_note:enhancement release_note:skip Skip the PR/issue when compiling release notes backport:skip This commit does not require backporting v9.0.0 Team:obs-ux-infra_services Observability Infrastructure & Services User Experience Team labels Dec 19, 2024
@rockdaboot rockdaboot self-assigned this Dec 19, 2024
@rockdaboot rockdaboot requested a review from a team as a code owner December 19, 2024 16:35
@elasticmachine
Copy link
Contributor

Pinging @elastic/obs-ux-infra_services-team (Team:obs-ux-infra_services)

@botelastic botelastic bot added the ci:project-deploy-observability Create an Observability project label Dec 19, 2024
Copy link
Contributor

🤖 GitHub comments

Expand to view the GitHub comments

Just comment with:

  • /oblt-deploy : Deploy a Kibana instance using the Observability test environments.
  • run docs-build : Re-trigger the docs validation. (use unformatted text in the comment!)

Copy link
Contributor

@inge4pres inge4pres left a comment

Choose a reason for hiding this comment

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

Great stuff Tim! 🚀 thanks 🙏🏼

@rockdaboot rockdaboot force-pushed the flamegraph-executable-name branch 2 times, most recently from d0a4cf4 to 1758e7a Compare January 7, 2025 12:56
@rockdaboot rockdaboot force-pushed the flamegraph-executable-name branch from d9acea6 to 14391a0 Compare January 7, 2025 14:17
@rockdaboot rockdaboot changed the title [Profiling] Add colors for new frame types (exe name, thread name, root) [Profiling] Add colors for new frame types (process name, thread name, root) Jan 8, 2025
@rockdaboot rockdaboot enabled auto-merge (squash) January 8, 2025 07:33
@elasticmachine
Copy link
Contributor

elasticmachine commented Jan 8, 2025

💚 Build Succeeded

  • Buildkite Build
  • Commit: 875cd84
  • Kibana Serverless Image: docker.elastic.co/kibana-ci/kibana-serverless:pr-204977-875cd8460b6f

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
infra 1.3MB 1.3MB +126.0B
profiling 404.2KB 404.3KB +109.0B
total +235.0B

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
observabilityShared 93.3KB 93.4KB +126.0B
profiling 17.6KB 17.7KB +155.0B
total +281.0B

History

cc @rockdaboot

@rockdaboot rockdaboot merged commit bc5d8db into elastic:main Jan 8, 2025
8 checks passed
crespocarlos pushed a commit to crespocarlos/kibana that referenced this pull request Jan 8, 2025
…, root) (elastic#204977)

## Summary
This PR is a pre-requisite for adding aggregation by process name and by
thread name to the Universal Profiling flamegraph view.

It adds three artificial node types to the flamegraph including color
codes.

As a side-effect, the root node now has its own color code. Previously,
it (accidentally) used the color code of "unknown" type frames.

The PR is backwards compatible, so it doesn't change anything in the UI
when connecting with current Elasticsearch.
As soon as [the PR for
ES](elastic/elasticsearch#119115) is merged, the
new aggregations show up.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting ci:project-deploy-observability Create an Observability project release_note:enhancement release_note:skip Skip the PR/issue when compiling release notes Team:obs-ux-infra_services Observability Infrastructure & Services User Experience Team v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants