Skip to content

Commit 5aa90fd

Browse files
committed
Add sentry instrumentation for pipeline tasks
1 parent d5b1af6 commit 5aa90fd

16 files changed

Lines changed: 37 additions & 20 deletions

File tree

src/dstack/_internal/server/background/pipeline_tasks/volumes.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
emit_volume_status_change_event,
3737
volume_model_to_volume,
3838
)
39+
from dstack._internal.server.utils import sentry_utils
3940
from dstack._internal.utils.common import get_current_datetime, run_async
4041
from dstack._internal.utils.logging import get_logger
4142

@@ -119,6 +120,7 @@ def __init__(
119120
queue_check_delay=queue_check_delay,
120121
)
121122

123+
@sentry_utils.instrument_named_task("pipeline_tasks.VolumeFetcher.fetch")
122124
async def fetch(self, limit: int) -> list[VolumePipelineItem]:
123125
volume_lock, _ = get_locker(get_db().dialect_name).get_lockset(VolumeModel.__tablename__)
124126
async with volume_lock:
@@ -193,6 +195,7 @@ def __init__(
193195
heartbeater=heartbeater,
194196
)
195197

198+
@sentry_utils.instrument_named_task("pipeline_tasks.VolumeWorker.process")
196199
async def process(self, item: VolumePipelineItem):
197200
if item.to_be_deleted:
198201
await _process_to_be_deleted_item(item)

src/dstack/_internal/server/background/scheduled_tasks/compute_groups.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ async def process_compute_groups(batch_size: int = 1):
3939
await asyncio.gather(*tasks)
4040

4141

42-
@sentry_utils.instrument_background_task
42+
@sentry_utils.instrument_scheduled_task
4343
async def _process_next_compute_group():
4444
lock, lockset = get_locker(get_db().dialect_name).get_lockset(ComputeGroupModel.__tablename__)
4545
async with get_session_ctx() as session:

src/dstack/_internal/server/background/scheduled_tasks/events.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from dstack._internal.utils.common import get_current_datetime
1010

1111

12-
@sentry_utils.instrument_background_task
12+
@sentry_utils.instrument_scheduled_task
1313
async def delete_events():
1414
cutoff = get_current_datetime() - timedelta(seconds=settings.SERVER_EVENTS_TTL_SECONDS)
1515
stmt = delete(EventModel).where(EventModel.recorded_at < cutoff)

src/dstack/_internal/server/background/scheduled_tasks/fleets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
MIN_PROCESSING_INTERVAL = timedelta(seconds=30)
4040

4141

42-
@sentry_utils.instrument_background_task
42+
@sentry_utils.instrument_scheduled_task
4343
async def process_fleets():
4444
fleet_lock, fleet_lockset = get_locker(get_db().dialect_name).get_lockset(
4545
FleetModel.__tablename__

src/dstack/_internal/server/background/scheduled_tasks/gateways.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ async def process_gateways_connections():
3535
await _process_active_connections()
3636

3737

38-
@sentry_utils.instrument_background_task
38+
@sentry_utils.instrument_scheduled_task
3939
async def process_gateways():
4040
lock, lockset = get_locker(get_db().dialect_name).get_lockset(GatewayModel.__tablename__)
4141
async with get_session_ctx() as session:

src/dstack/_internal/server/background/scheduled_tasks/idle_volumes.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
logger = get_logger(__name__)
2828

2929

30-
@sentry_utils.instrument_background_task
30+
@sentry_utils.instrument_scheduled_task
3131
async def process_idle_volumes():
3232
lock, lockset = get_locker(get_db().dialect_name).get_lockset(VolumeModel.__tablename__)
3333
async with get_session_ctx() as session:

src/dstack/_internal/server/background/scheduled_tasks/instances.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ async def process_instances(batch_size: int = 1):
152152
await asyncio.gather(*tasks)
153153

154154

155-
@sentry_utils.instrument_background_task
155+
@sentry_utils.instrument_scheduled_task
156156
async def delete_instance_health_checks():
157157
now = get_current_datetime()
158158
cutoff = now - timedelta(seconds=server_settings.SERVER_INSTANCE_HEALTH_TTL_SECONDS)
@@ -163,7 +163,7 @@ async def delete_instance_health_checks():
163163
await session.commit()
164164

165165

166-
@sentry_utils.instrument_background_task
166+
@sentry_utils.instrument_scheduled_task
167167
async def _process_next_instance():
168168
lock, lockset = get_locker(get_db().dialect_name).get_lockset(InstanceModel.__tablename__)
169169
async with get_session_ctx() as session:

src/dstack/_internal/server/background/scheduled_tasks/metrics.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
MIN_COLLECT_INTERVAL_SECONDS = 9
2828

2929

30-
@sentry_utils.instrument_background_task
30+
@sentry_utils.instrument_scheduled_task
3131
async def collect_metrics():
3232
async with get_session_ctx() as session:
3333
res = await session.execute(
@@ -47,7 +47,7 @@ async def collect_metrics():
4747
await _collect_jobs_metrics(batch)
4848

4949

50-
@sentry_utils.instrument_background_task
50+
@sentry_utils.instrument_scheduled_task
5151
async def delete_metrics():
5252
now_timestamp_micro = int(get_current_datetime().timestamp() * 1_000_000)
5353
running_timestamp_micro_cutoff = (

src/dstack/_internal/server/background/scheduled_tasks/placement_groups.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
logger = get_logger(__name__)
2020

2121

22-
@sentry_utils.instrument_background_task
22+
@sentry_utils.instrument_scheduled_task
2323
async def process_placement_groups():
2424
lock, lockset = get_locker(get_db().dialect_name).get_lockset(
2525
PlacementGroupModel.__tablename__

src/dstack/_internal/server/background/scheduled_tasks/prometheus_metrics.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
METRICS_TTL_SECONDS = 600
3636

3737

38-
@sentry_utils.instrument_background_task
38+
@sentry_utils.instrument_scheduled_task
3939
async def collect_prometheus_metrics():
4040
now = get_current_datetime()
4141
cutoff = now - timedelta(seconds=MIN_COLLECT_INTERVAL_SECONDS)
@@ -63,7 +63,7 @@ async def collect_prometheus_metrics():
6363
await _collect_jobs_metrics(batch, now)
6464

6565

66-
@sentry_utils.instrument_background_task
66+
@sentry_utils.instrument_scheduled_task
6767
async def delete_prometheus_metrics():
6868
now = get_current_datetime()
6969
cutoff = now - timedelta(seconds=METRICS_TTL_SECONDS)

0 commit comments

Comments
 (0)