mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-09 16:18:30 +00:00
refactor: create constants.py & use in telemetry (#2627)
Some checks are pending
Notify Downstream / notify-downstream (push) Waiting to run
Some checks are pending
Notify Downstream / notify-downstream (push) Waiting to run
- created `constants.py` for telemetry base url and service name - updated `telemetry.py` to reflect changes - ran ruff --fix to apply lint fixes
This commit is contained in:
2
src/crewai/telemetry/constants.py
Normal file
2
src/crewai/telemetry/constants.py
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CREWAI_TELEMETRY_BASE_URL: str = "https://telemetry.crewai.com:4319"
|
||||||
|
CREWAI_TELEMETRY_SERVICE_NAME: str = "crewAI-telemetry"
|
||||||
@@ -9,6 +9,11 @@ from contextlib import contextmanager
|
|||||||
from importlib.metadata import version
|
from importlib.metadata import version
|
||||||
from typing import TYPE_CHECKING, Any, Optional
|
from typing import TYPE_CHECKING, Any, Optional
|
||||||
|
|
||||||
|
from crewai.telemetry.constants import (
|
||||||
|
CREWAI_TELEMETRY_BASE_URL,
|
||||||
|
CREWAI_TELEMETRY_SERVICE_NAME,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
def suppress_warnings():
|
def suppress_warnings():
|
||||||
@@ -52,16 +57,15 @@ class Telemetry:
|
|||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
telemetry_endpoint = "https://telemetry.crewai.com:4319"
|
|
||||||
self.resource = Resource(
|
self.resource = Resource(
|
||||||
attributes={SERVICE_NAME: "crewAI-telemetry"},
|
attributes={SERVICE_NAME: CREWAI_TELEMETRY_SERVICE_NAME},
|
||||||
)
|
)
|
||||||
with suppress_warnings():
|
with suppress_warnings():
|
||||||
self.provider = TracerProvider(resource=self.resource)
|
self.provider = TracerProvider(resource=self.resource)
|
||||||
|
|
||||||
processor = BatchSpanProcessor(
|
processor = BatchSpanProcessor(
|
||||||
OTLPSpanExporter(
|
OTLPSpanExporter(
|
||||||
endpoint=f"{telemetry_endpoint}/v1/traces",
|
endpoint=f"{CREWAI_TELEMETRY_BASE_URL}/v1/traces",
|
||||||
timeout=30,
|
timeout=30,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -75,12 +79,12 @@ class Telemetry:
|
|||||||
):
|
):
|
||||||
raise # Re-raise the exception to not interfere with system signals
|
raise # Re-raise the exception to not interfere with system signals
|
||||||
self.ready = False
|
self.ready = False
|
||||||
|
|
||||||
def _is_telemetry_disabled(self) -> bool:
|
def _is_telemetry_disabled(self) -> bool:
|
||||||
"""Check if telemetry should be disabled based on environment variables."""
|
"""Check if telemetry should be disabled based on environment variables."""
|
||||||
return (
|
return (
|
||||||
os.getenv("OTEL_SDK_DISABLED", "false").lower() == "true" or
|
os.getenv("OTEL_SDK_DISABLED", "false").lower() == "true"
|
||||||
os.getenv("CREWAI_DISABLE_TELEMETRY", "false").lower() == "true"
|
or os.getenv("CREWAI_DISABLE_TELEMETRY", "false").lower() == "true"
|
||||||
)
|
)
|
||||||
|
|
||||||
def set_tracer(self):
|
def set_tracer(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user