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

[APM] feat(plugins-apm): add metrics dashboard for opentelemetry-node services #174700

Merged
merged 9 commits into from Jan 28, 2024

Conversation

david-luna
Copy link
Member

@david-luna david-luna commented Jan 11, 2024

Summary

This PR add a specific dashboard for metrics being reported by an opentelemetry agent. As for now the UI is showing a default dashboard that does not conform to the document structure and therefore not showing the real values of the metrics.

The current dasshboard
Screenshot 2024-01-11 at 15 52 12

The new dashboard contains 2 panels:

  • memory usage in bytes
  • memory utilization in %
Screenshot 2024-01-11 at 15 59 08

CPU metrics are not added yet since there is a bug in @opentelemetry/host-metrics. The fix is pending to be merged open-telemetry/opentelemetry-js-contrib#1785

Checklist

N/A

For maintainers

@david-luna david-luna requested a review from a team as a code owner January 11, 2024 15:38
@botelastic botelastic bot added the Team:obs-ux-infra_services Observability Infrastructure & Services User Experience Team label Jan 11, 2024
@elasticmachine
Copy link
Contributor

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

@apmmachine
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.
  • /oblt-deploy-serverless : Deploy a serverless Kibana instance using the Observability test environments.
  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@david-luna david-luna added the release_note:feature Makes this part of the condensed release notes label Jan 11, 2024
@david-luna
Copy link
Member Author

@elasticmachine merge upstream

@kpatticha
Copy link
Contributor

@david-luna thanks for adding this.

CPU metrics are not added yet since there is a bug in @opentelemetry/host-metrics. The fix is pending merged open-telemetry/opentelemetry-js-contrib#1785

The fix is merged, should we also add the CPU metrics ?

@david-luna
Copy link
Member Author

The fix is merged, should we also add the CPU metrics ?

Thanks @kpatticha for reviewing this :)

I'd prefer to merge this and create a new PR to add CPU metrics for 2 reasons:

  • the current metrics dashboard for Open Telemetry agents is not working, thus not showing relevant data/graphs for the customers. Merging this PR will add valuable information of their services instrumented with OTel
  • CPU metrics are a bit more complex since they come with the labels for state and logical_number so I will have to work with Vega to get some aggregations. I'm not experienced in Vega so it'll take some time.

@@ -7,6 +7,7 @@

export const AGENT_NAME_DASHBOARD_FILE_MAPPING: Record<string, string> = {
nodejs: 'nodejs',
'opentelemetry/nodejs': 'opentelemetry-nodejs',
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: I would use opentelemetry_nodejs (underscore) similar to the filename for consistency.

Copy link
Member Author

Choose a reason for hiding this comment

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

done!

Copy link
Contributor

@kpatticha kpatticha left a comment

Choose a reason for hiding this comment

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

Thanks for adding this @david-luna . The code LGTM, I couldn't test the UI cause I couldn't find any metrics data on edge-light for opentelemetry-node services.

@kpatticha
Copy link
Contributor

Unless I miss something the metrics tab seems to be broken for other oTel services (if not all) on edge-lite.

FYI, @AlexanderWert are you aware of any work or ticket related to the metrics tab in APM?

@david-luna
Copy link
Member Author

Unless I miss something the metrics tab seems to be broken for other oTel services (if not all) on edge-lite.

you're right. The problem is that documents received from Open Telemetry agents have different shape and the fields do not match for our default metrics dashboard

FYI, @AlexanderWert are you aware of any work or ticket related to the metrics tab in APM?

this is the issue for reference elastic/apm#806

@kpatticha
Copy link
Contributor

Unless I miss something the metrics tab seems to be broken for other oTel services (if not all) on edge-lite.

you're right. The problem is that documents received from Open Telemetry agents have different shape and the fields do not match for our default metrics dashboard

FYI, @AlexanderWert are you aware of any work or ticket related to the metrics tab in APM?

this is the issue for reference elastic/apm#806

thanks

@david-luna david-luna enabled auto-merge (squash) January 28, 2024 09:00
@kibana-ci
Copy link
Collaborator

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
apm 1601 1602 +1

Async chunks

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

id before after diff
apm 3.1MB 3.2MB +10.0KB

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@david-luna david-luna merged commit d791cdf into main Jan 28, 2024
19 checks passed
@david-luna david-luna deleted the feat-add-otel-host-metrics-memory branch January 28, 2024 09:26
@kibanamachine kibanamachine added v8.13.0 backport:skip This commit does not require backporting labels Jan 28, 2024
CoenWarmer pushed a commit to CoenWarmer/kibana that referenced this pull request Feb 15, 2024
… services (elastic#174700)

This PR adds a specific dashboard for metrics being reported by an opentelemetry nodejs agent.
As for now the UI is showing a default dashboard that does not conform to the document structure and therefore not showing the real values of the metrics.

The new dashboard contains 2 panels:
- memory usage in bytes
- memory utilization in %
CoenWarmer pushed a commit to CoenWarmer/kibana that referenced this pull request Feb 15, 2024
… services (elastic#174700)

This PR adds a specific dashboard for metrics being reported by an opentelemetry nodejs agent.
As for now the UI is showing a default dashboard that does not conform to the document structure and therefore not showing the real values of the metrics.

The new dashboard contains 2 panels:
- memory usage in bytes
- memory utilization in %
fkanout pushed a commit to fkanout/kibana that referenced this pull request Mar 4, 2024
… services (elastic#174700)

This PR adds a specific dashboard for metrics being reported by an opentelemetry nodejs agent.
As for now the UI is showing a default dashboard that does not conform to the document structure and therefore not showing the real values of the metrics.

The new dashboard contains 2 panels:
- memory usage in bytes
- memory utilization in %
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 release_note:feature Makes this part of the condensed release notes Team:obs-ux-infra_services Observability Infrastructure & Services User Experience Team v8.13.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants