"""A container's memory is its processes' own, with file cache beside it Renames docker_containers.mem_usage_bytes / mem_pct to mem_used_bytes / mem_used_pct and adds mem_cache_bytes (#6030). The old figure was Docker's working set (usage less idle file cache), which still counted recently used file cache: a container that reads a lot of files showed hundreds of GB it didn't need. The new figure is anon + shmem, what the processes hold and can't hand back without swap, read by agent 1.23.0. The old values are cleared rather than carried under the new names; each container's next report from an updated agent fills them. Revision ID: docker_013_mem_used Revises: docker_012_drop_metrics Create Date: 2026-10-18 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa revision: str = "docker_013_mem_used" down_revision: Union[str, None] = "docker_012_drop_metrics" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.alter_column("docker_containers", "mem_usage_bytes", new_column_name="mem_used_bytes") op.alter_column("docker_containers", "mem_pct", new_column_name="mem_used_pct") op.add_column("docker_containers", sa.Column("mem_cache_bytes", sa.BigInteger, nullable=True)) op.execute("UPDATE docker_containers SET mem_used_bytes = NULL, mem_used_pct = NULL") def downgrade() -> None: op.drop_column("docker_containers", "mem_cache_bytes") op.alter_column("docker_containers", "mem_used_pct", new_column_name="mem_pct") op.alter_column("docker_containers", "mem_used_bytes", new_column_name="mem_usage_bytes")