X7ROOT File Manager
Current Path:
/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/integrations
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
sentry_sdk
/
integrations
/
??
..
??
__init__.py
(12.44 KB)
??
__pycache__
??
_asgi_common.py
(3.11 KB)
??
_wsgi_common.py
(7.38 KB)
??
aiohttp.py
(12.7 KB)
??
anthropic.py
(14.17 KB)
??
argv.py
(911 B)
??
ariadne.py
(5.7 KB)
??
arq.py
(7.7 KB)
??
asgi.py
(12.5 KB)
??
asyncio.py
(4.5 KB)
??
asyncpg.py
(6.37 KB)
??
atexit.py
(1.61 KB)
??
aws_lambda.py
(17.65 KB)
??
beam.py
(5.06 KB)
??
boto3.py
(4.31 KB)
??
bottle.py
(6.46 KB)
??
celery
??
chalice.py
(4.59 KB)
??
clickhouse_driver.py
(5.96 KB)
??
cloud_resource_context.py
(7.6 KB)
??
cohere.py
(9.18 KB)
??
dedupe.py
(1.93 KB)
??
django
??
dramatiq.py
(7.28 KB)
??
excepthook.py
(2.35 KB)
??
executing.py
(1.95 KB)
??
falcon.py
(9.28 KB)
??
fastapi.py
(4.48 KB)
??
flask.py
(8.54 KB)
??
gcp.py
(8.26 KB)
??
gnu_backtrace.py
(2.75 KB)
??
google_genai
??
gql.py
(4.69 KB)
??
graphene.py
(4.92 KB)
??
grpc
??
httpx.py
(5.94 KB)
??
huey.py
(5.32 KB)
??
huggingface_hub.py
(14.6 KB)
??
langchain.py
(39.02 KB)
??
langgraph.py
(11.56 KB)
??
launchdarkly.py
(1.89 KB)
??
litellm.py
(9.99 KB)
??
litestar.py
(11.55 KB)
??
logging.py
(13.57 KB)
??
loguru.py
(6.38 KB)
??
mcp.py
(19.58 KB)
??
modules.py
(820 B)
??
openai.py
(24.54 KB)
??
openai_agents
??
openfeature.py
(1.1 KB)
??
opentelemetry
??
otlp.py
(3.06 KB)
??
pure_eval.py
(4.5 KB)
??
pydantic_ai
??
pymongo.py
(6.23 KB)
??
pyramid.py
(7.19 KB)
??
quart.py
(7.24 KB)
??
ray.py
(5.2 KB)
??
redis
??
rq.py
(5.18 KB)
??
rust_tracing.py
(8.87 KB)
??
sanic.py
(12.66 KB)
??
serverless.py
(1.76 KB)
??
socket.py
(3.09 KB)
??
spark
??
sqlalchemy.py
(4.24 KB)
??
starlette.py
(25.62 KB)
??
starlite.py
(10.31 KB)
??
statsig.py
(1.2 KB)
??
stdlib.py
(8.76 KB)
??
strawberry.py
(13.82 KB)
??
sys_exit.py
(2.43 KB)
??
threading.py
(6.94 KB)
??
tornado.py
(7.04 KB)
??
trytond.py
(1.61 KB)
??
typer.py
(1.77 KB)
??
unleash.py
(1.03 KB)
??
unraisablehook.py
(1.71 KB)
??
wsgi.py
(10.56 KB)
Editing: otlp.py
from sentry_sdk.integrations import Integration, DidNotEnable from sentry_sdk.scope import register_external_propagation_context from sentry_sdk.utils import logger, Dsn from sentry_sdk.consts import VERSION, EndpointType try: from opentelemetry import trace from opentelemetry.propagate import set_global_textmap from opentelemetry.sdk.trace import TracerProvider from opentelemetry.sdk.trace.export import BatchSpanProcessor from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter from sentry_sdk.integrations.opentelemetry.propagator import SentryPropagator except ImportError: raise DidNotEnable("opentelemetry-distro[otlp] is not installed") from typing import TYPE_CHECKING if TYPE_CHECKING: from typing import Optional, Dict, Any, Tuple def otel_propagation_context(): # type: () -> Optional[Tuple[str, str]] """ Get the (trace_id, span_id) from opentelemetry if exists. """ ctx = trace.get_current_span().get_span_context() if ctx.trace_id == trace.INVALID_TRACE_ID or ctx.span_id == trace.INVALID_SPAN_ID: return None return (trace.format_trace_id(ctx.trace_id), trace.format_span_id(ctx.span_id)) def setup_otlp_exporter(dsn=None): # type: (Optional[str]) -> None tracer_provider = trace.get_tracer_provider() if not isinstance(tracer_provider, TracerProvider): logger.debug("[OTLP] No TracerProvider configured by user, creating a new one") tracer_provider = TracerProvider() trace.set_tracer_provider(tracer_provider) endpoint = None headers = None if dsn: auth = Dsn(dsn).to_auth(f"sentry.python/{VERSION}") endpoint = auth.get_api_url(EndpointType.OTLP_TRACES) headers = {"X-Sentry-Auth": auth.to_header()} logger.debug(f"[OTLP] Sending traces to {endpoint}") otlp_exporter = OTLPSpanExporter(endpoint=endpoint, headers=headers) span_processor = BatchSpanProcessor(otlp_exporter) tracer_provider.add_span_processor(span_processor) class OTLPIntegration(Integration): identifier = "otlp" def __init__(self, setup_otlp_exporter=True, setup_propagator=True): # type: (bool, bool) -> None self.setup_otlp_exporter = setup_otlp_exporter self.setup_propagator = setup_propagator @staticmethod def setup_once(): # type: () -> None logger.debug("[OTLP] Setting up trace linking for all events") register_external_propagation_context(otel_propagation_context) def setup_once_with_options(self, options=None): # type: (Optional[Dict[str, Any]]) -> None if self.setup_otlp_exporter: logger.debug("[OTLP] Setting up OTLP exporter") dsn = options.get("dsn") if options else None # type: Optional[str] setup_otlp_exporter(dsn) if self.setup_propagator: logger.debug("[OTLP] Setting up propagator for distributed tracing") # TODO-neel better propagator support, chain with existing ones if possible instead of replacing set_global_textmap(SentryPropagator())
Upload File
Create Folder