Skip to content

Conversation

@lucia-sb
Copy link
Contributor

@lucia-sb lucia-sb commented Dec 17, 2025

What does this PR do?

This PR introduces the models that define the structure of the size reports used by the quality gates. Since this change does not affect ddev users and is not included in the agent, no changelog entry is included.

Motivation

The quality gates will use these models to parse and validate the JSON files that contain the size information.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
  • 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

@codecov
Copy link

codecov bot commented Dec 17, 2025

Codecov Report

❌ Patch coverage is 95.69892% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.01%. Comparing base (264caef) to head (ca1099f).
⚠️ Report is 27 commits behind head on master.

Additional details and impacted files
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@datadog-official
Copy link
Contributor

datadog-official bot commented Dec 17, 2025

⚠️ Tests

Fix all issues with Cursor

⚠️ Warnings

❄️ 3 New flaky tests detected

test_backend_transaction_age from test_pg_integration.py (Datadog) (Fix with Cursor)
Needed exactly 1 candidates for 'postgresql.activity.backend_xmin_age', got 0
Expected:
        MetricStub(name='postgresql.activity.backend_xmin_age', type=None, value=1, tags=['app:test_backend_transaction_age_1766048082.7667005', 'database_hostname:stubbed.hostname', 'database_instance:stubbed.hostname', 'db:datadog_test', 'dd.internal.resource:database_instance:stubbed.hostname', 'foo:bar', 'port:5432', 'postgresql_cluster_name:primary', 'postgresql_version:12.17', 'replication_role:master', 'system_identifier:7585118529137610781', 'user:datadog'], hostname=None, device=None, flush_first_value=None)
Difference to closest:
        Expected name: postgresql.activity.backend_xmin_age
        Found postgresql.activity.backend_xid_age

Similar submitted:
Score   Most similar
0.97    MetricStub(name='postgresql.activity.backend_xid_age', type=0, value=1.0, tags=['app:test_backend_transaction_age_1766048082.7667005', 'database_hostname:stubbed.hostname', 'database_instance:stubbed.hostname', 'db:datadog_test', 'dd.internal.resource:database_instance:stubbed.hostname', 'foo:bar', 'port:5432', 'postgresql_cluster_name:primary', 'postgresql_version:12.17', 'replication_role:master', 'system_identifier:7585118529137610781', 'user:datadog'], hostname='stubbed.hostname', device=None, flush_first_value=False)
...
test_conflicts_snapshot from test_pg_replication.py (Datadog) (Fix with Cursor)
Needed at least 1 candidates for 'postgresql.conflicts.snapshot', got 0
Expected:
        MetricStub(name='postgresql.conflicts.snapshot', type=None, value=1, tags=['database_hostname:stubbed.hostname', 'database_instance:stubbed.hostname', 'db:datadog_test', 'dd.internal.resource:database_instance:stubbed.hostname', 'foo:bar', 'port:5434', 'postgresql_version:12.17', 'replication_role:standby'], hostname=None, device=None, flush_first_value=None)
Difference to closest:
        Expected name: postgresql.conflicts.snapshot
        Found postgresql.conflicts.lock

Similar submitted:
Score   Most similar
0.89    MetricStub(name='postgresql.conflicts.lock', type=3, value=1.0, tags=['database_hostname:stubbed.hostname', 'database_instance:stubbed.hostname', 'db:datadog_test', 'dd.internal.resource:database_instance:stubbed.hostname', 'foo:bar', 'port:5434', 'postgresql_version:12.17', 'replication_role:standby'], hostname='stubbed.hostname', device=None, flush_first_value=False)
...
test_physical_replication_slots from test_replication_slot.py (Datadog) (Fix with Cursor)
Expected postgresql.replication_slot.xmin_age with tags ['database_hostname:stubbed.hostname', 'database_instance:stubbed.hostname', 'dd.internal.resource:database_instance:stubbed.hostname', 'foo:bar', 'port:5432', 'postgresql_version:12.17', 'replication_role:master', 'slot_name:replication_slot', 'slot_persistence:permanent', 'slot_state:active', 'slot_type:physical'] to have a value <= 1, got 33.0

🧪 2 Tests failed

test_custom_queries[incorrect formatting custom query] from test_integration.py (Datadog) (Fix with Cursor)
assert "Invalid syntax: no viable alternative at input 'selectt'." in "ERROR    datadog_checks.base.checks.base.cloudera:api_v7.py:221 Skipping custom query query='selectt' tags=('baz',) due to the following exception: 'HTTPResponse' object has no attribute 'getheaders'\n"
 +  where "ERROR    datadog_checks.base.checks.base.cloudera:api_v7.py:221 Skipping custom query query='selectt' tags=('baz',) due to the following exception: 'HTTPResponse' object has no attribute 'getheaders'\n" = <_pytest.logging.LogCaptureFixture object at 0x7f9228d2cd60>.text
test_custom_queries[non existent metric custom query] from test_integration.py (Datadog) (Fix with Cursor)
assert "Invalid metric 'fake_foo' in 'select fake_foo'" in "ERROR    datadog_checks.base.checks.base.cloudera:api_v7.py:221 Skipping custom query query='select fake_foo' tags=('baz',) due to the following exception: 'HTTPResponse' object has no attribute 'getheaders'\n"
 +  where "ERROR    datadog_checks.base.checks.base.cloudera:api_v7.py:221 Skipping custom query query='select fake_foo' tags=('baz',) due to the following exception: 'HTTPResponse' object has no attribute 'getheaders'\n" = <_pytest.logging.LogCaptureFixture object at 0x7f923c0cefd0>.text
This comment will be updated automatically if new data arrives.
🔗 Commit SHA: ca1099f | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@lucia-sb lucia-sb marked this pull request as ready for review December 18, 2025 09:39
@lucia-sb lucia-sb requested a review from a team as a code owner December 18, 2025 09:39
@lucia-sb lucia-sb added qa/skip-qa Automatically skip this PR for the next QA and removed team/agent-integrations labels Dec 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/no-changelog ddev qa/skip-qa Automatically skip this PR for the next QA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants