|
19 | 19 | from typing import Optional |
20 | 20 | import importlib.util |
21 | 21 | from colorama import Fore |
| 22 | +from langtrace_python_sdk.constants import LANGTRACE_SDK_NAME, SENTRY_DSN |
22 | 23 | from opentelemetry import trace |
23 | 24 | from opentelemetry.instrumentation.sqlalchemy import SQLAlchemyInstrumentor |
24 | 25 | from opentelemetry.sdk.resources import SERVICE_NAME, Resource |
|
60 | 61 | InstrumentationMethods, |
61 | 62 | InstrumentationType, |
62 | 63 | ) |
63 | | -from langtrace_python_sdk.utils import check_if_sdk_is_outdated |
| 64 | +from langtrace_python_sdk.utils import check_if_sdk_is_outdated, get_sdk_version |
64 | 65 | from langtrace_python_sdk.utils.langtrace_sampler import LangtraceSampler |
| 66 | +import sentry_sdk |
65 | 67 |
|
66 | 68 |
|
67 | 69 | def init( |
@@ -164,6 +166,27 @@ def init( |
164 | 166 | provider.add_span_processor(batch_processor_remote) |
165 | 167 |
|
166 | 168 | sys.stdout = sys.__stdout__ |
| 169 | + if os.environ.get("LANGTRACE_ERROR_REPORTING", "True") == "True": |
| 170 | + sentry_sdk.init( |
| 171 | + dsn=SENTRY_DSN, |
| 172 | + traces_sample_rate=1.0, |
| 173 | + profiles_sample_rate=1.0, |
| 174 | + ) |
| 175 | + sdk_options = { |
| 176 | + "service_name": os.environ.get("OTEL_SERVICE_NAME") |
| 177 | + or service_name |
| 178 | + or sys.argv[0], |
| 179 | + "disable_logging": disable_logging, |
| 180 | + "disable_instrumentations": disable_instrumentations, |
| 181 | + "disable_tracing_for_functions": disable_tracing_for_functions, |
| 182 | + "batch": batch, |
| 183 | + "write_spans_to_console": write_spans_to_console, |
| 184 | + "custom_remote_exporter": custom_remote_exporter, |
| 185 | + "sdk_name": LANGTRACE_SDK_NAME, |
| 186 | + "sdk_version": get_sdk_version(), |
| 187 | + "api_host": host, |
| 188 | + } |
| 189 | + sentry_sdk.set_context("sdk_init_options", sdk_options) |
167 | 190 |
|
168 | 191 |
|
169 | 192 | def init_instrumentations( |
|
0 commit comments