Add configurable retry jitter to Go client - #784
Conversation
| let envelope = build_agent_envelope(data, None)?; | ||
| return Ok(go_html_escape(&serde_json::to_string_pretty(&envelope)?)); | ||
| } | ||
| fn print_yaml(data: &serde_json::Value) -> Result<()> { |
There was a problem hiding this comment.
Restore the removed formatter functions
The CLI cannot build.
Assertion details
- Input: Build the CLI with the default feature set.
- Expected:
The formatter must keep the functions that rate-limit code uses. - Actual:
The compiler cannot find eprint_formatted or format_value_to_string. rate_limit.rs still calls both functions.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest · Open Bits AI session
| command: Some("downtimes list".to_string()), | ||
| next_action, | ||
| }; | ||
| formatter::format_and_print(&resp, &cfg.output_format, cfg.agent_mode, Some(&meta)) |
There was a problem hiding this comment.
The CLI cannot build.
Assertion details
- Input: Build the CLI with the new downtime module.
- Expected:
Each call must pass the configured jq value or None. - Actual:
Both new list functions pass four arguments to a function that requires five arguments.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest · Open Bits AI session
| let mut builder = ClientBuilder::new(reqwest_client) | ||
| .with(UserAgentMiddleware) | ||
| .with(RateLimitCaptureMiddleware); | ||
| let mut builder = ClientBuilder::new(reqwest_client).with(UserAgentMiddleware); |
There was a problem hiding this comment.
Users lose the data that they need to select a safe retry time.
Assertion details
- Input: Run a typed SDK command that receives HTTP 429 with rate-limit headers.
- Expected:
The SDK middleware must store rate-limit headers for error output. - Actual:
The SDK client no longer stores rate-limit response headers. A 429 error therefore has no rule, limit, remaining count, or reset value.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest · Open Bits AI session
There was a problem hiding this comment.
The --verbose option no longer provides its documented rate-limit output.
Assertion details
- Input: Run a successful typed SDK command with --verbose.
- Expected:
A successful command with --verbose must also print rate-limit data to standard error. - Actual:
The formatter prints only the command result. It no longer prints the captured rate-limit data.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest · Open Bits AI session
| "apm_service_catalog_read", | ||
| "apm_service_ingest_read", | ||
| "appsec_vm_read", | ||
| "apps_run", |
There was a problem hiding this comment.
Entity graph users lose repository, code analysis, and vulnerability context.
Assertion details
- Input: Use default or read-only OAuth login. Then query entity graph context that needs the removed scopes.
- Expected:
OAuth login must request the scopes that the entity graph commands require. - Actual:
The default and read-only scope lists omit repo_info_read, code_analysis_read, and appsec_vm_read.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest · Open Bits AI session
| "v2.update_tag_rule", | ||
| // RUM Session Replay (1) | ||
| "v2.get_segments", | ||
| // Tag Policies (6) |
There was a problem hiding this comment.
The RUM replay-segments command stops working for all users of that command.
Assertion details
- Input: Run the RUM replay-segments command.
- Expected:
The client configuration must enable v2.get_segments. - Actual:
The unstable operation list no longer enables v2.get_segments. The existing replay-segments command fails before it sends the request.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest · Open Bits AI session
| .await | ||
| .map_err(|e| anyhow::anyhow!("failed to list_downtimes: {:?}", e))?; | ||
| let count = resp.data.as_ref().map_or(0, |d| d.len()); | ||
| let truncated = false; |
There was a problem hiding this comment.
Agents can treat a partial downtime list as a complete list.
Assertion details
- Input: Use agent mode with a page limit that is less than meta.page.total_filtered_count.
- Expected:
The metadata must show truncation when the total count is greater than the returned page. It must provide a continuation action. - Actual:
Both downtime list commands always set truncated to false. They also provide no next action.
Was this helpful? React 👍 or 👎
🤖 Datadog Autotest · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest · Open Bits AI session
There was a problem hiding this comment.
The patch cannot compile. It removes formatter functions that rate-limit code still calls, and both new list commands call format_and_print with too few arguments.
🤖 Datadog Autotest · Commit c1aeb39 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
|
See DataDog/datadog-api-spec#6570 Test branch datadog-api-spec/test/nogates/port-go-sdk-changes