diff --git a/devservices/commands/down.py b/devservices/commands/down.py index 64068f6..1fbacee 100644 --- a/devservices/commands/down.py +++ b/devservices/commands/down.py @@ -8,6 +8,7 @@ from argparse import Namespace from sentry_sdk import capture_exception +from sentry_sdk import logger as sentry_logger from devservices.constants import CONFIG_FILE_NAME from devservices.constants import DEPENDENCY_CONFIG_VERSION @@ -116,6 +117,15 @@ def down(args: Namespace) -> None: == DependencyType.SUPERVISOR ] + sentry_logger.info( + "Stopping service", + extra={ + "service_name": service.name, + "exclude_local": exclude_local, + "active_modes": list(active_modes), + }, + ) + with Status( lambda: console.warning(f"Stopping {service.name}"), ) as status: diff --git a/devservices/commands/up.py b/devservices/commands/up.py index 8221c58..1d101d6 100644 --- a/devservices/commands/up.py +++ b/devservices/commands/up.py @@ -8,6 +8,7 @@ from argparse import Namespace from sentry_sdk import capture_exception +from sentry_sdk import logger as sentry_logger from sentry_sdk import set_context from sentry_sdk import start_span @@ -94,6 +95,16 @@ def up(args: Namespace, existing_status: Status | None = None) -> None: mode = args.mode exclude_local = getattr(args, "exclude_local", False) + sentry_logger.info( + "Starting service", + extra={ + "service_name": service.name, + "mode": mode, + "exclude_local": exclude_local, + "available_modes": list(modes.keys()), + }, + ) + state = State() with Status( diff --git a/devservices/main.py b/devservices/main.py index d59c96f..b20faf1 100644 --- a/devservices/main.py +++ b/devservices/main.py @@ -16,6 +16,7 @@ from sentry_sdk import set_user from sentry_sdk import start_transaction from sentry_sdk.integrations.argv import ArgvIntegration +from sentry_sdk.integrations.logging import LoggingIntegration from sentry_sdk.types import Event from sentry_sdk.types import Hint @@ -79,7 +80,11 @@ def before_send_transaction(event: Event, hint: Hint) -> Event: dsn="https://56470da7302c16e83141f62f88e46449@o1.ingest.us.sentry.io/4507946704961536", traces_sample_rate=1.0, profiles_sample_rate=1.0, - integrations=[ArgvIntegration()], + integrations=[ + ArgvIntegration(), + LoggingIntegration(sentry_logs_level=logging.DEBUG), + ], + enable_logs=True, environment=sentry_environment, before_send=before_send_error, before_send_transaction=before_send_transaction, diff --git a/devservices/utils/dependencies.py b/devservices/utils/dependencies.py index 6fe0b8d..ef1ce70 100644 --- a/devservices/utils/dependencies.py +++ b/devservices/utils/dependencies.py @@ -14,6 +14,7 @@ from typing import TypeGuard from sentry_sdk import capture_message +from sentry_sdk import logger as sentry_logger from sentry_sdk import set_context from devservices.configs.service_config import Dependency @@ -417,6 +418,16 @@ def install_dependency(dependency: RemoteConfig) -> set[InstalledRemoteDependenc dependency.repo_name, ) + sentry_logger.info( + "Installing dependency", + extra={ + "repo_name": dependency.repo_name, + "repo_link": dependency.repo_link, + "branch": dependency.branch, + "mode": dependency.mode, + }, + ) + os.makedirs(DEVSERVICES_DEPENDENCIES_CACHE_DIR, exist_ok=True) # Ensure that only one process is installing a specific dependency at a time @@ -498,6 +509,14 @@ def _update_dependency( dependency: RemoteConfig, dependency_repo_dir: str, ) -> None: + sentry_logger.info( + "Updating dependency", + extra={ + "repo_name": dependency.repo_name, + "repo_link": dependency.repo_link, + "branch": dependency.branch, + }, + ) git_config_manager = GitConfigManager( dependency_repo_dir, DEPENDENCY_GIT_PARTIAL_CLONE_CONFIG_OPTIONS, @@ -580,6 +599,14 @@ def _checkout_dependency( dependency: RemoteConfig, dependency_repo_dir: str, ) -> None: + sentry_logger.info( + "Checking out dependency", + extra={ + "repo_name": dependency.repo_name, + "repo_link": dependency.repo_link, + "branch": dependency.branch, + }, + ) with tempfile.TemporaryDirectory() as temp_dir: try: _run_command( diff --git a/devservices/utils/docker_compose.py b/devservices/utils/docker_compose.py index d8a26cf..29a64b2 100644 --- a/devservices/utils/docker_compose.py +++ b/devservices/utils/docker_compose.py @@ -12,6 +12,7 @@ from typing import NamedTuple from packaging import version +from sentry_sdk import logger as sentry_logger from devservices.configs.service_config import load_service_config_from_file from devservices.constants import CONFIG_FILE_NAME @@ -306,6 +307,14 @@ def run_cmd( console = Console() cmd_pretty = shlex.join(cmd) + sentry_logger.info( + "Running docker compose command", + extra={ + "command": cmd_pretty, + "max_retries": retries, + }, + ) + proc = None retries += 1 # initial try diff --git a/requirements.txt b/requirements.txt index c3ab060..164227b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,5 +2,5 @@ pyyaml==6.0.2 packaging==24.0 sentry-devenv==1.9.0 -sentry-sdk==2.27.0 +sentry-sdk==2.39.0 supervisor==4.2.5