-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Create portable dashboard for OTel .NET runtime metrics #184842
Create portable dashboard for OTel .NET runtime metrics #184842
Conversation
🤖 GitHub commentsExpand to view the GitHub comments
Just comment with:
|
a809b2a
to
a321915
Compare
#186167 fixed the issues described in this PR, and the dashboard now works as expected. I am marking this PR as ready for review. @kpatticha, this is the .NET version of #182107 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Pinging @elastic/obs-ux-infra_services-team (Team:obs-ux-infra_services) |
💛 Build succeeded, but was flaky
Failed CI StepsMetrics [docs]Module Count
Async chunks
To update your PR or re-run it, just comment with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
a321915
to
c930b8f
Compare
c930b8f
to
5e3dc46
Compare
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Module Count
Async chunks
History
|
Starting backport for target branches: 8.x |
## Summary Create a dedicated "portable dashboard" for OTel .NET. This uses metrics available in the [contrib](https://github.com/open-telemetry/opentelemetry-dotnet-contrib) runtime metrics library. These metrics are opt-in and not enabled by default in the vanilla SDK. Our Elastic distro brings in the package and enables them by default. Therefore, the dashboard will only work if a) the customer uses our distro or b) they enable the metrics themselves when using the vanilla SDK. Further, work is ongoing to define [semantic conventions for .NET runtime metrics](open-telemetry/semantic-conventions#1035). Once complete, the metrics will be implemented directly in the .NET runtime BCL and be available with no additional dependencies. The goal is to achieve that by .NET 9, which is not guaranteed. At that point, the metric names will change to align with the semantic conventions. This is not ideal, but it is our only option if we want to provide some form of runtime dashboard with the current metrics and OTel distro. As with elastic#182107, this dashboard uses a table for some of the data and this table doesn't seem to reflect the correct date filtering. Until there is a solution, this PR will remain in the draft, or we can consider dropping the table for the initial dashboard. ![image](https://github.com/elastic/kibana/assets/3669103/0be46495-e09f-4f4e-81e1-5f69361d5781) (cherry picked from commit 0600309)
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
… (#198795) # Backport This will backport the following commits from `main` to `8.x`: - [Create portable dashboard for OTel .NET runtime metrics (#184842)](#184842) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Steve Gordon","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-11-04T14:16:02Z","message":"Create portable dashboard for OTel .NET runtime metrics (#184842)\n\n## Summary\r\n\r\nCreate a dedicated \"portable dashboard\" for OTel .NET.\r\n\r\nThis uses metrics available in the\r\n[contrib](https://github.com/open-telemetry/opentelemetry-dotnet-contrib)\r\nruntime metrics library. These metrics are opt-in and not enabled by\r\ndefault in the vanilla SDK. Our Elastic distro brings in the package and\r\nenables them by default. Therefore, the dashboard will only work if a)\r\nthe customer uses our distro or b) they enable the metrics themselves\r\nwhen using the vanilla SDK.\r\n\r\nFurther, work is ongoing to define [semantic conventions for .NET\r\nruntime\r\nmetrics](https://github.com/open-telemetry/semantic-conventions/pull/1035).\r\nOnce complete, the metrics will be implemented directly in the .NET\r\nruntime BCL and be available with no additional dependencies. The goal\r\nis to achieve that by .NET 9, which is not guaranteed. At that point,\r\nthe metric names will change to align with the semantic conventions.\r\nThis is not ideal, but it is our only option if we want to provide some\r\nform of runtime dashboard with the current metrics and OTel distro.\r\n\r\nAs with #182107, this dashboard uses a table for some of the data and\r\nthis table doesn't seem to reflect the correct date filtering. Until\r\nthere is a solution, this PR will remain in the draft, or we can\r\nconsider dropping the table for the initial dashboard.\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/3669103/0be46495-e09f-4f4e-81e1-5f69361d5781)","sha":"0600309378bf124c193c2bb041f731ad9ee5090d","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:prev-minor","ci:project-deploy-observability","Team:obs-ux-infra_services","apm:review"],"title":"Create portable dashboard for OTel .NET runtime metrics","number":184842,"url":"https://github.com/elastic/kibana/pull/184842","mergeCommit":{"message":"Create portable dashboard for OTel .NET runtime metrics (#184842)\n\n## Summary\r\n\r\nCreate a dedicated \"portable dashboard\" for OTel .NET.\r\n\r\nThis uses metrics available in the\r\n[contrib](https://github.com/open-telemetry/opentelemetry-dotnet-contrib)\r\nruntime metrics library. These metrics are opt-in and not enabled by\r\ndefault in the vanilla SDK. Our Elastic distro brings in the package and\r\nenables them by default. Therefore, the dashboard will only work if a)\r\nthe customer uses our distro or b) they enable the metrics themselves\r\nwhen using the vanilla SDK.\r\n\r\nFurther, work is ongoing to define [semantic conventions for .NET\r\nruntime\r\nmetrics](https://github.com/open-telemetry/semantic-conventions/pull/1035).\r\nOnce complete, the metrics will be implemented directly in the .NET\r\nruntime BCL and be available with no additional dependencies. The goal\r\nis to achieve that by .NET 9, which is not guaranteed. At that point,\r\nthe metric names will change to align with the semantic conventions.\r\nThis is not ideal, but it is our only option if we want to provide some\r\nform of runtime dashboard with the current metrics and OTel distro.\r\n\r\nAs with #182107, this dashboard uses a table for some of the data and\r\nthis table doesn't seem to reflect the correct date filtering. Until\r\nthere is a solution, this PR will remain in the draft, or we can\r\nconsider dropping the table for the initial dashboard.\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/3669103/0be46495-e09f-4f4e-81e1-5f69361d5781)","sha":"0600309378bf124c193c2bb041f731ad9ee5090d"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/184842","number":184842,"mergeCommit":{"message":"Create portable dashboard for OTel .NET runtime metrics (#184842)\n\n## Summary\r\n\r\nCreate a dedicated \"portable dashboard\" for OTel .NET.\r\n\r\nThis uses metrics available in the\r\n[contrib](https://github.com/open-telemetry/opentelemetry-dotnet-contrib)\r\nruntime metrics library. These metrics are opt-in and not enabled by\r\ndefault in the vanilla SDK. Our Elastic distro brings in the package and\r\nenables them by default. Therefore, the dashboard will only work if a)\r\nthe customer uses our distro or b) they enable the metrics themselves\r\nwhen using the vanilla SDK.\r\n\r\nFurther, work is ongoing to define [semantic conventions for .NET\r\nruntime\r\nmetrics](https://github.com/open-telemetry/semantic-conventions/pull/1035).\r\nOnce complete, the metrics will be implemented directly in the .NET\r\nruntime BCL and be available with no additional dependencies. The goal\r\nis to achieve that by .NET 9, which is not guaranteed. At that point,\r\nthe metric names will change to align with the semantic conventions.\r\nThis is not ideal, but it is our only option if we want to provide some\r\nform of runtime dashboard with the current metrics and OTel distro.\r\n\r\nAs with #182107, this dashboard uses a table for some of the data and\r\nthis table doesn't seem to reflect the correct date filtering. Until\r\nthere is a solution, this PR will remain in the draft, or we can\r\nconsider dropping the table for the initial dashboard.\r\n\r\n\r\n![image](https://github.com/elastic/kibana/assets/3669103/0be46495-e09f-4f4e-81e1-5f69361d5781)","sha":"0600309378bf124c193c2bb041f731ad9ee5090d"}}]}] BACKPORT--> Co-authored-by: Steve Gordon <[email protected]>
Summary
Create a dedicated "portable dashboard" for OTel .NET.
This uses metrics available in the contrib runtime metrics library. These metrics are opt-in and not enabled by default in the vanilla SDK. Our Elastic distro brings in the package and enables them by default. Therefore, the dashboard will only work if a) the customer uses our distro or b) they enable the metrics themselves when using the vanilla SDK.
Further, work is ongoing to define semantic conventions for .NET runtime metrics. Once complete, the metrics will be implemented directly in the .NET runtime BCL and be available with no additional dependencies. The goal is to achieve that by .NET 9, which is not guaranteed. At that point, the metric names will change to align with the semantic conventions. This is not ideal, but it is our only option if we want to provide some form of runtime dashboard with the current metrics and OTel distro.
As with #182107, this dashboard uses a table for some of the data and this table doesn't seem to reflect the correct date filtering. Until there is a solution, this PR will remain in the draft, or we can consider dropping the table for the initial dashboard.