How to profile an OpenEdge database?

428 views Asked by At

Is there a Progress profiling tool that allows me to see the queries executing against an OpenEdge database?

We're doing a migration from an OpenEdge database into a SQL database. In order to map the data correctly we'd like to run certain application reports on the OpenEdge database and see what database queries are being executed to retrieve the data.

Is this possible with some kind of Progress profiling tool (a la SQL Server Profiling)? Preferably free...

3

There are 3 answers

5
Tom Bascom On

Tim is quite right -- without the source code, looking at the queries is unlikely to provide you with much insight.

None the less there are some tools and capabilities that will provide information about queries. Probably the most useful for your purpose would be to specify something similar to:

 -logentrytypes QryInfo -logginglevel 3 -clientlog "mylog.log"

at session startup.

2
Tim Kuehn On

Progress is record oriented, not set oriented like SQL, so your reports aren't a single query or a set of queries, it is more likely a lot of record lookups combined with what you'd consider query-like operations.

Depending on the version you're running, there is a way to send a signal to the client to see what it is currently doing, however doing so will almost certainly not give you enough information to discern what's going on "under the hood."

Long story short, your options are to get a Dataserver product so you can attach the Progress client to an SQL database - this will enable you to use an SQL database w/out losing the Progress functionality. The second option is to get a copy of the program's source code to find out how the reports are structured.

2
GregT On

You can use session triggers to identify almost anything done by any program, without modifying or having access to the source of those programs. Setting this up may be more work than is worth it for your purpose. We have a testing system built around this idea. One big flaw: triggers cannot be fired for CAN-FIND.