1. A computer system comprising: at least one hardware processor and a memory, the at least one hardware processor configured to: provide a runtime environment for non-invasive monitoring of software applications; execute at least one software application within the provided runtime environment, the at least one software application including program instructions to be interpreted by the provided runtime environment being executed by the at least one hardware processor; during execution of the at least one software application within the runtime environment, automatically identify, via the provided runtime environment, a function call program instruction that is part of the at least one software application and that is to be executed within the provided runtime environment; in response to identification that the function call program instruction is to be executed within the provided runtime environment, create a copy of function call data associated with the function call program instruction, wherein the copy is created by the provided runtime environment without an explicit program instruction being included in the at least one software application; process the function call program instruction within the provided runtime environment by at least modifying a corresponding instruction pointer or program counter in accordance with the function call program instruction; and generate monitoring data relating to the automatically identified function call program instruction, the monitoring data including the created copy of the function call data.