“Missing” generally means we can’t find the thing in the app any more. For instance, if you deleted it from the development version of the app, and it is still in the live version of your app, it will show up as missing. You can try viewing the chart in the live version of the app to see if it shows up there (unfortunately for annoying technical reasons it is not easy for us to check the live version of your app if the development version is being displayed).
It’s also possible it may be missing from both versions if you deleted it and deployed, but you are looking at an earlier time period.
If the capacity is maxing out, but the workflows are still low, does that mean it’s searches that are using up all of the CPU time? Like, the searches that would populate data on the page?
I’ve not seen an answer to this question yet? Im getting a lot of max capacity errors lately (last 2 days mostly) and by far the most capacity is used by system. But there is nothing I can see on a deeper level. @kevin2
Could this be stuff like copying an app? restoring or copying a database from live to dev or vice versa?
oh and an additional question: how far back are the workflow runs stored? Is it per year? It is nice to see how the workflows go up or down per month, they are a great indicator of how busy the app is. Would be nice to be able to track that year over year.
Sorry Vincent, I did delete the post. That was meant for another thread
This is basically a representation of how much capacity different processes are taking in terms of percentages. ‘System’ refers to all background bubble processes such as rendering pages and communicating with the server for service needs. If an app was to do the minimal work possible, then system would be 100% as there is nothing going on. However, with a more active application, you can see larger percentages in workflows, etc. So basically, whether System is 100% or 50%, this does not affect capacity maxing out because it only indicates percentages, not amounts.
Thanks for the explanation. Can you break the following down for me please as I don’t understand. WIth just 5 concurrent users and 4 additional server units, I still get max capacity spikes here and there. For example yesterday afternoon:
Ok, so this morning I received an email saying my app had hit maximum capacity usage for 34 minutes over the last 24 hours. I was surprised as the app is not in production and the only one using it is me. The “intense” thing I was doing in the last 24 hours was testing a new import feature I created. Short version is, I upload a CSV file into a staging table, and then pass the result of doing that to a Schedule API call so that it can run off and create the actual things I need. The most records my CSV file had during testing was about 86. I maybe ran the test 5 times over a period of an hour.So let’s call it 430 WorkFlow runs in an hour, or about 7 a minute. These are really simple workflows. They create an object.
So I went to check the logs and it doesn’t make sense to me. I am not seeing any indication of hitting capacity. First let’s look at the chart that supposedly shows periods where my app hit maximum capacity.
First,I am not sure about the axes on this chart. The tital says "Periods where the app hit its maximum capacity (%). The X axis is clearly time so the Y axis must be percentage. But percentage of what? If it means percentage of total capacity, then based on the chart I never hit capacity. I got to about 60% of capacity, but that is it.
The next chart shows Average CPU against the available capacity. Ok, so if I hit 100%, I have hit the capacity of CPU available on my plan.
Nope, I hit 20%. So that can’t be the cause.
Finally, I saw the workflow chart and saw something that went above 100.
However, the title doesn’t indicate this is a percentage. So it just means I went above 100 workflows. And based on the new pricing model, Bubble doesn’t monitor number of workflows, so unless I maxed CPU capacity when running workflows, it should not matter how many run. And the charts show I did not max CPU.
The CPU usage chart is the right now, but on thing you need to keep in mind is that what you’re seeing is an average. So being at 20% on average over one hour, for instance, doesn’t mean you didn’t hit 100% for some time, leading to 34 minutes over 24 hours.
This is what we mean by saying “Note that the usage values are average or sums over an interval based on the chosen duration.” below the charts.
Ok, so first of all, you are saying that at some period I hit 100% but the logs aren’t detailed enough to show me when. I get that.
However, my email says I was at capacity for 34 minutes. Here are the data points from that chart.
The average at 14:45 was 15%
The average at 15:00 was 20%
The average at 15:15 was .07%
So it seems the period in question lasted 30 minutes or less, so within that period, how could I have been at or over capacity for 34 minutes in a 30 minute window?
More importantly, how much should I be concerned about the email? It talks about the app becoming rate limited. Is that going to happen because for 34 non-consecutive minutes in a 1440 minute window (2.4% of the total time) I reached the limit?
BTW, during this time I was also accessing the data interface and deleting records created by my testing. Does that count towards capacity? (I presume so)
The same logic can also happen a bit before noon as well. It can be 100% for 5 min and won’t be visible because of how this chart works.
Now to the more general question, how much should you worry about this? When your app is at maximum capacity, it’ll wait a little bit before running the next action. So it will be a bit slower. Now if that’s because you were doing one expensive workflow that you triggered and don’t have much traffic, you can decide it doesn’t matter, if it’s a regular activity on your app, it’s more likely that your users will see a bit more slowness, and then it matters more. It’s your decision, and you can upgrade and test and downgrade (the cost will be prorated if you do so).
@emmanuel, just realized that in case you’re doing a Do a Search for - you can pretty much get all the info about the costs of your searches for you to optimize.
However if you’re doing e.g. show a list of things that are embedded to a particular object, like Current User’s List of Messages or something similar, it’s flying below the radar.
Max you can get from this analysis is this:
Which is not giving you any info about you doing any :filter or other expensive operations that may and will consume resources as much as Do a Search, and maybe more.
Is there any way to simply add that grade of the insight as well?
I’m currently debugging an app which has a lot of “Object’s List of Object’s” references (which got quite heavy), and it looks like the tool is almost completely ignoring those.
Maybe you can download the app in JSON from the General tab in settings and search for that ID. You might be able to locate the name of the workflow in that file.
@vladlarin, in your situation, what does “individual data request” mean? I also have the same issue. To improve the performance of my app, I need to be aware of this and find a solution. In this “Individual Data Request”, 99% of my server’s capacity is being consumed. Also, if there is any documentation available for them, please direct me to it.