Skip to content

Commit

Permalink
Merge branch 'potel-base' into ivana/potelport-http-client-breadcrumb…
Browse files Browse the repository at this point in the history
…-statuses
  • Loading branch information
sentrivana authored Feb 26, 2025
2 parents eab5e0f + f0664f7 commit 639bae4
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 18 deletions.
7 changes: 5 additions & 2 deletions .github/workflows/release-comment-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ jobs:
steps:
- name: Get version
id: get_version
run: echo "version=${{ github.event.inputs.version || github.event.release.tag_name }}" >> $GITHUB_OUTPUT
env:
INPUTS_VERSION: ${{ github.event.inputs.version }}
RELEASE_TAG_NAME: ${{ github.event.release.tag_name }}
run: echo "version=${$INPUTS_VERSION:-$RELEASE_TAG_NAME}" >> "$GITHUB_OUTPUT"

- name: Comment on linked issues that are mentioned in release
if: |
Expand All @@ -28,4 +31,4 @@ jobs:
uses: getsentry/release-comment-issues-gh-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
version: ${{ steps.get_version.outputs.version }}
version: ${{ steps.get_version.outputs.version }}
10 changes: 5 additions & 5 deletions sentry_sdk/integrations/asgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,12 +255,12 @@ def event_processor(self, event, hint, asgi_scope):
event["request"] = deepcopy(request_data)

# Only set transaction name if not already set by Starlette or FastAPI (or other frameworks)
transaction = event.get("transaction")
transaction_source = (event.get("transaction_info") or {}).get("source")
already_set = (
"transaction" in event
and event["transaction"] != _DEFAULT_TRANSACTION_NAME
and "transaction_info" in event
and "source" in event["transaction_info"]
and event["transaction_info"]["source"]
transaction is not None
and transaction != _DEFAULT_TRANSACTION_NAME
and transaction_source
in [
TransactionSource.COMPONENT,
TransactionSource.ROUTE,
Expand Down
3 changes: 0 additions & 3 deletions sentry_sdk/integrations/opentelemetry/span_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -261,9 +261,6 @@ def _span_to_json(self, span):
}
)

if status:
span_json.setdefault("tags", {})["status"] = status

if parent_span_id:
span_json["parent_span_id"] = parent_span_id

Expand Down
3 changes: 2 additions & 1 deletion sentry_sdk/tracing.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
_serialize_span_attribute,
get_current_thread_meta,
logger,
should_be_treated_as_error,
)

from typing import TYPE_CHECKING, cast
Expand Down Expand Up @@ -424,7 +425,7 @@ def __enter__(self):

def __exit__(self, ty, value, tb):
# type: (Optional[Any], Optional[Any], Optional[Any]) -> None
if value is not None:
if value is not None and should_be_treated_as_error(ty, value):
self.set_status(SPANSTATUS.INTERNAL_ERROR)
else:
status_unset = (
Expand Down
1 change: 0 additions & 1 deletion sentry_sdk/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -1879,7 +1879,6 @@ def datetime_from_isoformat(value):
return result.astimezone(timezone.utc)


# TODO-neel-potel use in span status
def should_be_treated_as_error(ty, value):
# type: (Any, Any) -> bool
if ty == SystemExit and hasattr(value, "code") and value.code in (0, None):
Expand Down
11 changes: 5 additions & 6 deletions tests/tracing/test_integration_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,10 @@ def test_basic(sentry_init, capture_events, sample_rate):

span1, span2 = event["spans"]
parent_span = event
assert span1["tags"]["status"] == "internal_error"
assert span1["status"] == "internal_error"
assert span1["op"] == "foo"
assert span1["description"] == "foodesc"
assert span2["tags"]["status"] == "ok"
assert span2["status"] == "ok"
assert span2["op"] == "bar"
assert span2["description"] == "bardesc"
assert parent_span["transaction"] == "hi"
Expand Down Expand Up @@ -253,8 +252,8 @@ def test_non_error_exceptions(
sentry_init(traces_sample_rate=1.0)
events = capture_events()

with start_span(name="hi") as span:
span.set_status(SPANSTATUS.OK)
with start_span(name="hi") as root_span:
root_span.set_status(SPANSTATUS.OK)
with pytest.raises(exception_cls):
with start_span(op="foo", name="foodesc"):
raise exception_cls(exception_value)
Expand All @@ -264,7 +263,7 @@ def test_non_error_exceptions(

span = event["spans"][0]
assert "status" not in span.get("tags", {})
assert "status" not in event["tags"]
assert "status" not in event.get("tags", {})
assert event["contexts"]["trace"]["status"] == "ok"


Expand All @@ -289,5 +288,5 @@ def test_good_sysexit_doesnt_fail_transaction(

span = event["spans"][0]
assert "status" not in span.get("tags", {})
assert "status" not in event["tags"]
assert "status" not in event.get("tags", {})
assert event["contexts"]["trace"]["status"] == "ok"

0 comments on commit 639bae4

Please sign in to comment.