Conversation
Adds a new `citus` collector (disabled by default) that monitors Citus distributed database statistics: worker nodes, distributed table sizes, shard placement/sizes, connection stats, and distributed query activity. Gracefully skips when Citus extension is not installed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
nbari
left a comment
There was a problem hiding this comment.
tests are not passing (cargo clippy --all-targets --all-features)
|
Hi @pdeaudney, thanks for the PR, please check the formant / lint tests |
- Rename res to response in add_trace_headers to fix similar_names lint - Add #[must_use] to get_scraper and all_factories in register_macro - Use assert!(..is_ok()) instead of .unwrap() in tests (project convention) - Fix register_metrics span lifecycle: remove span.enter(), add drop(span) - Use #[derive(Clone, Default)] matching other composite collectors - Remove _total suffix from GaugeVec metrics (reserved for counters per Prometheus naming) - Add graceful error handling to nodes.rs query matching other sub-collectors Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Only swallow errors when the specific view/table name appears in the error message (indicating it doesn't exist on this Citus version). All other errors (transient connection failures, timeouts, etc.) are now propagated so they surface as failed scrapes rather than silently producing empty metrics. Matches the pattern used by archiver.rs and wal.rs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Hi @pdeaudney, the format now is not passing |
- Add explicit ::bigint, ::integer, ::double precision, ::text casts to all 9 Citus sub-collector queries for type safety - Add metric finiteness and non-negativity verification to Citus integration tests - Add empty-table edge-case test (extension only, no data) - Update AGENTS.md to reflect Docker/Podman auto-detection - Update CHANGELOG.md with all unreleased Citus changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Have expanded on the integration tests a lot. |
|
Hi @pdeaudney looks good, but now sign/squash the commit to pass the flow |
|
@pdeaudney merge is blocked by the branch rule Right now these commits in the PR are
The two merge commits are verified, but that is not enough while the older commits remain unsigned. To fix it, rewrite the PR branch with signed commits and force-push it. Typical flow from the PR branch: git checkout citus_support
git fetch origin
git rebase origin/develop -i
# mark each PR commit for edit
# for each stopped commit:
git commit --amend -S --no-edit
git rebase --continue
# repeat until complete
git push --force-with-lease origin citus_supportIf your Git signing is not configured yet, check first with: git config --get commit.gpgsign
git config --get user.signingkeyAfter the rewritten branch is pushed, GitHub should clear the merge block once all commits in the PR show as verified. |
Add citus support using test containers for Citus 12, 13 & 14.
Update local just file to allow Podman or Docker use locally.