I was going to suggest something very similar to @ronan, but even simpler. You do not need to wait for 9.4 and you do not need to change any of your stored process code.
In your STP autoexec_usermods, issue a libname statement and define a dataset somewhere called auditlib.stp_&syshostname._&sysjobid., defining the variables you want to collect for each stored process execution. Something like this should work:
libname audits "/some/storage/somewhere"; data audits.stp_&syshostname._&sysjobid.;
length a_username a_programname a_someparam $100;
length a_timestamp 8;
run;
Make sure that you use a hostname/pid reference in your table so that you avoid multiple processes trying to lock the same sas table.
Then, in Management Console, within the metadata config for your stored process server context, you can define a SAS program that runs and appends the parameters you're after to your audit table that you just initialised in your stp autoexec_usermods, before each request. This page also shows you how to alter this per-request metadata config:
Something like this will do for your initialisation program:
data appendme;
length a_username a_programname a_someparam $100;
length a_timestamp 8;
a_username="&_METAUSER";
a_programname="&_PROGRAM";
a_someparam="any specific identifier that you pass to your stps";
a_timestamp=datetime();
output;
run;
proc append data=audits.stp_&syshostname._&sysjobid. base=appendme;
run;
Whenever you want to run your audit reports, you can create a unifying view of all of your audit tables (one for each session). This will give you what you want, is much easier than installing APM, and with far less performance overhead. If you create an overarching view, you can even create a dashboard to report on this stuff in real time.
HTH
Nik
... View more