Skip to content

feat: Allow configuring keep_alive via environment variable #4366

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 19, 2025

Conversation

szokeasaurusrex
Copy link
Member

This commit enables the keep_alive option to be set via the SENTRY_KEEP_ALIVE environment variable. When both the environment variable and the argument are provided, the argument takes precedence.

Closes #4354

@szokeasaurusrex szokeasaurusrex requested a review from a team as a code owner May 6, 2025 09:22
@szokeasaurusrex szokeasaurusrex requested review from antonpirker and sentrivana and removed request for a team May 6, 2025 09:22
Copy link

codecov bot commented May 6, 2025

⚠️ Parser warning

The parser emitted a warning. Please review your JUnit XML file:

Warning while parsing testcase attributes: Limit of string is 1000 chars, for name, we got 2301 at 1:2560 in /home/runner/work/sentry-python/sentry-python/.junitxml

❌ 4 Tests Failed:

Tests completed Failed Passed Skipped
23654 4 23650 5865
View the top 3 failed test(s) by shortest run time
tests.integrations.redis.cluster.test_redis_cluster::test_rediscluster_pipeline[False-expected_first_ten0]
Stack Traces | 0.09s run time
.../redis/cluster/test_redis_cluster.py:131: in test_rediscluster_pipeline
    assert span["data"] == ApproxDict(
E   assert {'thread.id': '139788412963712', 'thread.name': 'MainThread', 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379, 'redis.commands': {'count': 0, 'first_ten': []}} == {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' [Filtered]", "SET 'baz' [Filtered]"]}, 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Common items:
E     {'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Differing items:
E     {'redis.commands': {'count': 0, 'first_ten': []}} != {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' [Filtered]", "SET 'baz' [Filtered]"]}}
E     Left contains 2 more items:
E     {'thread.id': '139788412963712', 'thread.name': 'MainThread'}
E     Full diff:
E       {
E        'db.system': 'redis',
E     -  'redis.commands': {'count': 3,
E     ?                              ^
E     +  'redis.commands': {'count': 0,
E     ?                              ^
E     -                     'first_ten': ["GET 'foo'",
E     ?                                   ^^^^^^^^^^^
E     +                     'first_ten': []},
E     ?                                   ^^
E     -                                   "SET 'bar' [Filtered]",
E     -                                   "SET 'baz' [Filtered]"]},
E        'server.address': '127.0.0.1',
E        'server.port': 6379,
E     +  'thread.id': '139788412963712',
E     +  'thread.name': 'MainThread',
E       }
tests.integrations.redis.cluster.test_redis_cluster::test_rediscluster_pipeline[True-expected_first_ten1]
Stack Traces | 0.091s run time
.../redis/cluster/test_redis_cluster.py:131: in test_rediscluster_pipeline
    assert span["data"] == ApproxDict(
E   assert {'thread.id': '139788412963712', 'thread.name': 'MainThread', 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379, 'redis.commands': {'count': 0, 'first_ten': []}} == {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' 1", "SET 'baz' 2"]}, 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Common items:
E     {'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Differing items:
E     {'redis.commands': {'count': 0, 'first_ten': []}} != {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' 1", "SET 'baz' 2"]}}
E     Left contains 2 more items:
E     {'thread.id': '139788412963712', 'thread.name': 'MainThread'}
E     Full diff:
E       {
E        'db.system': 'redis',
E     -  'redis.commands': {'count': 3,
E     ?                              ^
E     +  'redis.commands': {'count': 0,
E     ?                              ^
E     -                     'first_ten': ["GET 'foo'",
E     ?                                   ^^^^^^^^^^^
E     +                     'first_ten': []},
E     ?                                   ^^
E     -                                   "SET 'bar' 1",
E     -                                   "SET 'baz' 2"]},
E        'server.address': '127.0.0.1',
E        'server.port': 6379,
E     +  'thread.id': '139788412963712',
E     +  'thread.name': 'MainThread',
E       }
tests.integrations.redis.cluster.test_redis_cluster::test_rediscluster_pipeline[True-expected_first_ten1]
Stack Traces | 0.094s run time
.../redis/cluster/test_redis_cluster.py:131: in test_rediscluster_pipeline
    assert span["data"] == ApproxDict(
E   assert {'thread.id': '140331044162432', 'thread.name': 'MainThread', 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379, 'redis.commands': {'count': 0, 'first_ten': []}} == {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' 1", "SET 'baz' 2"]}, 'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Common items:
E     {'db.system': 'redis', 'server.address': '127.0.0.1', 'server.port': 6379}
E     Differing items:
E     {'redis.commands': {'count': 0, 'first_ten': []}} != {'redis.commands': {'count': 3, 'first_ten': ["GET 'foo'", "SET 'bar' 1", "SET 'baz' 2"]}}
E     Left contains 2 more items:
E     {'thread.id': '140331044162432', 'thread.name': 'MainThread'}
E     Full diff:
E       {
E        'db.system': 'redis',
E     -  'redis.commands': {'count': 3,
E     ?                              ^
E     +  'redis.commands': {'count': 0,
E     ?                              ^
E     -                     'first_ten': ["GET 'foo'",
E     ?                                   ^^^^^^^^^^^
E     +                     'first_ten': []},
E     ?                                   ^^
E     -                                   "SET 'bar' 1",
E     -                                   "SET 'baz' 2"]},
E        'server.address': '127.0.0.1',
E        'server.port': 6379,
E     +  'thread.id': '140331044162432',
E     +  'thread.name': 'MainThread',
E       }

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Copy link
Member

@antonpirker antonpirker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Copy link
Member

@antonpirker antonpirker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my comments, otherwise looks good!

This commit enables the `keep_alive` option to be set via the `SENTRY_KEEP_ALIVE` environment variable. When both the environment variable and the argument are provided, the argument takes precedence.

Closes #4354
@szokeasaurusrex szokeasaurusrex force-pushed the szokeasaurusrex/keep-alive-env-var branch from dacb5b1 to 8ab796c Compare May 19, 2025 12:17
@szokeasaurusrex szokeasaurusrex merged commit f572757 into master May 19, 2025
134 of 137 checks passed
@szokeasaurusrex szokeasaurusrex deleted the szokeasaurusrex/keep-alive-env-var branch May 19, 2025 12:42
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.

Allow setting keep_alive via environment variable.
2 participants