Application Status
Seaplane comes with a status command for basic application observability. The status command returns information about the application, its tasks and the number of messages flowing through them.
You can access the status information by running the following command inside a seaplane project root directory.
- CLI command
- Expected Output
seaplane status
Assuming you have an application with a linear dag consisting of three tasks, connected as follows a
โ b
โ c
. Where task c
is replicated five times.
โโโโโโโโโโโโโโโคโโโโโโโโโโโโโคโโโโโโโโโโโโโโโโคโโโโโโโโโโโโโโโโโ
โ Task Name โ Status โ Messages In โ Messages Out โ
โโโโโโโโโโโโโโโชโโโโโโโโโโโโโชโโโโโโโโโโโโโโโโชโโโโโโโโโโโโโโโโโก
โ demo-dag-a โ 1: running โ IN: 0 โ demo-dag-a: 0 โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ demo-dag-b โ 1: running โ demo-dag-a: 0 โ demo-dag-b: 0 โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ demo-dag-c โ 1: pending โ demo-dag-b: 0 โ OUT: 0 โ
โ โ 2: running โ โ โ
โ โ 3: running โ โ โ
โ โ 4: running โ โ โ
โ โ 5: running โ โ โ
โโโโโโโโโโโโโโโงโโโโโโโโโโโโโงโโโโโโโโโโโโโโโโงโโโโโโโโโโโโโโโโโ
The table above contains the following information:
- Task Name: The name of your task
- Status: The status of your task. This includes information about replication. For example, you can see task
c
has five replicas in the table above. Additionally, you can see the pending tasks and if available completed tasks. Every time you redeploy (or the app redeploys automatically) your running tasks are marked as completed. - Messages In: The number of messages flowing into the task.
- Messages Out: The number of messages flowing out of a task.
How to use the status data for debuggingโ
The status command provides you with basic debug information about your running application and its associated tasks. There are a few ways this can help you debug issues in your application.
- Ensuring your tasks are running. The information provided in the
Status
column, lets you know if and how many replicas are running for each task in your app. - Messages in can be used to ensure your task is properly reading output from the upstream tasks.
- Messages out can be particularly helpful to debug applications. If a task
is not producing any output messages you likely have a bug in your code in
that particular task. Once you identify the broken task, you can dive
deeper by looking at the log of that specific task using the
plane flow log <task-name>
command. Read more about the viewing logs here.