Skip to content

Commit f0fb87c

Browse files
authored
Add DB index for instance_health_checks (#4288)
1 parent f231342 commit f0fb87c

2 files changed

Lines changed: 52 additions & 0 deletions

File tree

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
"""Add ix_instance_health_checks_instance_id_collected_at
2+
3+
Revision ID: 40f19bea9d2a
4+
Revises: 652af7a3c9c9
5+
Create Date: 2026-09-14 06:56:41.088290+00:00
6+
7+
"""
8+
9+
from alembic import op
10+
11+
# revision identifiers, used by Alembic.
12+
revision = "40f19bea9d2a"
13+
down_revision = "652af7a3c9c9"
14+
branch_labels = None
15+
depends_on = None
16+
17+
INDEX_NAME = "ix_instance_health_checks_instance_id_collected_at"
18+
TABLE_NAME = "instance_health_checks"
19+
20+
21+
def _drop_index() -> None:
22+
op.drop_index(
23+
INDEX_NAME,
24+
table_name=TABLE_NAME,
25+
if_exists=True,
26+
postgresql_concurrently=True,
27+
)
28+
29+
30+
def upgrade() -> None:
31+
with op.get_context().autocommit_block():
32+
_drop_index()
33+
op.create_index(
34+
INDEX_NAME,
35+
TABLE_NAME,
36+
["instance_id", "collected_at"],
37+
unique=False,
38+
postgresql_concurrently=True,
39+
)
40+
41+
42+
def downgrade() -> None:
43+
with op.get_context().autocommit_block():
44+
_drop_index()

src/dstack/_internal/server/models.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,6 +1061,14 @@ class InstanceHealthCheckModel(BaseModel):
10611061
status: Mapped[HealthStatus] = mapped_column(EnumAsString(HealthStatus, 100))
10621062
response: Mapped[str] = mapped_column(Text)
10631063

1064+
__table_args__ = (
1065+
Index(
1066+
"ix_instance_health_checks_instance_id_collected_at",
1067+
instance_id,
1068+
collected_at,
1069+
),
1070+
)
1071+
10641072

10651073
class VolumeModel(PipelineModelMixin, BaseModel):
10661074
__tablename__ = "volumes"

0 commit comments

Comments
 (0)