Search code examples
windowsdb2etldatastage

How to write datastage performance stats on a DB2 table?


My DataStage version is 8.5.

I have to populate a table in DB2 with the datastage performance data, something like job_name, start_time, finish_time and execution_date.

There is a master sequence with A LOT of jobs. The sequence itself runs once a day.

After every run of this sequence i must gather performance values and load them into a table on DB2, for reporting purposes.

I'm new on datastage and i dont have any idea of how to make it work. My Data stage's environment is Windows, so i cant work on it using shell scripts.

There is some way to get this info into datastage ?

i tried to build a server routine and get data using the DSGetJobInfo, but i got stuck into parameters issues (how to pass xx jobs as a list to that).

Sorry about my english, not my native language.

Thanks in advance.


Solution

  • After this years i found some ways to get a job's metadata, but none of them are good as i wanted, all of them are kind of clunky to implement, and fail often. I found 3 ways to get job metadata:

    • Query directly from xmeta, on tables that match the DATASTAGEX(*) naming

    • Query from DSODB, DSODB is the database from the operations console tool, it have all log information about job runs, but operations console must be enabled to have data (turn on the appwatcher process)

    For this both above you can build an ETL that reads from these databases and write wherever you want.

    And the last solution:

    • Call an after-job subroutine that call a script witch writes job's results on a custom table.

    If this data is needed only to report and analyse, those first two solutions are just fine. For a more especific behavior, the third one is necessary.