I have developed an attendance app in Flutter and Firebase. I want to let my users use it by paying a small subscription fee. But to even price a product, the initial step is to understand the usage of the user.
Firestore Usage Panel
According to my research, there are no tools that tell you about the origin of the firestore reads, writes, & deletes in your app. I didn’t find the firestore usage panel helpful enough for this. Then how do developers price their apps when they cannot predict how much reads, writes, & deletes the user will consume? What do I do?
2
Answers
Thanks for your responses! I found a way so here I am answering my own question.
I first minimized the reads by using SharedPreferences, then tried to perform the exact actions my users would do on my app. That of course did not help me fetch which action required how many reads instead I simply performed each action with a time interval. Now the Usage panel on the Firebase firestore console showed how many reads, writes and deletes occurred in that particular time frame.
This method is not exact, but adding some extra reads to the final calculation helps for the purpose!
Firestore doesn’t do anything on its own. All reads and writes on behalf of the user are made by your application code.
So you should analyze your application code and determine how many reads/write you make for each user, and then determine the cost based on that.
That said, if you enable cloud audit logging for Firestore you might be able to identify on behalf of what user the calls are made. I’m saying "might" here, as I haven’t tried this myself yet.