4

I need some help to find out if there is any tool that can give below stats for PowerBuilder application running against Oracle and Sybase. Also highlight if I missed any other areas to be monitored.

1) Distribution of entire client event time into time consumed by application, network and database.

2) Details on how much time spend in app and which application function/method is root cause

3) # of DB requests made

4) DB IO stats

5) CPU time per db request

6) DB server memory usage

7) Size of data transferred between DB and app server

Terry
  • 6,160
  • 17
  • 16
GISData
  • 109
  • 2
  • 5
  • You've got a mix of application metrics (e.g. 1, 2) and database metrics (e.g. 4-6). I suspect you're going to need separate tools to cover each of these domains, and maybe even different tools for each DBMS (although I believe there are some commercial cross-DBMS monitoring tools). – Terry Nov 17 '11 at 14:45

3 Answers3

4

If you activate the profiling in the PB Tools / System Options you can get after running a trace file for your project that can include the hit counters and timings for the routines executions.

BTW, there are several options, but it just won't help you for the memory / I/O consumption I think, you'll have to get additional tools for that, I found myself Process Hacker very useful for that.

After a run to collect the data (you need to pass on each feature that you want to analyze), you have several tools to process it through the File / New... / Tool assistant :

  • Profiling class view
  • Profiling Routine view
  • profiling trace view

They need a little practice to become useful but for using the Profiling Routine view, I can tell that it helps much to point the bottlenecks by telling both the time passed in routines (it can be shown individually or summarized) and the number of times they are called (to identify for example the code to move outside of loops, and so on).

Seki
  • 11,135
  • 7
  • 46
  • 70
  • 1
    The existing tools to look at Profiling traces don't do summations in the way you're asking. However, there are PowerScript functions to look at Profiling data, so you could scan a profiling file and aggregate the data you're after. – Terry Nov 17 '11 at 14:41
0

Nagios is an open source tool which can be used to monitor almost everything

Vinit
  • 1,815
  • 17
  • 38
0

We added a service to our application to collect performance data. We call a start function in the service and pass it information about the object, method, and operation we are timing. We get back an event id (long) to pass to the the stop function. When the application closes it saves the performance data as XML for later analysis. The timing service has very low overhead, so it can be used to gather real-world data.

Hugh Brackett
  • 2,706
  • 14
  • 21