SSISDB Start and Stop time for each Package
You can use the internal.executions and internal.operations tables to view this data. I would think this would also work for packages calling other packages as well, if they are both within the same SSISDB Catalog.

SELECT E.execution_id,
       E.folder_name,
       E.project_name,
       E.package_name,
       E.environment_folder_name, 
       E.environment_name, 
       CASE O.[status]
           WHEN 1 THEN 'Created'
           WHEN 2 THEN 'Running'
           WHEN 3 THEN 'Canceled'
           WHEN 4 THEN 'Failed'
           WHEN 5 THEN 'Pending'
           WHEN 6 THEN 'Ended Unexpectly'
           WHEN 7 THEN 'Succeeded'
           WHEN 8 THEN 'Stopping'
           WHEN 9 THEN 'Completed'
       END AS [Status], 
       O.start_time, 
       O.end_time
FROM internal.executions AS E
INNER JOIN internal.operations AS O 
    ON E.execution_id = O.operation_id;


You can refer to these articles for more information:

https://docs.microsoft.com/en-us/sql/integration-services/system-views/catalog-operations-ssisdb-database?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/integration-services/system-views/catalog-executions-ssisdb-database?view=sql-server-2017