Skip to content

Add tablet-tags/--init_tags stats#16695

Merged
deepthi merged 8 commits intovitessio:mainfrom
timvaillancourt:vttablet-tablet-tags-stat
Sep 25, 2024
Merged

Add tablet-tags/--init_tags stats#16695
deepthi merged 8 commits intovitessio:mainfrom
timvaillancourt:vttablet-tablet-tags-stat

Conversation

@timvaillancourt
Copy link
Copy Markdown
Contributor

@timvaillancourt timvaillancourt commented Sep 2, 2024

Description

This PR adds stats for the key/values set by --init_tags in vttablet. I assume it's unlikely that a tablet would have enough tags to generate too much metric cardinality

This allows a user to use this data to query/group tablets in observability tooling

Output example (heavily redacted):
Screenshot 2024-09-02 at 20 34 27

Related Issue(s)

Resolves #16696

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

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
@vitess-bot
Copy link
Copy Markdown
Contributor

vitess-bot bot commented Sep 2, 2024

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 Sep 2, 2024
@github-actions github-actions bot added this to the v21.0.0 milestone Sep 2, 2024
@codecov
Copy link
Copy Markdown

codecov bot commented Sep 2, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 69.44%. Comparing base (969e018) to head (291aeb8).
Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #16695      +/-   ##
==========================================
+ Coverage   69.41%   69.44%   +0.02%     
==========================================
  Files        1570     1570              
  Lines      202945   202948       +3     
==========================================
+ Hits       140880   140935      +55     
+ Misses      62065    62013      -52     

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

@timvaillancourt timvaillancourt added Component: Observability Pull requests that touch tracing/metrics/monitoring Component: VTTablet and 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 Sep 2, 2024
@timvaillancourt timvaillancourt marked this pull request as ready for review September 2, 2024 18:40
@timvaillancourt timvaillancourt added the Type: Enhancement Logical improvement (somewhere between a bug and feature) label Sep 2, 2024
Copy link
Copy Markdown
Member

@frouioui frouioui left a comment

Choose a reason for hiding this comment

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

This sounds good to me, the format in the /metrics output looks okay too.

@deepthi
Copy link
Copy Markdown
Collaborator

deepthi commented Sep 4, 2024

We don't seem to have any tests for tablet stats. Now may be a good time to add some.

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
@timvaillancourt
Copy link
Copy Markdown
Contributor Author

@deepthi I moved the .Set() loop to .exportStats() after finding that. I've added a test that checks the stats that are ouputted, let me know what you think 🙇

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Copy link
Copy Markdown
Collaborator

@deepthi deepthi left a comment

Choose a reason for hiding this comment

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

Nice!

@deepthi deepthi merged commit c4a9d39 into vitessio:main Sep 25, 2024
@timvaillancourt timvaillancourt deleted the vttablet-tablet-tags-stat branch September 25, 2024 21:24
timvaillancourt added a commit to slackhq/vitess that referenced this pull request Sep 30, 2024
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
tanjinx pushed a commit to slackhq/vitess that referenced this pull request Jun 11, 2025
Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
tanjinx added a commit to slackhq/vitess that referenced this pull request Jun 11, 2025
* Add tablet-tags/`--init_tags` stats (vitessio#16695)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

* Add `ChangeTabletTags` RPC to `vtctl`, `ChangeTags` RPC to `vttablet` (vitessio#16857)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

---------

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
Co-authored-by: Tim Vaillancourt <tim@timvaillancourt.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: VTTablet Type: Enhancement Logical improvement (somewhere between a bug and feature)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: add stats for tablet-tags

3 participants