Skip to content

[APM] Align serverless APM service nav with stateful#263119

Merged
rmyz merged 2 commits intoelastic:mainfrom
rmyz:fix/serverless-apm-service-groups-nav
Apr 14, 2026
Merged

[APM] Align serverless APM service nav with stateful#263119
rmyz merged 2 commits intoelastic:mainfrom
rmyz:fix/serverless-apm-service-groups-nav

Conversation

@rmyz
Copy link
Copy Markdown
Contributor

@rmyz rmyz commented Apr 14, 2026

Summary

Closes #263118

  • Register hidden apm:service-groups-list in the serverless Observability navigation tree so project chrome can resolve /app/apm/service-groups like stateful.
  • Add getIsActive on apm:services (same regex as stateful) so Service inventory stays active on service map, groups, and related paths.

Demo

Before

Kapture.2026-04-14.at.17.33.21.mp4

After

Kapture.2026-04-14.at.17.36.39.mp4

Register apm:service-groups-list and add getIsActive for Service
inventory so Service map and Service groups highlight correctly in
serverless Observability project chrome.

Closes elastic#263118

Made-with: Cursor
@rmyz rmyz added release_note:fix Team:obs-presentation Focus: APM UI, Infra UI, Hosts UI, Universal Profiling, Obs Overview and left Navigation labels Apr 14, 2026
@rmyz rmyz self-assigned this Apr 14, 2026
@rmyz rmyz added backport:version Backport to applied version labels v9.4.0 v9.3.4 v8.19.15 labels Apr 14, 2026
@rmyz
Copy link
Copy Markdown
Contributor Author

rmyz commented Apr 14, 2026

/ci

@elasticmachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] FTR Configs #207 / dashboard app - esql controls dashboard - add a value type ES|QL control should add an ES|QL value control
  • [job] [logs] FTR Configs #10 / dashboard app - group 4 dashboard time dashboard with stored time sets time on open

Metrics [docs]

Page load bundle

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

id before after diff
serverlessObservability 18.2KB 18.4KB +217.0B

cc @rmyz

@rmyz rmyz changed the title fix: align serverless APM service nav with stateful [APM] Align serverless APM service nav with stateful Apr 14, 2026
@rmyz rmyz marked this pull request as ready for review April 14, 2026 18:14
@rmyz rmyz requested a review from a team as a code owner April 14, 2026 18:14
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/obs-presentation-team (Team:obs-presentation)

@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented Apr 14, 2026

Approvability

Verdict: Needs human review

While this is a low-risk navigation UI change (adding active state detection for APM service nav items), the modified file is owned by @elastic/obs-presentation-team and the author is not a member of that team. The designated owners should review.

You can customize Macroscope's approvability policy. Learn more.

Copy link
Copy Markdown
Contributor

@smith smith left a comment

Choose a reason for hiding this comment

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

Works locally for me!

@botelastic botelastic Bot added the ci:project-deploy-observability Create an Observability project label Apr 14, 2026
@github-actions
Copy link
Copy Markdown
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!)

@rmyz rmyz merged commit 5775151 into elastic:main Apr 14, 2026
25 checks passed
@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 8.19, 9.3, 9.4

https://github.com/elastic/kibana/actions/runs/24418787447

kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Apr 14, 2026
## Summary

Closes elastic#263118

- Register hidden `apm:service-groups-list` in the serverless
Observability navigation tree so project chrome can resolve
`/app/apm/service-groups` like stateful.
- Add `getIsActive` on `apm:services` (same regex as stateful) so
**Service inventory** stays active on service map, groups, and related
paths.

## Demo

### Before

https://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e

### After

https://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f
(cherry picked from commit 5775151)
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Apr 14, 2026
## Summary

Closes elastic#263118

- Register hidden `apm:service-groups-list` in the serverless
Observability navigation tree so project chrome can resolve
`/app/apm/service-groups` like stateful.
- Add `getIsActive` on `apm:services` (same regex as stateful) so
**Service inventory** stays active on service map, groups, and related
paths.

## Demo

### Before

https://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e

### After

https://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f
(cherry picked from commit 5775151)
@kibanamachine
Copy link
Copy Markdown
Contributor

💔 Some backports could not be created

Status Branch Result
8.19 Backport failed because of merge conflicts
9.3
9.4

Note: Successful backport PRs will be merged automatically after passing CI.

Manual backport

To create the backport manually run:

node scripts/backport --pr 263119

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Apr 14, 2026
…263199)

# Backport

This will backport the following commits from `main` to `9.4`:
- [[APM] Align serverless APM service nav with stateful
(#263119)](#263119)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Romeu","email":"sergi.romeu@elastic.co"},"sourceCommit":{"committedDate":"2026-04-14T19:30:16Z","message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","ci:project-deploy-observability","backport:version","v9.4.0","Team:obs-presentation","v9.5.0","v9.3.4","v8.19.15"],"title":"[APM]
Align serverless APM service nav with
stateful","number":263119,"url":"https://github.com/elastic/kibana/pull/263119","mergeCommit":{"message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8"}},"sourceBranch":"main","suggestedTargetBranches":["9.4","9.3","8.19"],"targetPullRequestStates":[{"branch":"9.4","label":"v9.4.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/263119","number":263119,"mergeCommit":{"message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8"}},{"branch":"9.3","label":"v9.3.4","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.19","label":"v8.19.15","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Sergi Romeu <sergi.romeu@elastic.co>
rmyz added a commit to rmyz/kibana that referenced this pull request Apr 15, 2026
## Summary

Closes elastic#263118

- Register hidden `apm:service-groups-list` in the serverless
Observability navigation tree so project chrome can resolve
`/app/apm/service-groups` like stateful.
- Add `getIsActive` on `apm:services` (same regex as stateful) so
**Service inventory** stays active on service map, groups, and related
paths.

## Demo

### Before

https://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e

### After

https://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f
(cherry picked from commit 5775151)

# Conflicts:
#	x-pack/solutions/observability/plugins/serverless_observability/public/navigation_tree.ts
@rmyz
Copy link
Copy Markdown
Contributor Author

rmyz commented Apr 15, 2026

💚 All backports created successfully

Status Branch Result
8.19

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

rmyz added a commit that referenced this pull request Apr 15, 2026
…#263350)

# Backport

This will backport the following commits from `main` to `8.19`:
- [[APM] Align serverless APM service nav with stateful
(#263119)](#263119)

<!--- Backport version: 11.0.1 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Romeu","email":"sergi.romeu@elastic.co"},"sourceCommit":{"committedDate":"2026-04-14T19:30:16Z","message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","ci:project-deploy-observability","backport:version","v9.4.0","Team:obs-presentation","v9.5.0","v9.3.4","v8.19.15"],"title":"[APM]
Align serverless APM service nav with
stateful","number":263119,"url":"https://github.com/elastic/kibana/pull/263119","mergeCommit":{"message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8"}},"sourceBranch":"main","suggestedTargetBranches":["8.19"],"targetPullRequestStates":[{"branch":"9.4","label":"v9.4.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/263199","number":263199,"state":"MERGED","mergeCommit":{"sha":"c31cbe19fb4c873bc58e98c59dbbb1de538fccbd","message":"[9.4]
[APM] Align serverless APM service nav with stateful (#263119)
(#263199)\n\n# Backport\n\nThis will backport the following commits from
`main` to `9.4`:\n- [[APM] Align serverless APM service nav with
stateful\n(#263119)](https://github.com/elastic/kibana/pull/263119)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Sergi Romeu
<sergi.romeu@elastic.co>"}},{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/263119","number":263119,"mergeCommit":{"message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8"}},{"branch":"9.3","label":"v9.3.4","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/263198","number":263198,"state":"OPEN"},{"branch":"8.19","label":"v8.19.15","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
kibanamachine added a commit that referenced this pull request Apr 15, 2026
…263198)

# Backport

This will backport the following commits from `main` to `9.3`:
- [[APM] Align serverless APM service nav with stateful
(#263119)](#263119)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Romeu","email":"sergi.romeu@elastic.co"},"sourceCommit":{"committedDate":"2026-04-14T19:30:16Z","message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","ci:project-deploy-observability","backport:version","v9.4.0","Team:obs-presentation","v9.5.0","v9.3.4","v8.19.15"],"title":"[APM]
Align serverless APM service nav with
stateful","number":263119,"url":"https://github.com/elastic/kibana/pull/263119","mergeCommit":{"message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8"}},"sourceBranch":"main","suggestedTargetBranches":["9.4","9.3","8.19"],"targetPullRequestStates":[{"branch":"9.4","label":"v9.4.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/263119","number":263119,"mergeCommit":{"message":"[APM]
Align serverless APM service nav with stateful (#263119)\n\n##
Summary\n\nCloses https://github.com/elastic/kibana/issues/263118\n\n-
Register hidden `apm:service-groups-list` in the
serverless\nObservability navigation tree so project chrome can
resolve\n`/app/apm/service-groups` like stateful.\n- Add `getIsActive`
on `apm:services` (same regex as stateful) so\n**Service inventory**
stays active on service map, groups, and related\npaths.\n\n##
Demo\n\n###
Before\n\n\nhttps://github.com/user-attachments/assets/9abca4ee-b765-485d-839f-17c91981a25e\n\n###
After\n\n\nhttps://github.com/user-attachments/assets/df1e6c8f-3bd4-4999-8c26-0f4ea0ae3b1f","sha":"577515182472ea2dd496690d086e996e56dc69c8"}},{"branch":"9.3","label":"v9.3.4","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.19","label":"v8.19.15","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Sergi Romeu <sergi.romeu@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels ci:project-deploy-observability Create an Observability project release_note:fix Team:obs-presentation Focus: APM UI, Infra UI, Hosts UI, Universal Profiling, Obs Overview and left Navigation v8.19.15 v9.3.4 v9.4.0 v9.5.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[APM] Service groups and Service inventory nav incorrect in serverless Observability

5 participants