Skip to content

move parser to go - #24915

Draft
sarah-witt wants to merge 8 commits into
masterfrom
sarah/patch-go-client
Draft

move parser to go#24915
sarah-witt wants to merge 8 commits into
masterfrom
sarah/patch-go-client

Conversation

@sarah-witt

Copy link
Copy Markdown
Collaborator

What does this PR do?

Motivation

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add qa/required if this PR needs QA validation, or qa/skip-qa if it does not. Exactly one of the two is required.
  • If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Aug 19, 2026

Copy link
Copy Markdown

Pipelines  Tests  Code Coverage

⚠️ Warnings

🚦 20 Pipeline jobs failed

PR All | test / j0c16521 / Istio — 🔧 Needs a code fix, caused by this PR

View in Datadog · View in GitHub Actions

1 failed test. AssertionError: Needed at least 1 candidates for 'istio.ztunnel.proxies_started.count', got 0.

PR All | test / j5dc7466 / Impala — 🔧 Needs a code fix, caused by this PR

View in Datadog · View in GitHub Actions

3 failed tests: 'impala.catalog.server_topic_processing_time_s_total.count', 'impala.daemon.io_mgr_queue.write_io_error_total.count', and 'impala.statestore.topic_update_durations.count' all expected at least 1 candidates, got 0.

PR All | test / j694032b / RabbitMQ — 🔧 Needs a code fix, caused by this PR

View in Datadog · View in GitHub Actions

6 failed tests due to assertion errors: metrics expected were not received from RabbitMQ, including 'rabbitmq.erlang.vm.msacc.gc_full_seconds.count'.

View all 20 failed jobs.

📋 Copy prompt for your agent
CI on my pull request is failing. Help me find and fix the root cause of each failing job below — they were flagged as caused by changes in this PR, so focus on the diff. For each job, explain the failure and propose a fix.

Branch: sarah/patch-go-client

PR All | test / j0c16521 / Istio
Commit: 5e9fe6f5588ec5e684a112314b5a693d6bba69be
Error (code / test):
1 failed test. AssertionError: Needed at least 1 candidates for 'istio.ztunnel.proxies_started.count', got 0.
CI job: https://github.com/DataDog/integrations-core/actions/runs/32374943039/job/96444000821

PR All | test / j5dc7466 / Impala
Commit: 5e9fe6f5588ec5e684a112314b5a693d6bba69be
Error (code / test):
3 failed tests: 'impala.catalog.server_topic_processing_time_s_total.count', 'impala.daemon.io_mgr_queue.write_io_error_total.count', and 'impala.statestore.topic_update_durations.count' all expected at least 1 candidates, got 0.
CI job: https://github.com/DataDog/integrations-core/actions/runs/32374943039/job/96444002305

PR All | test / j694032b / RabbitMQ
Commit: 5e9fe6f5588ec5e684a112314b5a693d6bba69be
Error (code / test):
6 failed tests due to assertion errors: metrics expected were not received from RabbitMQ, including 'rabbitmq.erlang.vm.msacc.gc_full_seconds.count'.
CI job: https://github.com/DataDog/integrations-core/actions/runs/32374943039/job/96444018088

Plus 6 more failing jobs not shown here.

🧪 42 Tests failed in 2 jobs

PR All | run — ❌ 13 tests failed

View in GitHub Actions

