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

Merge all dashboards PRs into chrome #4567

Merged
merged 4 commits into from
Dec 30, 2024
Merged

Merge all dashboards PRs into chrome #4567

merged 4 commits into from
Dec 30, 2024

Conversation

vitorguidi
Copy link
Collaborator

This adds all PRs related to the terraform dashboard.

### Motivation

As a final step for the monitoring project, this PR creates a dashboard
for overall system health.

The reasoning behind it is to have:
* Business level metrics (fuzzing hours, generated testcases, issues
filed, issues closed, testcases for which processing is pending)
* Testcase metrics (untriaged testcase age and count)
* SQS metrics (queue size, and published messages, per topic)
* Datastore/GCS metrics (number of requests, error rate, and latencies)
* Utask level metrics (duration, number of executions, error rate,
latency)

These are sufficient to apply the [RED
methodology](https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your-services/)
(rate, error and duration), provide high level metrics we can alert on,
and aid in troubleshooting outages with a well defined methodology.

There were two options to commit this to version control: terraform, or
butler definitions. The first was chosen, since it is the preffered long
term solution, and it is also simpler to implement, since it supports
copy pasting the JSON definition from GCP.

### Attention points

This should be automatically imported from main.tf, so it (should be)
sufficient to just place the .tf file in the same folder, and have
butler deploy handle the terraform apply step.

### How to review

Head over to go/cf-chrome-health-beta, internally. It is not expected
that the actual dashboard definition is reviewed, it is just a dump of
what was manually created in GCP.

Part of #4271
Reverting #4497 due to terraform apply erroring out, will reland once it
is fixed.
This brings back #4497 . The issue was that, in promql definitions, the
'{}' characters were lacking a double escape (\\\\{ and \\\\}).
Also, the only parameter to the terraform object should be
dashboard_json.

Testing: terraform validate


![image](https://github.com/user-attachments/assets/f67434d0-c8e4-4bc0-be38-27188c98ea49)

Part of #4271
Chrome is split in two projects internally, and the current way
terraform is organized will create the dashboard in the wrong project.

This PR makes the dashboard reference the secondary project id, thus
solving the problem.

Part of #4271
Copy link
Collaborator

@jonathanmetzman jonathanmetzman left a comment

Choose a reason for hiding this comment

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

looksgoodtome

@vitorguidi vitorguidi merged commit 5fdead8 into chrome Dec 30, 2024
3 checks passed
@vitorguidi vitorguidi deleted the chore/chrome-dash branch December 30, 2024 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants