Firebase Realtime Database प्रोफ़ाइलर के लिए निर्देश
अपने व्यवसाय के लिए गति और बैंडविड्थ के उपयोग की रिपोर्ट जनरेट करने के लिए Realtime Database इंस्टेंस, नीचे दिए गए निर्देश का इस्तेमाल करें:
firebase database:profile
| फ़्लैग के विकल्प | ब्यौरा |
|---|---|
-h, --help |
आउटपुट के इस्तेमाल की जानकारी. |
-o, --output FILENAME |
आउटपुट को बताई गई फ़ाइल में सेव करें. |
-i, --input FILENAME |
स्ट्रीम लॉग के बजाय, तय की गई फ़ाइल के आधार पर रिपोर्ट जनरेट करें को भी सेव करता है. |
-d, --duration SECONDS |
तय किए गए सेकंड के लिए, डेटाबेस के इस्तेमाल की जानकारी इकट्ठा करें. |
--raw |
इकट्ठा किए गए रॉ आंकड़ों को नई लाइन डीलिमिटेड JSON के फ़ॉर्मैट में देता है. |
ऑपरेशन के टाइप
एक ही समय पर कनेक्ट करने की सुविधा
यह कार्रवाई डेटाबेस से रीयलटाइम कनेक्शन दिखाती है (उदाहरण के लिए, जब जब SDK टूल के ज़रिए कोई नया क्लाइंट कनेक्ट होता है). RESTful कनेक्शन इसमें नहीं दिखते हैं एक ही समय में कनेक्ट किए जाने वाले काम.
{ "name": "concurrent-connect", "timestamp": 1484776334900 }
एक साथ डिसकनेक्ट
समवर्ती-डिसकनेक्ट, उस कनेक्शन को दर्शाते हैं जो डेटाबेस (उदाहरण के लिए, जब कोई क्लाइंट डिसकनेक्ट या साइन ऑफ़ करता है).
{ "name": "concurrent-disconnect", "timestamp": 1484776341844 }
रीयलटाइम-राइट
रीयलटाइम कनेक्शन से मिले अनुरोध लिखें. उदाहरण के लिए, set() और push()
कार्रवाइयों के लिए इस्तेमाल किया जाता है. मिटाने के अनुरोधों को भी realtime-write के तौर पर गिना जाता है
और 0 बाइट के राइट्स को दिखाता है.
{ "allowed": true, // If security rules allow the operation "bytes": 1, "millis": 2, "name": "realtime-write", "path": [ "foo" ], "timestamp": 1484776538763 }
रीयलटाइम-ट्रांज़ैक्शन
इस तरह की कार्रवाई में, रीयलटाइम कनेक्शन से किए गए लेन-देन शामिल हैं. बार-बार किए जाने वाले लेन-देन की कोशिश, बार-बार नहीं हो पाने की वजह से भी हो सकती है.
{ "allowed": true, "bytes": 20, "millis": 2, "name": "realtime-transaction", "path": [ "foo" ], "timestamp": 1484776854610 }
रीयलटाइम-अपडेट
अपडेट के लिए ये रीयल टाइम ऑपरेशन, खास डेटा में किए गए ज़्यादा बदलाव दिखाते हैं, न कि
realtime-write में ज़्यादा सामान्य लेखन संक्रियाएं.
{ "allowed": true, "bytes": 5, "millis": 2, "name": "realtime-update", "path": [ "foo" ], "timestamp": 1484776538769 }
लिसनर-लिसन
ये कार्रवाइयां, शुरुआती डेटा की ज़रूरत को दिखाती हैं. यह जानकारी,
एक क्लाइंट. उदाहरण के लिए, वेब क्लाइंट के लिए on() या once() तरीके.
{ "allowed": true, "bytes": 0, "millis": 26, "name": "listener-listen", "path": [ "foo" ], "querySet": [], "timestamp": 1484776335024, "unIndexed": false }
लिसनर-ब्रॉडकास्ट
इस कार्रवाई में, सर्वर से भेजे गए डेटा को ऐसे किसी भी और सभी क्लाइंट को भेजा जाता है हर बार लिखने और अपडेट करने के बाद, दिए गए स्थान पर सुन रहे हैं. कॉन्टेंट बनाने डेटा में बदलाव करने से ब्रॉडकास्ट ऑपरेशन शुरू हो जाता है. हालांकि, आपको 0 अपडेट दिख सकता है अगर कोई ग्राहक नहीं है.
{ "bytes": 56, // Total bytes sent across clients "clientsUpdated": 3, // This may be 0 if no clients are listening "millis": 17, "name": "listener-broadcast", "path": [ "baz", "mar" ], "timestamp": 1484775969928 }
लिसनर-अनलिस्टन
इन कार्रवाइयों से, पॉडकास्ट सुनने वाले उन क्लाइंट के बारे में पता चलता है जो साइन ऑफ़ कर देते हैं या सुनना बंद कर देते हैं
डिटैच करने के तरीकों का इस्तेमाल करें (जैसे, वेब के लिए off() या removeAllObservers
iOS के लिए).
{ "name": "listener-unlisten", "path": [ "foo" ], "timestamp": 1484776335044 }
रेस्ट-रीड
REST के ज़रिए GET अनुरोध
एपीआई.
{ "allowed": true, "bytes": 348, // This would be 0 if the read data was null "millis": 26, "name": "rest-read", "path": [], "querySet": [ { "default": true, "endIndexValue": "[MAX_NAME]", "equality": false, "index": {}, "limit": null, "range": false, "simpleLimit": false, "startIndexValue": "[MIN_NAME]", "viewFrom": null } ], "timestamp": 1484775747416 }
आराम-जवाब
PUT और
REST के ज़रिए POST अनुरोध
एपीआई.
DELETE अनुरोध दिखाते हैं
0 बाइट की rest-write कार्रवाइयां.
{ "allowed": true, "bytes": 13, "millis": 116, "name": "rest-write", "path": [], "timestamp": 1484775917216 }
बाकी का लेन-देन
लेन-देन जैसे व्यवहार के लिए,
शर्तें पूरी करने वाले अनुरोध.
rest-transaction ऑपरेशन, Etag या if-match का इस्तेमाल करके अनुरोधों को कैप्चर करता है
हेडर.
{ "allowed": true, "bytes": 13, "millis": 116, "name": "rest-transaction", "path": [], "timestamp": 1484775917216 }
बाकी अपडेट
REST API के ज़रिए होने वाले अपडेट, PATCH अनुरोध दिखाते हैं.
{ "allowed": true, "bytes": 5, "millis": 11, "name": "rest-update", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
ऑन-डिसकनेक्ट-पुट
इन कार्रवाइयों में, लिखने के लिए onDisconnect सुनने वाले लोगों को जोड़ा जाता है
कार्रवाइयां. उदाहरण के लिए, जब onDisconnect().setValue() का इस्तेमाल किया जाता है.
{ "allowed": true, "bytes": 4, "millis": 2, "name": "on-disconnect-put", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
डिसकनेक्ट होने पर अपडेट होने की सेटिंग
इन कार्रवाइयों से पता चलता है कि अपडेट करने के लिए, onDisconnect लिसनर जोड़ा गया है
कार्रवाइयां. उदाहरण के लिए, जब onDisconnect().updateChildren() का इस्तेमाल किया जाता है.
{ "allowed": true, "bytes": 4, "millis": 2, "name": "on-disconnect-update", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
डिसकनेक्ट-रद्द करें
ये कार्रवाइयां, onडिसकनेक्ट लिसनर को हटाने के बारे में बताती हैं.
उदाहरण के लिए, जब onDisconnect().set().cancel() का इस्तेमाल किया जाता है.
{ "millis": 2, "name": "on-disconnect-cancel", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
रन-ऑन-डिसकनेक्ट
ये कार्रवाइयां, onDisconnect लिसनर को ट्रिगर करने की जानकारी देती हैं.
जब कोई रीयलटाइम क्लाइंट कम से कम एक onDisconnect जोड़ने के बाद डिसकनेक्ट हो जाता है
लिसनर, प्रोफ़ाइलर एक run-on-disconnect ऑपरेशन रिकॉर्ड करता है
onDisconnect लिसनर के कुल बाइट और समय को दिखाने के लिए
ट्रिगर किया गया.
{ "bytes": 4, "millis": 2, "name": "run-on-disconnect", "timestamp": 1484775969930 }