Skip to content

fix(tests): Fix flaky continuous profiler test under gevent#5899

Open
stephanie-anderson wants to merge 3 commits intomasterfrom
fix/flaky-continuous-profiler-gevent-test
Open

fix(tests): Fix flaky continuous profiler test under gevent#5899
stephanie-anderson wants to merge 3 commits intomasterfrom
fix/flaky-continuous-profiler-gevent-test

Conversation

@stephanie-anderson
Copy link
Copy Markdown
Contributor

Fix flaky test_continuous_profiler_manual_start_and_stop_sampled test
that intermittently fails under the gevent scheduler on slow CI runners.

The test asserts that profile_chunk envelope items exist immediately
after a transaction completes, but the profiler thread may not have
flushed its buffer yet — especially under gevent's cooperative scheduling
on resource-constrained CI. The fix adds polling with a timeout to
assert_single_transaction_with_profile_chunks so it waits up to 2
seconds for chunks to arrive before asserting, rather than assuming
they're already present.

Example failure: https://github.com/getsentry/sentry-python/actions/runs/23643367140/job/68869340875

The `assert_single_transaction_with_profile_chunks` helper now polls
for profile_chunk envelope items with a timeout instead of asserting
immediately. Under gevent on slow CI runners, the profiler thread may
not have flushed its buffer by the time the assertion runs, causing
sporadic failures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 27, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

Langchain

  • Set gen_ai.operation.name and gen_ai.pipeline.name on LLM spans by ericapisani in #5849
  • Broaden AI provider detection beyond OpenAI and Anthropic by ericapisani in #5707
  • Update LLM span operation to gen_ai.generate_text by ericapisani in #5796

Bug Fixes 🐛

Ci

  • Use gh CLI to convert PR to draft by stephanie-anderson in #5874
  • Use GitHub App token for draft PR enforcement by stephanie-anderson in #5871

Openai

  • Always set gen_ai.response.streaming for Responses by alexander-alderman-webb in #5697
  • Simplify Responses input handling by alexander-alderman-webb in #5695
  • Use max_output_tokens for Responses API by alexander-alderman-webb in #5693
  • Always set gen_ai.response.streaming for Completions by alexander-alderman-webb in #5692
  • Simplify Completions input handling by alexander-alderman-webb in #5690
  • Simplify embeddings input handling by alexander-alderman-webb in #5688

Other

  • (google-genai) Guard response extraction by alexander-alderman-webb in #5869
  • (tests) Fix flaky continuous profiler test under gevent by stephanie-anderson in #5899
  • (workflow) Fix permission issue with github app and PR draft graphql endpoint by Jeffreyhung in #5887

Documentation 📚

  • Update CONTRIBUTING.md with contribution requirements and TOC by stephanie-anderson in #5896

Internal Changes 🔧

Langchain

  • Add text completion test by alexander-alderman-webb in #5740
  • Add tool execution test by alexander-alderman-webb in #5739
  • Add basic agent test with Responses call by alexander-alderman-webb in #5726
  • Replace mocks with httpx types by alexander-alderman-webb in #5724
  • Consolidate span origin assertion by alexander-alderman-webb in #5723
  • Consolidate available tools assertion by alexander-alderman-webb in #5721

Openai

  • Replace mocks with httpx types for streaming Responses by alexander-alderman-webb in #5882
  • Replace mocks with httpx types for streaming Completions by alexander-alderman-webb in #5879
  • Move input handling code into API-specific functions by alexander-alderman-webb in #5687

Other

  • (ai) Rename generate_text to text_completion by ericapisani in #5885
  • (asyncpg) Normalize query whitespace in integration by ericapisani in #5855
  • Merge PR validation workflows and add reason-specific labels by stephanie-anderson in #5898
  • Add workflow to close unvetted non-maintainer PRs by stephanie-anderson in #5895
  • Exclude compromised litellm versions by alexander-alderman-webb in #5876
  • Reactivate litellm tests by alexander-alderman-webb in #5853
  • Add note to coordinate with assignee before PR submission by sentrivana in #5868
  • Temporarily stop running litellm tests by alexander-alderman-webb in #5851

Other

  • ci+docs: Add draft PR enforcement by stephanie-anderson in #5867

🤖 This preview updates automatically when you update the PR.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 27, 2026

Codecov Results 📊

134 passed | Total: 134 | Pass Rate: 100% | Execution Time: 21.07s

All tests are passing successfully.

✅ Patch coverage is 100.00%. Project has 13622 uncovered lines.


Generated by Codecov Action

@stephanie-anderson stephanie-anderson marked this pull request as ready for review March 27, 2026 11:53
@stephanie-anderson stephanie-anderson requested a review from a team as a code owner March 27, 2026 11:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant