Skip to content

feat: Add set_attribute, remove_attribute to global API#5555

Merged
sentrivana merged 6 commits intomasterfrom
ivana/add-sentry-sdk-set-attributes
Feb 27, 2026
Merged

feat: Add set_attribute, remove_attribute to global API#5555
sentrivana merged 6 commits intomasterfrom
ivana/add-sentry-sdk-set-attributes

Conversation

@sentrivana
Copy link
Contributor

Description

set_attribute and remove_attribute should also be part of the public API via sentry_sdk.set_attribute() and sentry_sdk.remove_attribute(), respectively, instead of requiring the user to know about the scope system in order to determine which scope to set the attributes on.

Issues

Reminders

@github-actions
Copy link
Contributor

github-actions bot commented Feb 27, 2026

Semver Impact of This PR

🟡 Minor (new features)

📋 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 ✨

  • Add set_attribute, remove_attribute to global API by sentrivana in #5555

Bug Fixes 🐛

Openai

  • Avoid consuming iterables passed to the Completions API by alexander-alderman-webb in #5489
  • Avoid consuming iterables passed to the Embeddings API by alexander-alderman-webb in #5491

Other

  • (anthropic) Fix token accounting by shellmayr in #5490
  • (google-genai) Remove agent spans for simple requests by alexander-alderman-webb in #5443
  • (grpc) Read method from handler_call_details for grpcio >= 1.76 compat by yeung108 in #5521
  • (httpx) Correctly append baggage in async client by sentrivana in #5530
  • (pydantic-ai) Adapt to missing ToolManager._call_tool by sentrivana in #5522
  • (utils) Use HEROKU_BUILD_COMMIT env var for default release by ericapisani in #5499

Documentation 📚

  • Add troubleshooting note for editable installs with uWSGI by ericapisani in #5552
  • Add debugging advice by alexander-alderman-webb in #5517
  • New integration guide by alexander-alderman-webb in #5476

Internal Changes 🔧

Agents

  • Add security-review skill to agent configuration by ericapisani in #5498
  • Add sentry skills to be used by warden in CI reviews by ericapisani in #5485

Openai Agents

  • Remove set_data_normalized for primitive attributes by alexander-alderman-webb in #5509
  • Expect new tool fields by alexander-alderman-webb in #5471

Other

  • (ai) Add configuration for dotagents by ericapisani in #5480
  • (anthropic) Remove set_data_normalized for primitive attributes by alexander-alderman-webb in #5504
  • (github) Add warden configuration by ericapisani in #5484
  • (pydantic-ai) Remove set_data_normalized for the gen_ai.response.model attribute by alexander-alderman-webb in #5512
  • (repo) Add .serena to .gitignore by ericapisani in #5464
  • 🤖 Update test matrix with new releases (02/24) by github-actions in #5524
  • 🤖 Update test matrix with new releases (02/23) by github-actions in #5503
  • 🤖 Update test matrix with new releases (02/19) by github-actions in #5483
  • 🤖 Update test matrix with new releases (02/18) by github-actions in #5475

🤖 This preview updates automatically when you update the PR.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 27, 2026

Codecov Results 📊

14 passed | Total: 14 | Pass Rate: 100% | Execution Time: 4.36s

All tests are passing successfully.

❌ Patch coverage is 66.67%. Project has 14859 uncovered lines.

