We at Gekkobrain spend a lot of time and blogspace discussing how to increase performance of your backend ABAP and SQL.
That is to say, we monitor the performance through daily SQL measurements and daily correlation studies on the performance of the web services and application statistics.
Then we factor in if your ABAP or SQL has changed and we compare this with static code checks and finally we build a graph of your codebase, which makes it easier for us to prioritize the advice.
Then we offer you automatic fixes if the problem falls within the capability of our Codefixer and if one is not available we give you enough information about the code performance in your productive environment to be 100% sure that you can patch your code quickly and get back to developing new components. We monitor timeouts in peak loads and application dumps on resources across the different nodes in your cluster and we do so across all of your LoB systems. Every day, 24 hours a day.
But what if your problem is NOT performance?
What if your problem is missing configuration or wrong coding assumptions? Sometimes a dump is not the worst that can happen….
Loss of function happens for a multitude of reasons and APM tools are rarely tuned to catch that.
From a coding perspective, what if the developer didn’t foresee EVERY possible outcome?
This is ofcourse often the case. Documents can have changed, event conditions might have been simplified leading to wrong logical statements, any change in data might trigger a different program run.
Here Gekkobrain helps you equally.
Here’s a real life example from one of our customers..
And its not just an outlier detection because Gekkobrain has analysed that this is a behaviour with no correlation to time of day or versions of the code.
Root cause: Missing authorisation in a standard BAPI.
SAP’s preferred way of implementing authentication is through standard authorisation checks or more recently through the use of DCL.
And while the Codefixer does not fix auth checks automatically we list the exact users (graph below) that are affected by this which means your developer can rerun the program as if it was them running it.
Normally loss of function scenarios rely on the user reporting it.
But what if your user is not a human, what if it is a IoT device?

Buttom line. If you read your application statistics wrong you would think that your performance numbers are up!
But in fact your lack of functionality is down…