mirror of
https://github.com/datahub-project/datahub.git
synced 2025-09-25 17:15:09 +00:00
feat(ingest): add global sentry/telemetry properties (#14062)
This commit is contained in:
parent
f4ee5652a5
commit
64505681a0
@ -104,7 +104,7 @@ SENTRY_DSN: Optional[str] = os.environ.get("SENTRY_DSN", None)
|
||||
SENTRY_ENVIRONMENT: str = os.environ.get("SENTRY_ENVIRONMENT", "dev")
|
||||
|
||||
|
||||
def _default_telemetry_properties() -> Dict[str, Any]:
|
||||
def _default_global_properties() -> Dict[str, Any]:
|
||||
return {
|
||||
"datahub_version": nice_version_name(),
|
||||
"python_version": platform.python_version(),
|
||||
@ -122,6 +122,7 @@ class Telemetry:
|
||||
context_properties: Dict[str, Any] = {}
|
||||
|
||||
def __init__(self):
|
||||
self.global_properties = _default_global_properties()
|
||||
self.context_properties = {}
|
||||
|
||||
if SENTRY_DSN:
|
||||
@ -247,6 +248,10 @@ class Telemetry:
|
||||
|
||||
return False
|
||||
|
||||
def add_global_property(self, key: str, value: Any) -> None:
|
||||
self.global_properties[key] = value
|
||||
self._update_sentry_properties()
|
||||
|
||||
def set_context(
|
||||
self,
|
||||
server: Optional["DataHubGraph"] = None,
|
||||
@ -257,16 +262,17 @@ class Telemetry:
|
||||
**(properties or {}),
|
||||
}
|
||||
|
||||
self._update_sentry_properties()
|
||||
|
||||
def _update_sentry_properties(self) -> None:
|
||||
properties = {
|
||||
**self.global_properties,
|
||||
**self.context_properties,
|
||||
}
|
||||
if self.sentry_enabled:
|
||||
from sentry_sdk import set_tag
|
||||
import sentry_sdk
|
||||
|
||||
properties = {
|
||||
**_default_telemetry_properties(),
|
||||
**self.context_properties,
|
||||
}
|
||||
|
||||
for key in properties:
|
||||
set_tag(key, properties[key])
|
||||
sentry_sdk.set_tags(properties)
|
||||
|
||||
def init_capture_exception(self) -> None:
|
||||
if self.sentry_enabled:
|
||||
@ -300,7 +306,7 @@ class Telemetry:
|
||||
try:
|
||||
self.mp.people_set(
|
||||
self.client_id,
|
||||
_default_telemetry_properties(),
|
||||
self.global_properties,
|
||||
)
|
||||
except Exception as e:
|
||||
logger.debug(f"Error initializing telemetry: {e}")
|
||||
@ -334,7 +340,7 @@ class Telemetry:
|
||||
logger.debug(f"Sending telemetry for {event_name}")
|
||||
|
||||
properties = {
|
||||
**_default_telemetry_properties(),
|
||||
**self.global_properties,
|
||||
**self.context_properties,
|
||||
**properties,
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user