Files with missing lines (181)
File Patch % Lines
utils.py 30.59% ⚠️ 633 Missing and 36 partials
langchain.py 3.28% ⚠️ 590 Missing
openai.py 5.38% ⚠️ 510 Missing
utils.py 0.00% ⚠️ 474 Missing
tracing_utils.py 41.22% ⚠️ 348 Missing and 31 partials
__init__.py 5.08% ⚠️ 374 Missing
scope.py 64.07% ⚠️ 295 Missing and 73 partials
starlette.py 5.34% ⚠️ 337 Missing
transport.py 23.29% ⚠️ 303 Missing and 2 partials
client.py 54.58% ⚠️ 228 Missing and 55 partials
mcp.py 5.24% ⚠️ 253 Missing
anthropic.py 9.06% ⚠️ 251 Missing
transaction_profiler.py 35.52% ⚠️ 216 Missing and 10 partials
__init__.py 3.91% ⚠️ 221 Missing
langgraph.py 5.29% ⚠️ 215 Missing
utils.py 16.08% ⚠️ 214 Missing
tracing.py 65.26% ⚠️ 165 Missing and 42 partials
span_processor.py 0.00% ⚠️ 205 Missing
continuous_profiler.py 43.77% ⚠️ 176 Missing and 16 partials
strawberry.py 8.54% ⚠️ 182 Missing
__init__.py 6.01% ⚠️ 172 Missing
aws_lambda.py 16.50% ⚠️ 167 Missing
spark_driver.py 0.00% ⚠️ 166 Missing
huggingface_hub.py 8.89% ⚠️ 164 Missing
sanic.py 9.60% ⚠️ 160 Missing
aiohttp.py 10.84% ⚠️ 148 Missing
cloud_resource_context.py 0.00% ⚠️ 145 Missing
ai_client.py 0.00% ⚠️ 145 Missing
rust_tracing.py 0.00% ⚠️ 143 Missing
litellm.py 0.00% ⚠️ 138 Missing
litestar.py 9.59% ⚠️ 132 Missing
starlite.py 8.33% ⚠️ 132 Missing
envelope.py 40.82% ⚠️ 116 Missing and 11 partials
falcon.py 8.94% ⚠️ 112 Missing
flask.py 12.50% ⚠️ 112 Missing
spotlight.py 28.47% ⚠️ 103 Missing and 8 partials
asgi.py 20.71% ⚠️ 111 Missing
cohere.py 12.70% ⚠️ 110 Missing
dramatiq.py 0.00% ⚠️ 110 Missing
arq.py 9.92% ⚠️ 109 Missing
asgi.py 0.00% ⚠️ 109 Missing
hub.py 45.60% ⚠️ 105 Missing and 3 partials
beat.py 8.62% ⚠️ 106 Missing
caching.py 0.00% ⚠️ 106 Missing
utils.py 0.00% ⚠️ 103 Missing
logging.py 36.60% ⚠️ 97 Missing and 3 partials
templates.py 0.00% ⚠️ 100 Missing
quart.py 16.10% ⚠️ 99 Missing
wsgi.py 22.66% ⚠️ 99 Missing
gcp.py 0.00% ⚠️ 98 Missing
otlp.py 0.00% ⚠️ 97 Missing
utils.py 13.39% ⚠️ 97 Missing
agent_run.py 0.00% ⚠️ 97 Missing
sessions.py 27.82% ⚠️ 96 Missing
models.py 4.95% ⚠️ 96 Missing
pyramid.py 13.76% ⚠️ 94 Missing
tornado.py 14.55% ⚠️ 94 Missing
__init__.py 0.00% ⚠️ 93 Missing
_wsgi_common.py 28.35% ⚠️ 91 Missing
bottle.py 11.65% ⚠️ 91 Missing
middleware.py 0.00% ⚠️ 90 Missing
agent_run.py 0.00% ⚠️ 90 Missing
tools.py 0.00% ⚠️ 88 Missing
stdlib.py 35.82% ⚠️ 86 Missing and 1 partials
runner.py 0.00% ⚠️ 87 Missing
beam.py 0.00% ⚠️ 84 Missing
loguru.py 11.58% ⚠️ 84 Missing
ray.py 0.00% ⚠️ 84 Missing
__init__.py 4.65% ⚠️ 82 Missing
asyncio.py 0.00% ⚠️ 80 Missing
invoke_agent.py 0.00% ⚠️ 79 Missing
session.py 15.56% ⚠️ 76 Missing
clickhouse_driver.py 17.58% ⚠️ 75 Missing
pure_eval.py 0.00% ⚠️ 73 Missing
rq.py 14.12% ⚠️ 73 Missing
worker.py 22.58% ⚠️ 72 Missing
ariadne.py 14.46% ⚠️ 71 Missing
gql.py 10.13% ⚠️ 71 Missing
fastapi.py 15.85% ⚠️ 69 Missing
monitoring.py 17.07% ⚠️ 68 Missing
graphene.py 12.82% ⚠️ 68 Missing
transactions.py 0.00% ⚠️ 67 Missing
_queue.py 26.67% ⚠️ 66 Missing
huey.py 17.72% ⚠️ 65 Missing
api.py 59.35% ⚠️ 63 Missing
boto3.py 14.86% ⚠️ 63 Missing
httpx.py 16.44% ⚠️ 61 Missing
chalice.py 16.18% ⚠️ 57 Missing
propagator.py 0.00% ⚠️ 57 Missing
streaming.py 0.00% ⚠️ 56 Missing
server.py 0.00% ⚠️ 56 Missing
spark_worker.py 0.00% ⚠️ 56 Missing
graph_nodes.py 0.00% ⚠️ 52 Missing
gnu_backtrace.py 0.00% ⚠️ 51 Missing
socket.py 0.00% ⚠️ 50 Missing
views.py 0.00% ⚠️ 50 Missing
_batcher.py 41.25% ⚠️ 47 Missing
invoke_agent.py 0.00% ⚠️ 46 Missing
serializer.py 82.80% ⚠️ 32 Missing and 13 partials
traces.py 47.06% ⚠️ 45 Missing
_asgi_common.py 16.67% ⚠️ 45 Missing
signals_handlers.py 0.00% ⚠️ 44 Missing
utils.py 22.22% ⚠️ 42 Missing and 1 partials
client.py 0.00% ⚠️ 40 Missing
executing.py 0.00% ⚠️ 38 Missing
client.py 0.00% ⚠️ 38 Missing
_span_batcher.py 35.71% ⚠️ 36 Missing
serverless.py 0.00% ⚠️ 36 Missing
server.py 0.00% ⚠️ 34 Missing
sys_exit.py 0.00% ⚠️ 32 Missing
_async_common.py 37.25% ⚠️ 32 Missing
launchdarkly.py 0.00% ⚠️ 31 Missing
threading.py 76.84% ⚠️ 22 Missing and 8 partials
trytond.py 0.00% ⚠️ 30 Missing
integration.py 0.00% ⚠️ 30 Missing
error_tracing.py 0.00% ⚠️ 29 Missing
scrubber.py 73.91% ⚠️ 18 Missing and 10 partials
tools.py 0.00% ⚠️ 27 Missing
ai_client.py 13.33% ⚠️ 26 Missing
execute_tool.py 0.00% ⚠️ 26 Missing
_openai_completions_api.py 19.35% ⚠️ 25 Missing
_werkzeug.py 11.11% ⚠️ 24 Missing
typer.py 0.00% ⚠️ 24 Missing
tasks.py 0.00% ⚠️ 24 Missing
_compat.py 41.03% ⚠️ 23 Missing
monitor.py 67.21% ⚠️ 20 Missing and 3 partials
__init__.py 84.78% ⚠️ 14 Missing and 9 partials
sqlalchemy.py 84.62% ⚠️ 12 Missing and 11 partials
statsig.py 0.00% ⚠️ 23 Missing
logger.py 43.59% ⚠️ 22 Missing
decorator.py 37.14% ⚠️ 22 Missing
_log_batcher.py 0.00% ⚠️ 21 Missing
attachments.py 27.59% ⚠️ 21 Missing
dedupe.py 55.00% ⚠️ 18 Missing and 3 partials
unraisablehook.py 0.00% ⚠️ 21 Missing
openfeature.py 0.00% ⚠️ 20 Missing
execute_tool.py 0.00% ⚠️ 20 Missing
unleash.py 0.00% ⚠️ 19 Missing
_lru_cache.py 43.33% ⚠️ 17 Missing and 1 partials
model_request.py 0.00% ⚠️ 18 Missing
utils.py 0.00% ⚠️ 16 Missing
atexit.py 56.25% ⚠️ 14 Missing and 1 partials
excepthook.py 56.25% ⚠️ 14 Missing and 1 partials
feature_flags.py 56.25% ⚠️ 14 Missing
_init_implementation.py 45.83% ⚠️ 13 Missing
__init__.py 27.78% ⚠️ 13 Missing
redis_cluster.py 64.71% ⚠️ 12 Missing and 1 partials
types.py 0.00% ⚠️ 12 Missing
pymongo.py 93.22% ⚠️ 8 Missing and 4 partials
_types.py 66.67% ⚠️ 10 Missing
api.py 37.50% ⚠️ 10 Missing
utils.py 41.18% ⚠️ 10 Missing
handoff.py 0.00% ⚠️ 10 Missing
utils.py 94.67% ⚠️ 4 Missing and 6 partials
metrics.py 47.06% ⚠️ 9 Missing
caches.py 93.22% ⚠️ 4 Missing and 5 partials
asyncpg.py 96.43% ⚠️ 4 Missing and 4 partials
_metrics_batcher.py 65.00% ⚠️ 7 Missing
consts.py 0.00% ⚠️ 7 Missing
redis_py_cluster_legacy.py 53.33% ⚠️ 7 Missing
_openai_responses_api.py 33.33% ⚠️ 6 Missing
debug.py 91.30% ⚠️ 2 Missing and 2 partials
consts.py 0.00% ⚠️ 4 Missing
__init__.py 20.00% ⚠️ 4 Missing
__init__.py 0.00% ⚠️ 4 Missing
_sync_common.py 96.00% ⚠️ 2 Missing and 2 partials
queries.py 93.55% ⚠️ 2 Missing and 2 partials
__init__.py 0.00% ⚠️ 3 Missing
__init__.py 40.00% ⚠️ 3 Missing
__init__.py 0.00% ⚠️ 3 Missing
__init__.py 0.00% ⚠️ 3 Missing
rb.py 70.00% ⚠️ 3 Missing
redis.py 85.00% ⚠️ 3 Missing
__init__.py 0.00% ⚠️ 3 Missing
consts.py 99.43% ⚠️ 2 Missing
argv.py 100.00% ⚠️ 2 partials
modules.py 94.12% ⚠️ 1 Missing and 1 partials
agent_workflow.py 71.43% ⚠️ 2 Missing
__init__.py 93.10% ⚠️ 2 Missing
consts.py 0.00% ⚠️ 1 Missing
consts.py 0.00% ⚠️ 1 Missing

Generated by Codecov Action

@sentrivana sentrivana marked this pull request as ready for review February 27, 2026 09:15
@sentrivana sentrivana requested a review from a team as a code owner February 27, 2026 09:15
@sentrivana sentrivana requested a review from cleptric February 27, 2026 09:15
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

@sentrivana sentrivana enabled auto-merge (squash) February 27, 2026 09:32
@sentrivana sentrivana merged commit 8628732 into master Feb 27, 2026
156 of 162 checks passed
@sentrivana sentrivana deleted the ivana/add-sentry-sdk-set-attributes branch February 27, 2026 10:11
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.

2 participants