Reading, then reducing API calls / minute

I just need help reading this graph.

Is the blue line indicating that we are surpassing the 3000 API limit? Or would that be the other line?

The blue line indicates the maximum number of requests per minute calculated for the day when the data is plotted.

The orange line indicates the number of concurrent (long-running) requests.

Regards,
Mark

Thanks Mark, so this means we are above the limit of 3000, right?
I am trying to use this Analytics page to locate APIs that are taking a big load.

We have already done a lot of work rationalizing our logic. Most of our large/frequent logic has been refactored meticulously, We have it looking like this, lol

yes, the charts indicate you are over the 3k limit.

Regards,
Mark

Is there a video or documentation on how to use the Analytics > API calls page, as it is really not clear and quite difficult to make sense of the data?

Here’s a brief video overview:

Thank you this is extremely helpful, I understood how it works.

I have a lot of calls for File service > Download file which I cannot understand.

May I ask what type of code blocks would generate this API call?

Most of my API calls are for logs.

We have placed logs strategically and do not think we should have fewer logs. I thought logs where better than prints, but I did not know they were considered API calls. Should we replace them with prints to decrease API call usage? If instead we change the application-wide log level from all to debug, would that reduce the API calls? Of course that would severely reduce the information in our logs so it is not a great step.

Whenever a file is fetched from the backend, it is a file download API request. This applies to any file stored in the File Storage system of your app.

When you use the “print” block in the UI, it will result in the console.log() request that outputs the data in the browser’s console. The same block in the Cloud Code will use the Logging API (since there is no browser’s console and the log information needs to be saved somewhere - it is saved in the log file as a result of a logging API request).

Changing the application-wide logging level will work as a filter for which log messages should end up in the log. It does not reduce the number of API calls though. An API call still takes place, however, if the log message doesn’t pass the app-wide logging filter, the message is simply not saved in the file. The system still utilizes the resources to process the API request.

Regards,
Mark

Thanks Mark,
Our Find and Update data service api calls are important too.

Is there a way to break down the analysis Find API calls per method used so we can check which ones to eliminate?

Best,
Andreas

Find and Update are separate API methods and they are already displayed separately:

Yes, now that I know how to use the analysis tab, it is very helpful to locate and decrease API calls.

I have located a couple of methods that need pruning. As well as our use of cache in some cases.

However, we have large numbers on those Find and Update rows in your screenshots.

I assume that these are triggered when we use a Load Table Objects and Update Objects in Backendless codeless blocks. We use these in a number of our methods (we have over 100 methods at this point).

My goal is to see which of my Load Table Objects and Update Objects, ie which methods are the culprits for most of the Find/Update API calls.

Does my reasoning make sense or am I going about this the wrong way? Because we already did very heavy housekeeping ‘top down’ going in and refactoring all our important methods. So I want to see ‘bottom up’ how I can find the sources of large API call consumption.

Is there a better way to do this?

Hello @Andreas_Marinopoulos,

API call is just a REST request, so the the analytics server is not able to find out who made it and what was the logic behind this.
I can advise you to use logs for the API calls tracking (however it could be a little difficult to track everything in case you have so many calls)

Regards,
Olha

Thanks @olhadanylova , then may I ask the following:

Are the find / update API calls listed in the analytics tab contained in the cloud code API calls?

For example, say I have an API service 1 that contains a method A, that contains 2 Load Object Blocks and 3 Update Object blocks.

Say that I call the method A twice.

In the analytics tab will I see 2 x method A API calls, 4 x Find API calls and 6 x Update API calls?

Yes, the cloud code requests are also tracking as API calls requests and included to the analytics.