Skip to content

Add AMS health probe to blazemeter - #25072

Draft
philjlee wants to merge 2 commits into
masterfrom
philip.lee/health-probe-blazemeter
Draft

Add AMS health probe to blazemeter#25072
philjlee wants to merge 2 commits into
masterfrom
philip.lee/health-probe-blazemeter

Conversation

@philjlee

@philjlee philjlee commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Impact

  • If the connection checking feature works and the credentials are bad, the save still succeeds but the user gets a status/error message indicating that the credentials do not work
  • If the connection checking feature works and the credentials are good, the save succeeds with no additional information
  • If the connection checking feature itself is broken there will be no impact to users — they save the credentials (good or bad) with no feedback.

What this does

Adds an AMS health probe to the blazemeter integration's assets/account_config.json so the account service can verify credentials when a user saves an account.

The probe only runs when all three of supported_auth_methods, supported_connection_methods, and health_probe are present. This change declares all three:

  • supported_auth_methods — basic auth.
  • supported_connection_methods — a fixed base URL of https://a.blazemeter.com/api.
  • health_probe — a GET to /v4/search with an Accept: application/json header. With the auth attached, a 2xx means the credentials are valid; a 401 means they are not.

Backward compatibility

This integration previously had no account_config.json; the credential fields were declared in crawler-sdk's account_config_fields(). The field key values here match exactly what the crawler reads, so existing accounts keep working unchanged.

Testing

  • The probe needs to be validated in staging before it goes to production. Specifically, GET /v4/search with valid credentials must return a 2xx, and with invalid credentials a 401.

🤖 Generated with Claude Code

@cit-pr-commenter-54b7da

Copy link
Copy Markdown

evalya-impact-summary

evalya impact analysis
Impact analysis: 0 selected, 0 skipped (of 0 test tasks)
Publish tasks:   2 (always emitted)
Diff (1 file):
  blazemeter/assets/account_config.json

Debug a specific task: evalya plan impact --path <path> --task <task>

Learn more about CI impact filtering

philjlee commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Parked — requires a paired crawler-sdk change

This PR is parked because the validate-account-config-runtime CI check fails with:

Crawler does not define account_config_dependencies — all crawler-sdk crawlers must define AccountConfigDependencies

Adding an account_config.json triggers the runtime check, which requires the crawler-sdk client to declare account_config_dependencies=AccountConfigDependencies(fields={...}, dataflows={...}) in its config(). This crawler doesn't yet — it predates the requirement and previously had no account_config.json.

To unblock: add account_config_dependencies to the crawler's config() in DataDog/crawler-sdk (a ~3-line change), then this PR goes green. That's a cross-repo change tracked separately.

Leaving as draft for now. No action needed here until the crawler-sdk side lands.

Add supported_auth_methods, supported_connection_methods (fixed base
URL), and a health_probe so the account service can verify credentials
when a user saves an account. A 2xx means the credentials are valid;
a 401 means they are not.
The /v4/search endpoint is a POST, not GET. Use a minimal search
payload (entity=master, limit=1) so the probe validates credentials
without pulling data.
@philjlee
philjlee force-pushed the philip.lee/health-probe-blazemeter branch from 0857c61 to 46e05ba Compare September 2, 2026 18:16
@dd-octo-sts

dd-octo-sts Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Validation Report

All 21 validations passed.

Show details
Validation Description Status
agent-reqs Verify check versions match the Agent requirements file
ci Validate CI configuration and code coverage settings
codeowners Validate every integration has a CODEOWNERS entry
config Validate default configuration files against spec.yaml
dep Verify dependency pins are consistent and Agent-compatible
http Validate integrations use the HTTP wrapper correctly
imports Validate check imports do not use deprecated modules
integration-style Validate check code style conventions
jmx-metrics Validate JMX metrics definition files and config
labeler Validate PR labeler config matches integration directories
legacy-signature Validate no integration uses the legacy Agent check signature
license-headers Validate Python files have proper license headers
licenses Validate third-party license attribution list
metadata Validate metadata.csv metric definitions
models Validate configuration data models match spec.yaml
openmetrics Validate OpenMetrics integrations disable the metric limit
package Validate Python package metadata and naming
qa-label Validate the pull request declares whether it needs QA for the next Agent release
readmes Validate README files have required sections
saved-views Validate saved view JSON file structure and fields
version Validate version consistency between package and changelog

View full run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant