progress / iceberg

A collection of code, utilities, and guides from real-world customer engagements.
Other
12 stars 7 forks source link

C:\Application>proant metrics from Buildfile: C:\Application\build.xml #35

Closed PeterWokke closed 1 month ago

PeterWokke commented 7 months ago

metrics: [echo] DLC Home: C:\ccs\oe122 [echo] OpenEdge Version: 12.2.14 [delete] Deleting: C:\Application\myIP.properties [PCTRun] This version of PROGRESS does not allow compiles. (471) [PCTRun] R-code file not located for "C:\Users\PETERW~1\AppData\Local\Temp\pctinit119065757.p". (473) [PCTRun] ** Unable to run startup procedure C:\Users\PETERW~1\AppData\Local\Temp\pctinit119065757.p. (492)

BUILD FAILED C:\Application\build.xml:802: PCTRun returned: 2

The compiled runtimes are in the delivery package. So, it could run only using those. Does the PCTRun forces compile? This sould run the metrics.r

    <PCTRun
           dlcHome="${dlcHome}"
           graphicalMode="false"
           procedure="${deploy.dir}/build/metrics${proc.ext}">
        <propath>
            <pathelement path="${basedir}"/>
            <pathelement path="${dlcHome}/tty/netlib/OpenEdge.Net.pl"/>
        </propath>
        <Parameter name="CatalinaBase" value="${pas.path}"/>
        <Parameter name="ABLApp" value="${ablapp}"/>
        <Parameter name="Type" value="${type}"/>
        <Parameter name="Host" value="${localIP}"/>
        <Parameter name="State" value="${state}"/>
        <Parameter name="Opts" value="${opts}"/>
        <Parameter name="Scheme" value="${scheme}"/>
        <Parameter name="Monitor" value="${monitor}"/>
        <Parameter name="Port" value="${port}"/>
    </PCTRun>

Search "proc.ext" (2 hits in 1 file of 1 searched) C:\Application\build.xml (2 hits) Line 138: Line 802: procedure="${deploy.dir}/build/metrics${proc.ext}">

DustinGrau-PSC commented 7 months ago

Are you attempting to run this on a production environment? The metrics are meant to be run from within a development environment, which is assumed to have a 4GL compilation ability. If you successfully run (and compile) any necessary items in development, you should be able to use the r-code in an environment where compilation is not possible.

If you could, please provide more context on the command(s) you executed (with all parameters) rather than only the output.

PeterWokke commented 7 months ago

Hello Dustin,

We run regression tests on internal environment servers over PAS instances. Those servers are configured conform our custemers environments for this. So, 4GL compilation installed on them. How can I use the r-code without the proant metrics option?

PAS instance exist so I can use proant deploy_metrics from the build.xml. The r-runtimes are nicely copied in the instance location. Is it using a configuration file for the link to the collector instance location?

Kind regardes, Peter


