Not a customer? Click the 'Start a free trial' link to begin a 30-day SaaS trial of our product and to join our community.
Existing Cisco AppDynamics customers should click the 'Sign In' button to authenticate to access the community
on
05-15-2018
05:00 PM
- edited on
01-13-2022
07:30 PM
by
Claudia.Landiva
Unlike other programming languages, ABAP code is stored in the database. When it’s time to execute an ABAP function, the system pulls the code from the database, compiles it, and runs it.
Since the code is tucked away within the database, it’s been more difficult in the past to understand the root cause of performance issues. The code itself is also highly dependent on the database and other SAP application components.
Traditionally, an SAP admin would manually start a trace to capture data. They would leave that trace (along with the associated overhead) running for some amount of time.
AppDynamics effectively automates that functionality and correlates that data to the Business Transaction. With AppDynamics, traces are only started for isolated transactions, not globally. The data that is returned from an individual trace on SAP is presented in a silo, without business context and visibility end-to-end.
When you start the transfer request, all programs and screens are imported. You will place the files in the transport queue on the SAP system.
The import needs to be done once per SAP system, not per application server.
Instrumentation is completed through the AppDynamics Settings in SAPGUI, which is located under the /DVD/APPD_CUST transaction code. From here, you will connect to your AppDynamics Controller and configure the SDK settings. For detailed instructions and screenshots to guide you, review the following resources:
No, the ABAP language doesn’t support dynamic bytecode instrumentation, so you won't be able to intercept arbitrary ABAP commands during runtime.
However, you can still make manual code adjustments, like custom actions and RFC exit calls. For instructions, see Instrument Custom ABAP Code.
<h2How does the ABAP Agent decide when to enable a trace?
An ABAP trace is initiated when requested by the SDK. A SQL trace is started at the same time.
The performance overhead varies. If you look at the traces, we capture the overhead that we introduce. When we instrument a really fast transaction, the overhead will be a higher percentage than when we instrument a slow transaction.
A lot of the data collection is done out-of-band, so has minimal impact on the actual performance of the transaction. Much of the trace correlation is done asynchronously.
Thank you! Your submission has been received!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form