❌ test_database_teleport_metrics from test_database.py   View in Datadog
Needed at least 1 candidates for &#39;teleport.db.method_call_latency_seconds.bucket&#39;, got 0
Expected:
        MetricStub(name=&#39;teleport.db.method_call_latency_seconds.bucket&#39;, type=None, value=None, tags=None, hostname=None, device=None, flush_first_value=None)
Difference to closest:
        Expected name: teleport.db.method_call_latency_seconds.bucket
        Found teleport.db.method_call_count.count

Similar submitted:
Score   Most similar
0.74    MetricStub(name=&#39;teleport.db.method_call_count.count&#39;, type=2, value=20.0, tags=[&#39;endpoint:http://127.0.0.1:3000/metrics&#39;, &#39;teleport_service:database&#39;], hostname=&#39;&#39;, device=None, flush_first_value=False)
...
❌ TestStart::test_docker_volumes_linux from test_docker.py   View in Datadog
assert [call([&#39;docker&#39;, &#39;pull&#39;, &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39;], shell=False),\n call([&#39;docker&#39;, &#39;run&#39;, &#39;-d&#39;, &#39;--name&#39;, &#39;dd_postgres_py3.12&#39;, &#39;--network&#39;, &#39;host&#39;, &#39;-v&#39;, &#39;/proc:/host/proc&#39;, &#39;-v&#39;, &#39;/tmp/pytest-of-runner/pytest-0/test_docker_volumes_linux0/temp/config:/etc/datadog-agent/conf.d/postgres.d&#39;, &#39;-v&#39;, &#39;/a/b/c:/d/e/f&#39;, &#39;-e&#39;, &#39;DD_API_KEY=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#39;, &#39;-e&#39;, &#39;DD_APM_ENABLED=false&#39;, &#39;-e&#39;, &#39;DD_CMD_PORT=9000&#39;, &#39;-e&#39;, &#39;DD_EXPVAR_PORT=5000&#39;, &#39;-e&#39;, &#39;DD_HOSTNAME=runnervmec1zy&#39;, &#39;-e&#39;, &#39;DD_TELEMETRY_ENABLED=1&#39;, &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39;], shell=False, stdout=-1, stderr=-2)] == [call([&#39;docker&#39;, &#39;pull&#39;, &#39;registry.datadoghq.com/agent-dev:master-py3&#39;], shell=False), call([&#39;docker&#39;, &#39;run&#39;, &#39;-d&#39;, &#39;--name&#39;, &#39;dd_postgres_py3.12&#39;, &#39;--network&#39;, &#39;host&#39;, &#39;-v&#39;, &#39;/proc:/host/proc&#39;, &#39;-v&#39;, &#39;/tmp/pytest-of-runner/pytest-0/test_docker_volumes_linux0/temp/config:/etc/datadog-agent/conf.d/postgres.d&#39;, &#39;-v&#39;, &#39;/a/b/c:/d/e/f&#39;, &#39;-e&#39;, &#39;DD_API_KEY=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#39;, &#39;-e&#39;, &#39;DD_APM_ENABLED=false&#39;, &#39;-e&#39;, &#39;DD_CMD_PORT=9000&#39;, &#39;-e&#39;, &#39;DD_EXPVAR_PORT=5000&#39;, &#39;-e&#39;, &#39;DD_HOSTNAME=runnervmec1zy&#39;, &#39;-e&#39;, &#39;DD_TELEMETRY_ENABLED=1&#39;, &#39;registry.datadoghq.com/agent-dev:master-py3&#39;], shell=False, stdout=-1, stderr=-2)]
  
  At index 0 diff: call([&#39;docker&#39;, &#39;pull&#39;, &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39;], shell=False) != call([&#39;docker&#39;, &#39;pull&#39;, &#39;registry.datadoghq.com/agent-dev:master-py3&#39;], shell=False)
  
  Full diff:
  - [
  -     call([&#39;docker&#39;, &#39;pull&#39;, &#39;registry.datadoghq.com/agent-dev:master-py3&#39;], shell=False),
  ? ^^^^                         ---------       ------           ^  -
  &#43; [call([&#39;docker&#39;, &#39;pull&#39;, &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39;], shell=False),
  ? ^                                           ^ &#43;&#43;&#43;&#43;&#43;&#43;&#43;   &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;
...
❌ test_catalog_check_e2e_assert_metrics from test_e2e.py   View in Datadog
Needed at least 1 candidates for &#39;impala.catalog.server_topic_processing_time_s_total.count&#39;, got 0
Expected:
        MetricStub(name=&#39;impala.catalog.server_topic_processing_time_s_total.count&#39;, type=2, value=None, tags=[&#39;endpoint:http://localhost:25020/metrics_prometheus&#39;], hostname=None, device=None, flush_first_value=None)
Difference to closest:
        Expected name: impala.catalog.server_topic_processing_time_s_total.count
        Found impala.catalog.events_processor.events_skipped.count

Similar submitted:
Score   Most similar
0.81    MetricStub(name=&#39;impala.catalog.events_processor.events_skipped.count&#39;, type=2, value=0, tags=[&#39;endpoint:http://localhost:25020/metrics_prometheus&#39;], hostname=&#39;runnervmec1zy&#39;, device=None, flush_first_value=False)
...
↳ and 10 more — View all
PR All Windows | run — ❌ 29 tests failed

View in GitHub Actions

❌ test_images_survive_ddev_jmx_normalization[linux] from test_agent_images.py   View in Datadog
assert &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39; == &#39;registry.datadoghq.com/agent-dev:master-py3&#39;
  
  - registry.datadoghq.com/agent-dev:master-py3
  &#43; datadog/agent-dev:sarah-parser-go-client-py3
❌ test_images_survive_ddev_jmx_normalization[windows] from test_agent_images.py   View in Datadog
assert &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39; == &#39;registry.datadoghq.com/agent:7-rc-servercore&#39;
  
  - registry.datadoghq.com/agent:7-rc-servercore
  &#43; datadog/agent-dev:sarah-parser-go-client-py3
❌ TestStart::test_agent_build[Latest stable release] from test_docker.py   View in Datadog
assert [call([&#39;C:\\Windows\\system32\\docker.EXE&#39;, &#39;pull&#39;, &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39;], shell=False),\n call([&#39;C:\\Windows\\system32\\docker.EXE&#39;, &#39;run&#39;, &#39;-d&#39;, &#39;--name&#39;, &#39;dd_postgres_py3.12&#39;, &#39;--network&#39;, &#39;host&#39;, &#39;-v&#39;, &#39;/proc:/host/proc&#39;, &#39;-v&#39;, &#39;C:\\Users\\runneradmin\\AppData\\Local\\Temp\\pytest-of-runneradmin\\pytest-0\\test_agent_build_Latest_stable0\\temp\\config:/etc/datadog-agent/conf.d/postgres.d&#39;, &#39;-e&#39;, &#39;DD_API_KEY=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#39;, &#39;-e&#39;, &#39;DD_APM_ENABLED=false&#39;, &#39;-e&#39;, &#39;DD_CMD_PORT=9000&#39;, &#39;-e&#39;, &#39;DD_EXPVAR_PORT=5000&#39;, &#39;-e&#39;, &#39;DD_HOSTNAME=runnervm5yrfj&#39;, &#39;-e&#39;, &#39;DD_TELEMETRY_ENABLED=1&#39;, &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39;], shell=False, stdout=-1, stderr=-2)] == [call([&#39;C:\\Windows\\system32\\docker.EXE&#39;, &#39;pull&#39;, &#39;registry.datadoghq.com/agent:latest&#39;], shell=False), call([&#39;C:\\Windows\\system32\\docker.EXE&#39;, &#39;run&#39;, &#39;-d&#39;, &#39;--name&#39;, &#39;dd_postgres_py3.12&#39;, &#39;--network&#39;, &#39;host&#39;, &#39;-v&#39;, &#39;/proc:/host/proc&#39;, &#39;-v&#39;, &#39;C:\\Users\\runneradmin\\AppData\\Local\\Temp\\pytest-of-runneradmin\\pytest-0\\test_agent_build_Latest_stable0\\temp\\config:/etc/datadog-agent/conf.d/postgres.d&#39;, &#39;-e&#39;, &#39;DD_API_KEY=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#39;, &#39;-e&#39;, &#39;DD_APM_ENABLED=false&#39;, &#39;-e&#39;, &#39;DD_CMD_PORT=9000&#39;, &#39;-e&#39;, &#39;DD_EXPVAR_PORT=5000&#39;, &#39;-e&#39;, &#39;DD_HOSTNAME=runnervm5yrfj&#39;, &#39;-e&#39;, &#39;DD_TELEMETRY_ENABLED=1&#39;, &#39;registry.datadoghq.com/agent:latest&#39;], shell=False, stdout=-1, stderr=-2)]
  
  At index 0 diff: call([&#39;C:\\Windows\\system32\\docker.EXE&#39;, &#39;pull&#39;, &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39;], shell=False) != call([&#39;C:\\Windows\\system32\\docker.EXE&#39;, &#39;pull&#39;, &#39;registry.datadoghq.com/agent:latest&#39;], shell=False)
  
  Full diff:
  - [
  -     call([&#39;C:\\Windows\\system32\\docker.EXE&#39;, &#39;pull&#39;, &#39;registry.datadoghq.com/agent:latest&#39;], shell=False),
  ? ^^^^                                                    ---------       ------        ^ ^^^
  &#43; [call([&#39;C:\\Windows\\system32\\docker.EXE&#39;, &#39;pull&#39;, &#39;datadog/agent-dev:sarah-parser-go-client-py3&#39;], shell=False),
  ? ^                                                                 &#43;&#43;&#43;&#43; &#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43; ^^^ ^^^^
...
↳ and 26 more — View all

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

🚧 1 test that failed was ignored due to quarantine View in Datadog

🎯 Code Coverage (details)
Patch Coverage: 72.26%
Overall Coverage: 88.64%

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 1c48cda | Docs | View more details | Give us feedback!

@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Aug 19, 2026

Copy link
Copy Markdown

evalya-impact-summary

evalya impact analysis
Impact analysis: 0 selected, 0 skipped (of 0 test tasks)
Publish tasks:   1 (always emitted)
Diff (7 files):
  .github/workflows/test-target.yml
  datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/go_parser.py
  datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper/base_scraper.py
  datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/scraper/decorators.py
  datadog_checks_base/datadog_checks/base/checks/openmetrics/v2/utils.py
  datadog_checks_base/datadog_checks/base/stubs/datadog_agent.py
  ddev/src/ddev/e2e/agent/image.py

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

Learn more about CI impact filtering

@dd-octo-sts dd-octo-sts Bot added the ddev label Aug 19, 2026
@dd-octo-sts

dd-octo-sts Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Validation Report

Validation Description Status
qa-label Validate the pull request declares whether it needs QA for the next Agent release

Run ddev validate all changed --fix to attempt to auto-fix supported validations.

Passed validations (20)
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
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