1. yakov werde
  2. PowerBuilder
  3. Tuesday, 23 January 2018 22:46 PM UTC

Hello all,

I built a Profiling Reporting tool that sits on top of the TraceTree System class.  (and TraceFile).  The application generates a report of a trace PBP file on demand.  My tool opens the trace and parses its data structures into datawindows for analysis.  It does not show any corresponding source code lines. Just trace timing and call frequency.  The tool works as expected if I generate traces from runs on my machine with my pathing.  It does not matter if I am tracing in an IDE run or a 32 or 64 bit EXE. The TraceTree.BuildModel( ) returns a success! code and I get my data

BUT if someone else generates a PBP file for the same application, with the same source (PBLs) files, but located in folder whose directory structure differs from mine, I cannot open it.  BuildModel returns a sourcePblError!  errorcode. That person can run my tool on their PBP file and view their trace.

When I run the built in Trace tool and choose a specific PBT file. it translates that error into 'The source libraries cannot be found, so the model cannot be built".  I see that choosing the same Target whose folder location differs from that of the original runner, does not allow source loading.

Questions:

1) Is there specific pathing or LibList information stored inside he PBP file such that if there is a mismatch an error will be returned?

2) The stock tool prompts for a PBT.  But I cannot find any TraceTree method that is used to set the PBT.  How do you vary the PBT and when need it be done?

3) The stock Profiling Trace View does not have a source display element.  Why does it need the PBT file?

4) Is there any source code available for the 3 Trace tools on the New Tool menu? 

Thanks

Accepted Answer
yakov werde Accepted Answer Pending Moderation
  1. Friday, 26 January 2018 14:46 PM UTC
  2. PowerBuilder
  3. # Permalink

In the absence of any participation, I forged on and discovered the 'feature'||'flaw'.

Path specific Library information is written into the trace file.  Expected PBL/PBD files must be in their explicitly enumerated location or the BuildModel( ) call will fail!  There is no apparent way to control or influence this behavior

 

 

Attempting to open trace when Libraries are not in their expected places produces this error condition

 

 

 

 

 

Comment
There are no comments made yet.
yakov werde Accepted Answer Pending Moderation
  1. Thursday, 25 October 2018 19:15 PM UTC
  2. PowerBuilder
  3. # 1

We occasionally run into client site runtime performance issues .  We build client side enable able tracing into the app.  Although our installer suggests a folder, users can override the setting and install to any location of their choosing. Seems like there is pathing information written into the PBP file and that trace tool must find the PBDs or PBL in the locations specified inside the PBP file or it will NOT load the trace.   This kills trace feature usefulness in many situations

Is there a way to determine  look inside the pbp file and determine where files are to be located in order to run the trace in the development environment?

Comment
  1. Armeen Mazda @Appeon
  2. Thursday, 25 October 2018 20:27 PM UTC
Thanks Yakov for posting your solution!
  1. Helpful
  1. yakov werde
  2. Thursday, 25 October 2018 20:39 PM UTC
Hi Armeen,

It's not really a full solution. We have issues opening PBP files that our customers create in their runtime environment. Most times we get that infamous sourcePblError! and are at a loss to determine the cause.



I just devised a work around. A sort of PBP preprocessor. I have the client open the PBP with our trace analysis tool in their runtime environment where the pbd pathing is as the PBP expects it. Our app loads the trace into datawindows. We then save the datawindow full state as a blob and have them send us the blob. Our Dev side trace tool loads the datawindow blob and slices and dices the results to help us find performance issues
  1. Helpful
There are no comments made yet.
Richard Lynskey Accepted Answer Pending Moderation
  1. Friday, 28 September 2018 14:37 PM UTC
  2. PowerBuilder
  3. # 2

I know I'm late to the party, but SAP has a knowledge base article out for this, and said this was by design.

References
  1. https://apps.support.sap.com/sap/support/knowledge/preview/en/2595420
Comment
  1. yakov werde
  2. Thursday, 25 October 2018 16:36 PM UTC
Hi Richard, This situation just came back to haunt me. We added a runtime tracing feature to our application that allows us to zero in on customer performance cases. Since we have a development architecture that is different than the runtime architecture, we need to mimic customer installs in order to examine runtime trace files



PS: That SAP document is beyond a secure 'pay wall" can you paste text from it here?
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.