Skip to content

vtorc: add stats for discovery workers#17937

Merged
timvaillancourt merged 1 commit intovitessio:mainfrom
timvaillancourt:vtorc-discovery-worker-util-stats
Mar 17, 2025
Merged

vtorc: add stats for discovery workers#17937
timvaillancourt merged 1 commit intovitessio:mainfrom
timvaillancourt:vtorc-discovery-worker-util-stats

Conversation

@timvaillancourt
Copy link
Contributor

@timvaillancourt timvaillancourt commented Mar 8, 2025

Description

This PR adds two gauges to VTOrc:

  • DiscoveryWorkers/vtorc_discovery_workers - the number of discovery worker goroutines
  • DiscoveryWorkersActive/vtorc_discovery_workers_active - the number of discovery worker goroutines currently doing work

This will be useful for tuning discovery worker/queue concurrency

Related Issue(s)

#17330

Checklist

  • "Backport to:" labels have been added if this change should be back-ported to release branches
  • If this change is to be back-ported to previous releases, a justification is included in the PR description
  • Tests were added or are not required
  • Did the new or modified tests pass consistently locally and on CI?
  • Documentation was added or is not required

Deployment Notes

@timvaillancourt timvaillancourt added Component: Observability Pull requests that touch tracing/metrics/monitoring Component: VTOrc Vitess Orchestrator integration labels Mar 8, 2025
@timvaillancourt timvaillancourt self-assigned this Mar 8, 2025
@vitess-bot
Copy link
Contributor

vitess-bot bot commented Mar 8, 2025

Review Checklist

Hello reviewers! 👋 Please follow this checklist when reviewing this Pull Request.

General

  • Ensure that the Pull Request has a descriptive title.
  • Ensure there is a link to an issue (except for internal cleanup and flaky test fixes), new features should have an RFC that documents use cases and test cases.

Tests

  • Bug fixes should have at least one unit or end-to-end test, enhancement and new features should have a sufficient number of tests.

Documentation

  • Apply the release notes (needs details) label if users need to know about this change.
  • New features should be documented.
  • There should be some code comments as to why things are implemented the way they are.
  • There should be a comment at the top of each new or modified test to explain what the test does.

New flags

  • Is this flag really necessary?
  • Flag names must be clear and intuitive, use dashes (-), and have a clear help text.

If a workflow is added or modified:

  • Each item in Jobs should be named in order to mark it as required.
  • If the workflow needs to be marked as required, the maintainer team must be notified.

Backward compatibility

  • Protobuf changes should be wire-compatible.
  • Changes to _vt tables and RPCs need to be backward compatible.
  • RPC changes should be compatible with vitess-operator
  • If a flag is removed, then it should also be removed from vitess-operator and arewefastyet, if used there.
  • vtctl command output order should be stable and awk-able.

@vitess-bot vitess-bot bot added NeedsBackportReason If backport labels have been applied to a PR, a justification is required NeedsDescriptionUpdate The description is not clear or comprehensive enough, and needs work NeedsIssue A linked issue is missing for this Pull Request NeedsWebsiteDocsUpdate What it says labels Mar 8, 2025
@timvaillancourt timvaillancourt marked this pull request as ready for review March 8, 2025 01:34
@github-actions github-actions bot added this to the v22.0.0 milestone Mar 8, 2025
@timvaillancourt timvaillancourt removed NeedsDescriptionUpdate The description is not clear or comprehensive enough, and needs work NeedsWebsiteDocsUpdate What it says NeedsIssue A linked issue is missing for this Pull Request NeedsBackportReason If backport labels have been applied to a PR, a justification is required labels Mar 8, 2025
@codecov
Copy link

codecov bot commented Mar 8, 2025

Codecov Report

Attention: Patch coverage is 9.09091% with 10 lines in your changes missing coverage. Please review.

Project coverage is 67.55%. Comparing base (526665e) to head (1f5cbac).
Report is 24 commits behind head on main.

Files with missing lines Patch % Lines
go/vt/vtorc/logic/vtorc.go 0.00% 10 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #17937      +/-   ##
==========================================
- Coverage   67.56%   67.55%   -0.02%     
==========================================
  Files        1597     1597              
  Lines      259780   259787       +7     
==========================================
- Hits       175516   175488      -28     
- Misses      84264    84299      +35     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
@timvaillancourt timvaillancourt merged commit dd5d4c8 into vitessio:main Mar 17, 2025
103 checks passed
@timvaillancourt timvaillancourt deleted the vtorc-discovery-worker-util-stats branch March 17, 2025 15:10
timvaillancourt added a commit to slackhq/vitess that referenced this pull request Mar 17, 2025
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
timvaillancourt added a commit to slackhq/vitess that referenced this pull request Mar 17, 2025
* `vtorc`: remove duplicate instance read from backend (vitessio#17834)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* `vtorc`: add index for `inst.ReadInstanceClusterAttributes` table scan (vitessio#17866)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* Add stats for shards watched by VTOrc, purge stale shards (vitessio#17815)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* Remove unused code in discovery queue creation (vitessio#17515)

Signed-off-by: Manan Gupta <manan@planetscale.com>

* `vtorc`: cleanup discover queue, add concurrency flag (vitessio#17825)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* make compat with v21

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* `vtorc`: use `errgroup` in keyspace/shard discovery (vitessio#17857)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* missing `sync` import

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* `vtorc`: skip unnecessary backend read in `logic.LockShard(...)` (vitessio#17900)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* `vtorc`: add tablets watched stats (vitessio#17911)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* `vtorc`: add stats for discovery workers (vitessio#17937)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

---------

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Observability Pull requests that touch tracing/metrics/monitoring Component: VTOrc Vitess Orchestrator integration Type: Internal Cleanup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants