Firebase रीयल टाइम डेटाबेस प्रोफ़ाइलर के लिए निर्देश
अपने रीयलटाइम डेटाबेस के इंस्टेंस में कार्रवाइयों के लिए, स्पीड और बैंडविथ के इस्तेमाल की रिपोर्ट जनरेट करने के लिए, नीचे दिए गए कमांड का इस्तेमाल करें:
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()
या iOS के लिए removeAllObservers
.
{ "name": "listener-unlisten", "path": [ "foo" ], "timestamp": 1484776335044 }
रेस्ट-रीड
REST API के ज़रिए, 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 }
आराम-जवाब
REST API के ज़रिए, PUT
और 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 }