[pull] master from DataDog:master - #661
Merged
Merged
Conversation
* sap_hana: handle RC payload without per-query monitor_id The new DO_QUERY_ACTIONS format embeds monitor_ids in the SQL comment rather than as a top-level query field. Adapts the implementation: - Make monitor_id optional in the Query spec/model (was required) - Switch scheduling and scheduler dictionaries from monitor_id keys to a SHA-256 hash of the query text (stable, unique per query, survives check restarts since _last_execution is in-memory anyway) - Drop monitor_id from metrics tags (not reliable when absent) - Omit monitor_id from the event payload when not present rather than emitting null; include it when the RC payload does provide it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: add operational logs to data_observability job - Warn at startup that DO is enabled but no queries have been delivered yet (RC not reached the agent) - Warn when queries are skipped during validation with a summary count - Debug-log new DO connection open and statementTimeout used - Debug-log when connection is reopened due to per-query timeout change - Error-log with server/port when the DO connection fails to open - Warn explicitly when a query failure resets the DO connection Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: downgrade no-queries-configured log to debug Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: wire DataObservability into InstanceConfig and add changelog Regenerate instance.py from spec.yaml via `ddev validate models -s sap_hana`. The hand-edited file had the DataObservability/Query/Entity/CustomSqlSelectFields classes but was missing `data_observability: Optional[DataObservability] = None` in InstanceConfig, so any data_observability block in conf.yaml was silently ignored. Also add the changelog entry for PR #23965. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: add unit tests for data_observability job 42 tests across 6 classes covering _query_key (hash stability and format), _filter_valid_queries (interval, cron, invalid cron, missing/zero/negative interval, mixed inputs, scheduler keying, warning emission), _get_due_queries (first run, elapsed, not-yet-elapsed, scheduled_time math, cron mode), _build_base_tags (config_id tag, dd.internal filtering, None tags), _build_event_payload (monitor_id present/absent, entity/custom_sql_select_fields serialization, dbname, config_id, result merge), and _execute_single_query (success path, HanaError status and connection reset, default and per-query timeout routing). Tests bypass DBMAsyncJob.__init__ via __new__ and use real Pydantic models from config_models.instance. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: document RC allow_list requirement for DO query actions Without sap_hana in remote_configuration.agent_integrations.allow_list, the Agent silently drops any DO query dispatched by the backend with no user-visible error. Add a Data Observability query actions section to the README explaining the requirement. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: sync conf.yaml.example with data_observability spec Regenerate conf.yaml.example via ddev validate config -s sap_hana to add the data_observability block (enabled, collection_interval) that was missing after the spec.yaml update, fixing CI config and models validation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: replace em dash with ASCII in README The readme validator rejects non-ASCII characters. Replace the em dash in the Data Observability query actions section with plain text. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: document collect_schemas requirement for DO query actions Data Observability query actions require schema collection to be enabled. Add a note in the Data Observability section pointing users to the collect_schemas configuration block. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: mark data_observability spec block as hidden The data_observability config is injected by the Agent's RC handler and must not be user-edited. Marking it hidden keeps it out of the generated conf.yaml.example and any UI config panels. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: wire DO job into check and honor TLS for DO connection - Import and instantiate SapHanaDataObservability in SapHanaCheck.__init__; call run_job_loop(tags) in check() when data_observability.enabled, matching the postgres integration pattern. - Extract _get_connection_properties() from get_connection() so the DO async job can open its own connection (needed for per-query statementTimeout) with the same TLS settings as the main check connection. Previously the DO connection silently ignored use_tls/tls_* instance options. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: sync instance.py formatting with CI ddev version CI uses an internal ddev 17.x that formats multi-argument call returns as single lines; local ddev 14.4.0 wraps them. Manually collapse the three validator return statements to match the format CI expects. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: bump minimum datadog-checks-base to 37.39.0 for CronScheduler CronScheduler (used in data_observability.py) was introduced in datadog-checks-base 37.39.0; the prior minimum of 37.33.0 caused an ImportError in the minimum-base-package CI job. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * sap_hana: address DO review feedback (cancel, query key, query_timeout) Key the Data Observability scheduler off the monitor_id when the RC payload carries a real (non-zero) one — the forward-looking contract shared with Postgres — and fall back to a hash of the query text otherwise. This matters because the payload delivered to agents today carries no per-query monitor_id (it decodes to 0/None); keying purely off monitor_id would collapse every query onto 0. The query-text fallback is safe because the SQL embeds the monitor id(s) it serves (in a trailing Datadog comment, or the column alias for custom SQL), so distinct monitors always produce distinct query text. The key upgrades to monitor_id automatically once the backend starts emitting it. Rename the per-query timeout_seconds option to query_timeout in milliseconds to align with the Postgres DO config and the agent RC handler, which delivers query_timeout as timeout_seconds * 1000. Add SapHanaCheck.cancel() so the DBMAsyncJob thread pool is released when the check is unscheduled (cluster-agent flavor / one-off runs). Apply reviewer doc suggestions in the README and spec. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * sap_hana: address DO review feedback (conn teardown, run_job resilience, test style) - Close the DO connection before clearing its reference on query failure to avoid leaking the server-side HANA session; extract a _close_connection helper reused by shutdown, reconnect, and the failure path. - Acquire the connection inside _execute_single_query's try so a failure to (re)open it is reported as a per-query error instead of aborting the whole run_job cycle and silently skipping remaining due queries. - Add run_job unit tests, including the connection-open-failure case. - Flatten the data_observability test classes into module-level functions and drop the private-method section dividers. - README wording tweak and changelog note for the datadog-checks-base bump. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* (DOCS-14726) Update search_sstring true description * (DOCS-14726) Changelog fragment * (DOCS-14726) Small clarification fix
* Add MongoDB 8.0.16 WiredTiger eviction metrics * Fix MongoDB WiredTiger metrics CI failures * Fix MongoDB WiredTiger metric metadata unit * Fix MongoDB test lint * Change unit for application thread eviction time Updated the unit for application thread time spent evicting pages per second from 'microsecond' to 'microsecond, second'. * Fix MongoDB metric metadata unit * Revert "Fix MongoDB metric metadata unit" This reverts commit 8475557. * Change metric type for application thread eviction time Updated the metric type for application thread time spent evicting pages per second from 'microsecond' to 'fraction'.
* Bump openssl to version 3.6.3 * Update dependency resolution --------- Co-authored-by: dd-agent-integrations-bot[bot] <dd-agent-integrations-bot[bot]@users.noreply.github.com>
Co-authored-by: steveny91 <19823071+steveny91@users.noreply.github.com>
…24509) * Document single_endpoint_mode per-node metrics for ClickHouse Cloud Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Update Agent version to 7.83.0 for per-node collection Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Rephrase single_endpoint_mode note for clarity --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* migrate test-target to dd-sts * add permissions * fix * add to callers
…minutes (#24554) * kafka_consumer: keep broker_timestamps in memory and persist every 5 min Loading and marshalling the whole broker_timestamps cache on every run created a large, growing transient allocation each cycle (the cache grows toward its per-cluster cap), which fragments the heap. Keep the cache in memory across runs (loading from disk only once) and persist it to disk at most every 5 minutes, so per-run allocation churn no longer scales with the cache size. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Add changelog entry for periodic broker_timestamps persistence Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Address review: drop leading underscores on new cache attributes, remove comments Rename broker_timestamps / broker_timestamps_last_save without a leading underscore per the repo naming convention (leading underscores are reserved for Pydantic private attributes), and drop the explanatory comments. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…each run (#24553) * kafka_consumer: return freed memory to the OS with malloc_trim after each run librdkafka's many threads spread allocations across glibc arenas whose freed memory is retained per-arena and never returned to the OS, so agent RSS ratchets up over time. Call malloc_trim(0) after each check run (glibc/Linux only; a no-op on macOS and musl) so that per-arena free memory is handed back each cycle. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Add changelog entry for malloc_trim Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * Address review: drop leading underscores on malloc helpers, remove comment Rename load_malloc_trim / malloc_trim without a leading underscore per the repo naming convention for module-level helpers, and drop the explanatory comment. 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 : )