Van: Dustin Grau @.> Verzonden: woensdag 3 april 2024 15:33 Aan: progress/iceberg @.> CC: Peter Wokke @.>; Author @.> Onderwerp: Re: [progress/iceberg] C:\Application>proant metrics from Buildfile: C:\Application\build.xml (Issue #35)

Are you attempting to run this on a production environment? The metrics are meant to be run from within a development environment, which is assumed to have a 4GL compilation ability. If you successfully run (and compile) any necessary items in development, you should be able to use the r-code in an environment where compilation is not possible.

If you could, please provide more context on the command(s) you executed rather than just the output.

— Reply to this email directly, view it on GitHubhttps://github.com/progress/iceberg/issues/35#issuecomment-2034627070, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI3DC5X4YNPSSWZSHLBKYDDY3QAL5AVCNFSM6AAAAABFVKBI4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZUGYZDOMBXGA. You are receiving this because you authored the thread.Message ID: @.***>

DustinGrau-PSC commented 7 months ago

Could you first help walk me through your process, just to make sure I understand how you deployed the monitoring solution and ran the commands from your environment? You're right that the r-code is provided and should not have need recompiling based on how the scripts were configured.

DustinGrau-PSC commented 7 months ago

Well now, here's something I did not know from the PCTRun documentation at https://wiki.rssw.eu/pct/PCTRun.md

This task generates a temporary Progress procedure on the fly which sets the propath and declares database aliases according to specified parameters, and then runs the specified procedure. This temporary procedure is launched by an Exec task (using either prowin, prowin32 or _progres executable), and with the specified arguments.

So this would explain why the compilation license is needed for the task. Oddly enough I've not really run into this in many of my test environments nor heard it reported by other customers, so either they have a compilation license (which is sometimes needed to do certain schema changes and scripted DB operations) or they've just not run into this particular use-case.

Unfortunately, the metrics.r (from metrics.p) as shipped does not support all of the input parameters via the command line (as session parameters), only as parameters from an Ant task. However, if you were to directly modify the metrics.p to hard-code the necessary values, you could then compile the program to R-code and just run directly on your target environment.

For example, you could create a "metrics_on.p" which hard-codes all of the options you wish to implement, including the state of "on" to turn on the metrics. Similarly, you could create a "metrics_off.p" which is just configured to change the state to "off" to disable the metrics.

PeterJudgeZA commented 7 months ago

Can you not use the PCTDynRun task instead? Looks like it was explicitly created for this purpose ... https://wiki.rssw.eu/pct/PCTDynRun.md


From: Dustin Grau @.> Sent: Thursday, 04 April 2024 08:42 To: progress/iceberg @.> Cc: Subscribed @.***> Subject: Re: [progress/iceberg] C:\Application>proant metrics from Buildfile: C:\Application\build.xml (Issue #35)

Well now, here's something I did not know from the PCTRun documentation at https://wiki.rssw.eu/pct/PCTRun.md

This task generates a temporary Progress procedure on the fly which sets the propath and declares database aliases according to specified parameters, and then runs the specified procedure. This temporary procedure is launched by an Exec task (using either prowin, prowin32 or _progres executable), and with the specified arguments.

So this would explain why the compilation license is needed for the task. Oddly enough I've not really run into this in many of my test environments nor heard it reported by other customers, so either they have a compilation license (which is sometimes needed to do certain schema changes and scripted DB operations) or they've just not run into this particular use-case.

Unfortunately, the metrics.r (from metrics.p) as shipped does not support all of the input parameters via the command line (as session parameters), only as parameters from an Ant task. However, if you were to directly modify the metrics.p to hard-code the necessary values, you could then compile the program to R-code and just run directly on your target environment.

For example, you could create a "metrics_on.p" which hard-codes all of the options you wish to implement, including the state of "on" to turn on the metrics. Similarly, you could create a "metrics_off.p" which is just configured to change the state to "off" to disable the metrics.

— Reply to this email directly, view it on GitHubhttps://github.com/progress/iceberg/issues/35#issuecomment-2037099378, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AB7IJ2LJDG5JBYLURIEHI6DY3VDCXAVCNFSM6AAAAABFVKBI4KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZXGA4TSMZXHA. You are receiving this because you are subscribed to this thread.Message ID: @.***>

DustinGrau-PSC commented 7 months ago

@PeterJudgeZA thank you for that, as I was obviously not aware of that task. I'll certainly test it out to confirm that it's available with the shipped PCT libraries for 11.7 and 12.2, and behaves as described.

PeterWokke commented 6 months ago

Today I used PCTDynRun in the build script.

C:\Application>proant metrics Buildfile: C:\Application\build.xml

metrics: [echo] DLC Home: C:\ccs\oe122 [echo] OpenEdge Version: 12.2.14 [delete] Deleting: C:\Application\myIP.properties [PCTDynRun] PASOE Instance: C:\PASCCS\rccel [PCTDynRun] Metrics Type: pulse (on) [PCTDynRun] [PCTDynRun] [PCTDynRun] Agent PID 13136: AVAILABLE [PCTDynRun] Query: {"O":"PASOE:type=OEManager,name=AgentManager", "M":["debugTest", "13136", "LiveDiag", "http://172.21.53.5:8850/web/pdo/monitor/intake/liveMetrics", 20, "sessions,requests,calltrees,ablobjs|app=rccel|host=172.21.53.87|name=Metrics_2024-04-19T08:57:56.089+02:00|health=http://172.21.53.5:8850/web/pdo/monitor/intake/liveHealth"]} [PCTDynRun] [PCTDynRun] Result: {"debugTest":{"ABLOutput":{"description":"sessions,requests,calltrees,ablobjs|app=rccel|host=172.21.53.87|name=Metrics_2024-04-19T08:57:56.089+02:00|health=http:\/\/172.21.53.5:8850\/web\/pdo\/monitor\/intake\/liveHealth","interval":20,"operation":"LiveDiag","target":"http:\/\/172.21.53.5:8850\/web\/pdo\/monitor\/intake\/liveMetrics"},"ABLReturnVal":true,"agentId":"7K5K-Y37RpKiqS4iOtl5JA","pid":"13136"}}

BUILD SUCCESSFUL Total time: 14 seconds

PeterWokke commented 6 months ago

Monitor

DustinGrau-PSC commented 6 months ago

Thanks for the update. I've been working on updating these utilities to use the PCTDynRun where PCTRun was used previously, and ensuring that everything is set to continue to work through the next OpenEdge 13.x releases.

DustinGrau-PSC commented 6 months ago

I have just officially added several fixes into the OEMANAGER utility which includes the PCTDynRun task to execute all of the procedural code involved. There are other fixes as well, but that's the one of most interest. If you can try the latest code and confirm, I can close this ticket.