Hi @Jinal Contractor ,
The following script can return the execution time of the sql jobs. For jobs that are still running incomplete, the column Duration is displayed as null.
SELECT sj.name,
sja.run_requested_date,
CONVERT(VARCHAR(12), sja.stop_execution_date-sja.start_execution_date, 114) Duration
FROM msdb.dbo.sysjobactivity sja
INNER JOIN msdb.dbo.sysjobs sj
ON sja.job_id = sj.job_id
WHERE sja.run_requested_date IS NOT NULL
ORDER BY sja.run_requested_date desc;
You can use SSMS>SQL Server Agent>Reports to find some details on top jobs(slowest jobs,etc).