[pull] master from DataDog:master#652
Merged
Merged
Conversation
* Update dependencies * Fix changelog PR numbers Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Pin redis, pymysql, cryptography back to master versions These three bumps break redisdb (redis 8 RESP3/HELLO), mysql+proxysql (pymysql 1.2 SSL default), and tls + macos-x86_64 build (cryptography 49). Pin them back so the remaining ~23 safe bumps can land green; the breaking bumps will be handled in dedicated follow-up PRs with integration fixes. Removed now-orphaned changelog entries for integrations whose only bump was one of the pinned packages (redisdb, proxysql, cacti, cisco_aci, http_check, singlestore). * Pin pyopenssl back to 26.2.0 (requires cryptography<49) pyopenssl 26.3.0 depends on cryptography>=49, which conflicts with the cryptography==48.0.1 pin and made the dependency set unresolvable. Pin pyopenssl back to master's 26.2.0 (compatible with cryptography 48). * Sync kueue kubernetes pin to 36.0.2 after merging master Master added the kueue integration (pinned kubernetes==35.0.0) after this PR was opened; the PR bumps the Agent to kubernetes==36.0.2, so the merged tree was inconsistent. ddev dep sync aligns kueue to 36.0.2. * Update dependency resolution * Pin kubernetes back to 35.0.0 to cut Agent size growth The kubernetes client wheel jumped 1.92MB -> 4.40MB between 35.0.0 and 36.0.2 (+2.48MB), ~70% of this PR's total dependency size growth, tripping the Agent static quality gate. Nothing here needs kubernetes 36, so pin it back. This also realigns kueue/kubevirt_api with master (orphaned changelog entries removed). * Update dependency resolution --------- Co-authored-by: FlorentClarret <1266346+FlorentClarret@users.noreply.github.com> Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: dkirov-dd <dkirov-dd@users.noreply.github.com> Co-authored-by: dd-agent-integrations-bot[bot] <dd-agent-integrations-bot[bot]@users.noreply.github.com>
…endpoint mode (#24266) * Collect standard system-table metrics per node in single endpoint mode In single endpoint mode the agent reaches a multi-node ClickHouse cluster through one load balancer, but the standard metric queries read per-node system tables directly (bare system.events/metrics/errors). Consecutive scrapes land on different nodes, so cumulative counters appear to jump up and down and the backend reports phantom monotonic_count spikes such as the false clickhouse.query.failed.count in SDBM-2746. Route the bulk-match metric queries and system.errors through clusterAllReplicas() and tag each row with hostName() when single_endpoint_mode is enabled, giving each node its own metric series (counters increment monotonically per node; gauges stop flapping). Direct connections are unchanged. system.parts/replicas/dictionaries use GROUP BY and are left for a follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Add changelog entry Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(clickhouse): simplify make_cluster_aware with regex subn Replace the manual search + start()/end() slicing with a single SYSTEM_TABLE_FROM_CLAUSE.subn() pass (count=1). The regex now consumes the whitespace before FROM so the per-node projection splices in without a gap before the comma, keeping the rewritten query byte-for-byte identical. Output and behavior are unchanged; all unit tests pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * style(clickhouse): fix ruff format of assert message in test_unit ruff 0.11.10 reformats the parenthesized assert condition back to the trailing-message form. Apply it so `ddev test --fmt` / CI lint passes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(clickhouse): trim make_cluster_aware docstring to a one-liner Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Replace runtime regex with static cluster-aware query variants Instead of rewriting system-table metric queries with a regex at runtime, define static cluster-aware query variants and select them in get_queries() based on single_endpoint_mode. - Add cluster_aware_query() helper in utils.py that reuses the base query's columns by reference (no duplication) and appends the clickhouse_node tag. - Define legacy variants in queries.py and advanced variants in advanced_queries (JSON-backed via load_match_query + SystemErrorsClusterAware). - Remove import re, SYSTEM_TABLE_FROM_CLAUSE, and make_cluster_aware(). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Drop ticket number from test docstring Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Simplify cluster_aware_query to derive SELECT/table from base query cluster_aware_query now takes only the base query dict and derives the SELECT list and table from base['query'], so call sites no longer restate column lists or table names. load_match_query reverts to its original signature; __getattr__ wraps the loaded query for ClusterAware names. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Build cluster-aware variants inline in get_queries Drop the static *ClusterAware definitions and the __getattr__ suffix handling; get_queries wraps each base query via cluster_aware_query() when single_endpoint_mode is on. queries.py and advanced_queries revert to base; the change now touches only utils.py, clickhouse.py, and the tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )