Skip to content
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
4b3284c
ref: Move sampler out of integrations/opentelemetry
sentrivana Apr 9, 2025
7741c64
ref: Move span processor out from integrations
sentrivana Apr 9, 2025
cf28b7b
ref: Move propagator out of integrations
sentrivana Apr 9, 2025
f34b066
forgot one
sentrivana Apr 9, 2025
841bd02
move to opentelemetry
sentrivana Apr 10, 2025
38f6886
Merge branch 'potel-base' into ivana/move-sampler-from-integration
sentrivana Apr 10, 2025
2a554c3
move to opentelemetry/
sentrivana Apr 10, 2025
5d6e318
alphabet
sentrivana Apr 10, 2025
89ae39e
move to opentelemetry/
sentrivana Apr 10, 2025
8819373
fix setup.py
sentrivana Apr 10, 2025
3f02f56
Merge branch 'potel-base' into ivana/potel/move-span-processor-out-of…
sentrivana Apr 10, 2025
db2f1b6
formatting
sentrivana Apr 10, 2025
38b051e
Merge branch 'ivana/potel/move-span-processor-out-of-integration' int…
sentrivana Apr 10, 2025
5d9dc58
ref: Move contextvars_context out of integrations
sentrivana Apr 10, 2025
5e26e54
remove comment
sentrivana Apr 10, 2025
c29719c
ref: Move utils, consts out of integrations/opentelemetry/
sentrivana Apr 10, 2025
ea89a5a
get rid of circ deps
sentrivana Apr 10, 2025
1c93520
fix test
sentrivana Apr 10, 2025
67d3117
.
sentrivana Apr 10, 2025
33709ef
.
sentrivana Apr 10, 2025
3c52872
make apidocs happy
sentrivana Apr 10, 2025
b10193d
Merge branch 'potel-base' into ivana/potel/move-span-processor-out-of…
sentrivana Apr 10, 2025
5b3376d
Merge branch 'ivana/potel/move-span-processor-out-of-integration' int…
sentrivana Apr 10, 2025
d16e026
Merge branch 'ivana/potel/move-propagator' into ivana/potel/move-cont…
sentrivana Apr 10, 2025
94ba998
Merge branch 'ivana/potel/move-context-sync' into ivana/potel/move-mo…
sentrivana Apr 10, 2025
0dcf1f3
Merge branch 'potel-base' into ivana/potel/move-more-otel-stuff
sentrivana Apr 10, 2025
7adcd1b
fix import
sentrivana Apr 10, 2025
586e3f5
Merge branch 'potel-base' into ivana/potel/move-more-otel-stuff
sentrivana Apr 14, 2025
a209812
Merge branch 'potel-base' into ivana/potel/move-more-otel-stuff
sentrivana Apr 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions sentry_sdk/consts.py
Original file line number Diff line number Diff line change
Expand Up @@ -945,4 +945,43 @@ def _get_default_options():
del _get_default_options


BAGGAGE_HEADER_NAME = "baggage"
SENTRY_TRACE_HEADER_NAME = "sentry-trace"

DEFAULT_SPAN_ORIGIN = "manual"
DEFAULT_SPAN_NAME = "<unlabeled span>"


# Transaction source
# see https://develop.sentry.dev/sdk/event-payloads/transaction/#transaction-annotations
class TransactionSource(str, Enum):
COMPONENT = "component"
CUSTOM = "custom"
ROUTE = "route"
TASK = "task"
URL = "url"
VIEW = "view"

def __str__(self):
# type: () -> str
return self.value


# These are typically high cardinality and the server hates them
LOW_QUALITY_TRANSACTION_SOURCES = [
TransactionSource.URL,
]

SOURCE_FOR_STYLE = {
"endpoint": TransactionSource.COMPONENT,
"function_name": TransactionSource.COMPONENT,
"handler_name": TransactionSource.COMPONENT,
"method_and_path_pattern": TransactionSource.ROUTE,
"path": TransactionSource.URL,
"route_name": TransactionSource.COMPONENT,
"route_pattern": TransactionSource.ROUTE,
"uri_template": TransactionSource.ROUTE,
"url": TransactionSource.ROUTE,
}

VERSION = "2.25.1"
14 changes: 8 additions & 6 deletions sentry_sdk/integrations/aiohttp.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,14 @@
from functools import wraps

import sentry_sdk
from sentry_sdk.consts import OP, SPANSTATUS, SPANDATA
from sentry_sdk.consts import (
OP,
SPANSTATUS,
SPANDATA,
BAGGAGE_HEADER_NAME,
SOURCE_FOR_STYLE,
TransactionSource,
)
from sentry_sdk.integrations import (
_DEFAULT_FAILED_REQUEST_STATUS_CODES,
_check_minimum_version,
Expand All @@ -17,11 +24,6 @@
_request_headers_to_span_attributes,
request_body_within_bounds,
)
from sentry_sdk.tracing import (
BAGGAGE_HEADER_NAME,
SOURCE_FOR_STYLE,
TransactionSource,
)
from sentry_sdk.tracing_utils import should_propagate_trace
from sentry_sdk.utils import (
capture_internal_exceptions,
Expand Down
6 changes: 1 addition & 5 deletions sentry_sdk/integrations/asgi.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from functools import partial

import sentry_sdk
from sentry_sdk.consts import OP
from sentry_sdk.consts import OP, SOURCE_FOR_STYLE, TransactionSource

from sentry_sdk.integrations._asgi_common import (
_get_headers,
Expand All @@ -23,10 +23,6 @@
_request_headers_to_span_attributes,
)
from sentry_sdk.sessions import track_session
from sentry_sdk.tracing import (
SOURCE_FOR_STYLE,
TransactionSource,
)
from sentry_sdk.utils import (
ContextVar,
capture_internal_exceptions,
Expand Down
2 changes: 1 addition & 1 deletion sentry_sdk/integrations/bottle.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import functools

import sentry_sdk
from sentry_sdk.tracing import SOURCE_FOR_STYLE
from sentry_sdk.consts import SOURCE_FOR_STYLE
from sentry_sdk.utils import (
capture_internal_exceptions,
ensure_integration_enabled,
Expand Down
4 changes: 2 additions & 2 deletions sentry_sdk/integrations/celery/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import sentry_sdk
from sentry_sdk import isolation_scope
from sentry_sdk.consts import OP, SPANSTATUS, SPANDATA
from sentry_sdk.consts import OP, SPANSTATUS, SPANDATA, BAGGAGE_HEADER_NAME
from sentry_sdk.integrations import _check_minimum_version, Integration, DidNotEnable
from sentry_sdk.integrations.celery.beat import (
_patch_beat_apply_entry,
Expand All @@ -13,7 +13,7 @@
)
from sentry_sdk.integrations.celery.utils import _now_seconds_since_epoch
from sentry_sdk.integrations.logging import ignore_logger
from sentry_sdk.tracing import BAGGAGE_HEADER_NAME, TransactionSource
from sentry_sdk.tracing import TransactionSource
from sentry_sdk.tracing_utils import Baggage
from sentry_sdk.utils import (
capture_internal_exceptions,
Expand Down
3 changes: 1 addition & 2 deletions sentry_sdk/integrations/django/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
from importlib import import_module

import sentry_sdk
from sentry_sdk.consts import OP, SPANDATA
from sentry_sdk.consts import OP, SPANDATA, SOURCE_FOR_STYLE, TransactionSource
from sentry_sdk.scope import add_global_event_processor, should_send_default_pii
from sentry_sdk.serializer import add_global_repr_processor
from sentry_sdk.tracing import SOURCE_FOR_STYLE, TransactionSource
from sentry_sdk.tracing_utils import add_query_source, record_sql_queries
from sentry_sdk.utils import (
AnnotatedValue,
Expand Down
2 changes: 1 addition & 1 deletion sentry_sdk/integrations/falcon.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import sentry_sdk
from sentry_sdk.consts import SOURCE_FOR_STYLE
from sentry_sdk.integrations import _check_minimum_version, Integration, DidNotEnable
from sentry_sdk.integrations._wsgi_common import RequestExtractor
from sentry_sdk.integrations.wsgi import SentryWsgiMiddleware
from sentry_sdk.tracing import SOURCE_FOR_STYLE
from sentry_sdk.utils import (
capture_internal_exceptions,
ensure_integration_enabled,
Expand Down
2 changes: 1 addition & 1 deletion sentry_sdk/integrations/fastapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
from functools import wraps

import sentry_sdk
from sentry_sdk.consts import SOURCE_FOR_STYLE, TransactionSource
from sentry_sdk.integrations import DidNotEnable
from sentry_sdk.scope import should_send_default_pii
from sentry_sdk.tracing import SOURCE_FOR_STYLE, TransactionSource
from sentry_sdk.utils import (
transaction_from_function,
logger,
Expand Down
2 changes: 1 addition & 1 deletion sentry_sdk/integrations/flask.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import sentry_sdk
from sentry_sdk.consts import SOURCE_FOR_STYLE
from sentry_sdk.integrations import _check_minimum_version, DidNotEnable, Integration
from sentry_sdk.integrations._wsgi_common import (
DEFAULT_HTTP_METHODS_TO_CAPTURE,
RequestExtractor,
)
from sentry_sdk.integrations.wsgi import SentryWsgiMiddleware
from sentry_sdk.scope import should_send_default_pii
from sentry_sdk.tracing import SOURCE_FOR_STYLE
from sentry_sdk.utils import (
capture_internal_exceptions,
ensure_integration_enabled,
Expand Down
3 changes: 1 addition & 2 deletions sentry_sdk/integrations/httpx.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import sentry_sdk
from sentry_sdk.consts import OP, SPANDATA
from sentry_sdk.consts import OP, SPANDATA, BAGGAGE_HEADER_NAME
from sentry_sdk.integrations import Integration, DidNotEnable
from sentry_sdk.tracing import BAGGAGE_HEADER_NAME
from sentry_sdk.tracing_utils import Baggage, should_propagate_trace
from sentry_sdk.utils import (
SENSITIVE_DATA_SUBSTITUTE,
Expand Down
9 changes: 6 additions & 3 deletions sentry_sdk/integrations/huey.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,15 @@

import sentry_sdk
from sentry_sdk.api import get_baggage, get_traceparent
from sentry_sdk.consts import OP, SPANSTATUS
from sentry_sdk.consts import (
OP,
SPANSTATUS,
BAGGAGE_HEADER_NAME,
SENTRY_TRACE_HEADER_NAME,
)
from sentry_sdk.integrations import DidNotEnable, Integration
from sentry_sdk.scope import should_send_default_pii
from sentry_sdk.tracing import (
BAGGAGE_HEADER_NAME,
SENTRY_TRACE_HEADER_NAME,
TransactionSource,
)
from sentry_sdk.utils import (
Expand Down
3 changes: 1 addition & 2 deletions sentry_sdk/integrations/litestar.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from collections.abc import Set
import sentry_sdk
from sentry_sdk.consts import OP
from sentry_sdk.consts import OP, TransactionSource, SOURCE_FOR_STYLE
from sentry_sdk.integrations import (
_DEFAULT_FAILED_REQUEST_STATUS_CODES,
DidNotEnable,
Expand All @@ -9,7 +9,6 @@
from sentry_sdk.integrations.asgi import SentryAsgiMiddleware
from sentry_sdk.integrations.logging import ignore_logger
from sentry_sdk.scope import should_send_default_pii
from sentry_sdk.tracing import TransactionSource, SOURCE_FOR_STYLE
from sentry_sdk.utils import (
ensure_integration_enabled,
event_from_exception,
Expand Down
7 changes: 0 additions & 7 deletions sentry_sdk/integrations/opentelemetry/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +0,0 @@
from sentry_sdk.integrations.opentelemetry.span_processor import SentrySpanProcessor
from sentry_sdk.integrations.opentelemetry.propagator import SentryPropagator

__all__ = [
"SentryPropagator",
"SentrySpanProcessor",
]
6 changes: 2 additions & 4 deletions sentry_sdk/integrations/opentelemetry/integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@
"""

from sentry_sdk.integrations import DidNotEnable, Integration
from sentry_sdk.integrations.opentelemetry.propagator import SentryPropagator
from sentry_sdk.integrations.opentelemetry.span_processor import (
SentrySpanProcessor,
)
from sentry_sdk.opentelemetry.propagator import SentryPropagator
from sentry_sdk.opentelemetry.sampler import SentrySampler
from sentry_sdk.opentelemetry.span_processor import SentrySpanProcessor
from sentry_sdk.utils import logger

try:
Expand Down
6 changes: 3 additions & 3 deletions sentry_sdk/integrations/opentelemetry/scope.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@
use_span,
)

from sentry_sdk.integrations.opentelemetry.consts import (
from sentry_sdk.opentelemetry.consts import (
SENTRY_SCOPES_KEY,
SENTRY_FORK_ISOLATION_SCOPE_KEY,
SENTRY_USE_CURRENT_SCOPE_KEY,
SENTRY_USE_ISOLATION_SCOPE_KEY,
TRACESTATE_SAMPLED_KEY,
)
from sentry_sdk.integrations.opentelemetry.contextvars_context import (
from sentry_sdk.opentelemetry.contextvars_context import (
SentryContextVarsRuntimeContext,
)
from sentry_sdk.integrations.opentelemetry.utils import trace_state_from_baggage
from sentry_sdk.opentelemetry.utils import trace_state_from_baggage
from sentry_sdk.scope import Scope, ScopeType
from sentry_sdk.tracing import Span
from sentry_sdk._types import TYPE_CHECKING
Expand Down
2 changes: 1 addition & 1 deletion sentry_sdk/integrations/pyramid.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
import weakref

import sentry_sdk
from sentry_sdk.consts import SOURCE_FOR_STYLE
from sentry_sdk.integrations import Integration, DidNotEnable
from sentry_sdk.integrations._wsgi_common import RequestExtractor
from sentry_sdk.integrations.wsgi import SentryWsgiMiddleware
from sentry_sdk.scope import should_send_default_pii
from sentry_sdk.tracing import SOURCE_FOR_STYLE
from sentry_sdk.utils import (
capture_internal_exceptions,
ensure_integration_enabled,
Expand Down
2 changes: 1 addition & 1 deletion sentry_sdk/integrations/quart.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
from functools import wraps

import sentry_sdk
from sentry_sdk.consts import SOURCE_FOR_STYLE
from sentry_sdk.integrations import DidNotEnable, Integration
from sentry_sdk.integrations._wsgi_common import _filter_headers
from sentry_sdk.integrations.asgi import SentryAsgiMiddleware
from sentry_sdk.scope import should_send_default_pii
from sentry_sdk.tracing import SOURCE_FOR_STYLE
from sentry_sdk.utils import (
capture_internal_exceptions,
ensure_integration_enabled,
Expand Down
6 changes: 1 addition & 5 deletions sentry_sdk/integrations/starlette.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from json import JSONDecodeError

import sentry_sdk
from sentry_sdk.consts import OP
from sentry_sdk.consts import OP, SOURCE_FOR_STYLE, TransactionSource
from sentry_sdk.integrations import (
DidNotEnable,
Integration,
Expand All @@ -18,10 +18,6 @@
)
from sentry_sdk.integrations.asgi import SentryAsgiMiddleware
from sentry_sdk.scope import should_send_default_pii
from sentry_sdk.tracing import (
SOURCE_FOR_STYLE,
TransactionSource,
)
from sentry_sdk.utils import (
AnnotatedValue,
capture_internal_exceptions,
Expand Down
3 changes: 1 addition & 2 deletions sentry_sdk/integrations/starlite.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import sentry_sdk
from sentry_sdk.consts import OP
from sentry_sdk.consts import OP, SOURCE_FOR_STYLE, TransactionSource
from sentry_sdk.integrations import DidNotEnable, Integration
from sentry_sdk.integrations.asgi import SentryAsgiMiddleware
from sentry_sdk.scope import should_send_default_pii
from sentry_sdk.tracing import SOURCE_FOR_STYLE, TransactionSource
from sentry_sdk.utils import (
ensure_integration_enabled,
event_from_exception,
Expand Down
4 changes: 4 additions & 0 deletions sentry_sdk/opentelemetry/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
from sentry_sdk.opentelemetry.propagator import SentryPropagator
from sentry_sdk.opentelemetry.sampler import SentrySampler
from sentry_sdk.opentelemetry.span_processor import SentrySpanProcessor

__all__ = [
"SentryPropagator",
"SentrySampler",
"SentrySpanProcessor",
]
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@


class SentrySpanAttribute:
# XXX not all of these need separate attributes, we might just use
# existing otel attrs for some
DESCRIPTION = "sentry.description"
OP = "sentry.op"
ORIGIN = "sentry.origin"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from opentelemetry.context.contextvars_context import ContextVarsRuntimeContext

import sentry_sdk
from sentry_sdk.integrations.opentelemetry.consts import (
from sentry_sdk.opentelemetry.consts import (
SENTRY_SCOPES_KEY,
SENTRY_FORK_ISOLATION_SCOPE_KEY,
SENTRY_USE_CURRENT_SCOPE_KEY,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@
TraceFlags,
)

from sentry_sdk.integrations.opentelemetry.consts import (
from sentry_sdk.consts import (
BAGGAGE_HEADER_NAME,
SENTRY_TRACE_HEADER_NAME,
)
from sentry_sdk.opentelemetry.consts import (
SENTRY_BAGGAGE_KEY,
SENTRY_TRACE_KEY,
SENTRY_SCOPES_KEY,
)
from sentry_sdk.tracing import (
BAGGAGE_HEADER_NAME,
SENTRY_TRACE_HEADER_NAME,
)
from sentry_sdk.tracing_utils import Baggage, extract_sentrytrace_data

from typing import TYPE_CHECKING
Expand Down
12 changes: 6 additions & 6 deletions sentry_sdk/opentelemetry/sampler.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@
from opentelemetry.trace.span import TraceState

import sentry_sdk
from sentry_sdk.tracing_utils import (
_generate_sample_rand,
has_tracing_enabled,
)
from sentry_sdk.utils import is_valid_sample_rate, logger
from sentry_sdk.integrations.opentelemetry.consts import (
from sentry_sdk.opentelemetry.consts import (
TRACESTATE_SAMPLED_KEY,
TRACESTATE_SAMPLE_RAND_KEY,
TRACESTATE_SAMPLE_RATE_KEY,
SentrySpanAttribute,
)
from sentry_sdk.tracing_utils import (
_generate_sample_rand,
has_tracing_enabled,
)
from sentry_sdk.utils import is_valid_sample_rate, logger

from typing import TYPE_CHECKING

Expand Down
Loading
Loading