awslabs / pireporter

A comprehensive tool for capturing performance metrics and workload snapshots, and generating in-depth comparison reports for Amazon Aurora PostgreSQL databases. Helps to troubleshoot problems, optimize instance size and cost.
Apache License 2.0
8 stars 4 forks source link

Error while creating compare report #6

Closed jayvardhancs closed 3 months ago

jayvardhancs commented 3 months ago

Hi Aychin,

Using the version 2.0.2, we are able to create snapshot and files are available in the snapshots folder. But we are getting error when creating compare report.

`[ec2-user@ip-** snapshots]$ pwd /home/ec2-user/pireporter-2.0.2/portable/snapshots [ec2-user@ip-** snapshots]$ ls -lart total 112 -rw-r--r--. 1 ec2-user ec2-user 56792 Jul 3 07:14 snapshot_pireporter-instance-1_20240703060000_20240703070000.json drwxr-xr-x. 5 ec2-user ec2-user 133 Jul 3 08:04 .. drwxr-xr-x. 2 ec2-user ec2-user 152 Jul 3 09:41 . -rw-r--r--. 1 ec2-user ec2-user 55544 Jul 3 09:41 snapshot_pireporter-instance-1_20240703083000_20240703093000.json [ec2-user@ip-** snapshots]$ cd .. [ec2-user@ip-** portable]$ ./pireporter --create-compare-report --snapshot snapshot_pireporter-instance-1_20240703060000_20240703070000.json --snapshot2 snapshot_pireporter-instance-1_20240703083000_20240703093000.json node:internal/process/promises:279 triggerUncaughtException(err, true / fromPromise /); ^

TypeError: Cannot read properties of undefined (reading 'toFixed') at generateInstanceRecommendationsHTML (/snapshot/pireporter/generateHTML.js) at /snapshot/pireporter/generateHTML.js [ec2-user@ip-** portable]$ pwd /home/ec2-user/pireporter-2.0.2/portable [ec2-user@ip-** portable]$`

aychin-aws commented 3 months ago

Could you please send me the both snapshots to aychin@amazon.com?

jayvardhancs commented 3 months ago

Hi Aychin, I have send files to the email address.

aychin-aws commented 3 months ago

The problem was during snapshot generation. Some metrics do not have max values. It could be because performance insights was newly enabled and didn't collected all data. Modified the logic to failover to avg value if max doesn't exist.

Uploaded v2.0.3.

You will need to regenerate snapshot_pireporter-instance-1_20240703083000_20240703093000.json again, then try to create reports.

jayvardhancs commented 3 months ago

Hi Aychin,

I am able to generate the compare report using version 2.0.3.

[ec2-user@ip-** portable]$ ./pireporter --create-compare-report --snapshot snapshot_pireporter-instance-1_20240703060000_20240703070000.json --snapshot2 snapshot_pireporter-instance-1_20240703083000_20240703093000.json PI report created and saved into /home/ec2-user/pireporter-2.0.3/portable/reports/compare_report_pireporter-instance-1_20240703060000_20240703070000-20240703083000_20240703093000.html [ec2-user@ip-** portable]$

jayvardhancs commented 3 months ago

Thanks for the support in solving the issues.

aychin-aws commented 3 months ago

Hope it will be helpful