You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue contains my thoughts on how it must be implemented.
Usage
$ marathonctl logs -h
Tail the logs of an application deployed via Marathon.
Usage:
marathonctl logs <app-id> [flags]
Flags:
-o, --stdout Tail the stdout file from the current executor directory
-e, --stderr Tail the stderr file from the current executor directory
-l, --log string Log file with relative to the current executor directory. (Default: stdout)
Implementation
Query the Marthon's /apps/<app-name> endpoint to get the list of active tasks for the app.
Build a unique list of host from the list of tasks
Query each of the mesos-slave host's /slave(1)/state.json to get the corresponding current working directory for each of the task.
Now use that along with the log file name on the /files/read.json?path=$CWD/$LOG_FILE.log on mesos slaves to tail the logs.
We might want to fan out the 4th operation into goroutines on a 1 sec ticket.
Questions
How do we detect a failed / killed / finished task and remove them from the list of goroutines.
Can mesos slaves handle so much load while tailing logs for a huge number of instances?
The text was updated successfully, but these errors were encountered:
This issue contains my thoughts on how it must be implemented.
Usage
Implementation
/apps/<app-name>
endpoint to get the list of active tasks for the app./slave(1)/state.json
to get the corresponding current workingdirectory
for each of the task./files/read.json?path=$CWD/$LOG_FILE.log
on mesos slaves to tail the logs.We might want to fan out the 4th operation into goroutines on a 1 sec ticket.
Questions
The text was updated successfully, but these errors were encountered: