nutanix / libvfio-user

framework for emulating devices in userspace
BSD 3-Clause "New" or "Revised" License
154 stars 49 forks source link

consider generating graphs for migration transitions #778

Open tmakatos opened 10 months ago

tmakatos commented 10 months ago

@w-henderson it would be nice to visualize migration transitions in a graph. I've played with just the RUNNING state to see what it looks like:

    subgraph "intermediate transitions" {

        RUNNING -> ERROR [label="ERROR"];
        RUNNING -> STOP [label="STOP"];
        RUNNING -> RUNNING [label="RUNNING"];
        RUNNING -> STOP [label="STOP_COPY"];
        RUNNING -> STOP [label="RESUMING"];
        RUNNING -> ERROR [label="RUNNING_P2P"];
        RUNNING -> ERROR [label="RUNNING_PRECOPY"];
        RUNNING -> ERROR [label="RUNNING_PRECOPY_P2P"];
    }

migr_graph

tmakatos commented 10 months ago

Or in a slightly tidier format:

    subgraph "intermediate transitions" {

        RUNNING -> RUNNING [label="RUNNING"];
        RUNNING -> STOP [label="STOP\nSTOP_COPY\nRESUMING"];
        RUNNING -> ERROR [label="ERROR\nRUNNING_P2P\nRUNNING_PRECOPY\nRUNNING_PRECOPY_P2P"];
    }

migr_graph

tmakatos commented 10 months ago

Assigned to @w-henderson, this is not necessary but it's nice to have.