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

[yugabyted] [UI] mem-trackers API request is failing due to code changes of #2433 #18057

Closed
1 task done
nchandrappa opened this issue Jul 3, 2023 · 1 comment
Closed
1 task done
Assignees
Labels
area/ecosystem Label for all ecosystem related projects kind/bug This issue is a bug priority/medium Medium priority issue

Comments

@nchandrappa
Copy link
Contributor

nchandrappa commented Jul 3, 2023

Jira Link: DB-7105

Description

In #2433, /mem-trackers HTML page is updated to nest the metrics which breaks the HTML parsing currently used to retrieve the memory consumption and limit metrics.

For the short term, we will need to modify the regex in mem_trackers_http_request.GetMemTrackersFuture to match the new HTML tag.

For the long term, A new REST endpoint api/v1/mem-trackers should be added to the Master and Tserver UI to replace the HTML parsing with the new endpoint in yugabyted-ui API server.

Warning: Please confirm that this issue does not contain any sensitive information

  • I confirm this issue does not contain any sensitive information.
@nchandrappa nchandrappa added area/ecosystem Label for all ecosystem related projects status/awaiting-triage Issue awaiting triage area/ybd yugabyted project related Github tickets. labels Jul 3, 2023
@yugabyte-ci yugabyte-ci added kind/bug This issue is a bug priority/medium Medium priority issue labels Jul 3, 2023
nchandrappa added a commit that referenced this issue Jul 4, 2023
…-trackers page.

Summary:
/mem-trackers HTML page is updated to nest the metrics which breaks the HTML parsing currently used
to retrieve the memory consumption and limit metrics. Making required changes to the regex for
parsing the HTML page.
Jira: DB-7105

Test Plan: manual test

Reviewers: sgarg-yb

Reviewed By: sgarg-yb

Subscribers: nikhil

Differential Revision: https://phorge.dev.yugabyte.com/D26624
dr0pdb pushed a commit to dr0pdb/yugabyte-db that referenced this issue Jul 6, 2023
… of /mem-trackers page.

Summary:
/mem-trackers HTML page is updated to nest the metrics which breaks the HTML parsing currently used
to retrieve the memory consumption and limit metrics. Making required changes to the regex for
parsing the HTML page.
Jira: DB-7105

Test Plan: manual test

Reviewers: sgarg-yb

Reviewed By: sgarg-yb

Subscribers: nikhil

Differential Revision: https://phorge.dev.yugabyte.com/D26624
@yugabyte-ci yugabyte-ci removed status/awaiting-triage Issue awaiting triage area/ybd yugabyted project related Github tickets. labels Oct 10, 2023
@nchandrappa nchandrappa self-assigned this Oct 11, 2023
djiang9001 pushed a commit that referenced this issue Oct 18, 2023
Summary:
Currently the yugabyted UI parses the HTML page at the `/mem-trackers` master server endpoint to get memory usage data.
This diff implements a JSON endpoint at `/api/v1/mem-trackers` so we don't have to parse HTML, which can be unreliable (i.e. if the page changes).
The mem-trackers data is structured in a tree, so the JSON object will also be structured like a tree, with a `children` property.
Below is a snippet of a sample response:
```
{
    "id": "root",
    "limit_bytes": 6012954214,
    "current_consumption_bytes": 27869184,
    "peak_consumption_bytes": 36847616,
    "children":
    [
        {
            "id": "TCMalloc Central Cache Freelist->root",
            "limit_bytes": -1,
            "current_consumption_bytes": 2737712,
            "peak_consumption_bytes": 2840320,
            "children":
            []
        },
        ...
    ]
}
```
Jira: DB-7105

Test Plan: manual testing for correct output, added endpoint to TestMasterPathHandlers test in tserver_path_handlers-itest.cc

Reviewers: nikhil, rahuldesirazu

Reviewed By: rahuldesirazu

Subscribers: rahuldesirazu, yugabyted-dev, ybase, esheng, bogdan, djiang

Differential Revision: https://phorge.dev.yugabyte.com/D29400
djiang9001 pushed a commit that referenced this issue Oct 19, 2023
…d UI apiserver

Summary:
Change the yugabyted UI apiserver to use the new /api/v1/mem-trackers master/tserver JSON endpoints instead of parsing the HTML mem-trackers page.
Jira: DB-7105

Test Plan: no test plan

Reviewers: nikhil

Reviewed By: nikhil

Subscribers: yugabyted-dev, djiang

Differential Revision: https://phorge.dev.yugabyte.com/D29478
@nchandrappa
Copy link
Contributor Author

Code changes landed to add new API /api/v1/mem-trackers to YugabyteDB Master and Tserver endpoints.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ecosystem Label for all ecosystem related projects kind/bug This issue is a bug priority/medium Medium priority issue
Projects
None yet
Development

No branches or pull requests

2 participants