1. A system, comprising: at least one processor; and memory including instructions that, when executed by the at least one processor, cause the system to: receive information for a job to be processed by a distributed application, the job being submitted from a user or other application and having at least two phases of execution for completion of the job; identify a set of network elements to monitor during processing of the job, the set of network elements corresponding to nodes that are involved in at least a first phase of the job; monitor, over a period of time, the set of network elements during processing of the job for the at least two phases of execution; detect a failure during at least one phase of execution in at least one network element; and generate job profile data indicating at least the failure.