फायरबेस रीयलटाइम डेटाबेस प्रोफाइलर कमांड
अपने रीयलटाइम डेटाबेस उदाहरण में संचालन के लिए गति और बैंडविड्थ उपयोग की रिपोर्ट तैयार करने के लिए, निम्नलिखित कमांड का उपयोग करें:
firebase database:profile
ध्वज विकल्प | विवरण |
---|---|
-h, --help | आउटपुट उपयोग की जानकारी. |
-o, --output FILENAME | आउटपुट को निर्दिष्ट फ़ाइल में सहेजें। |
-i, --input FILENAME | सर्वर से स्ट्रीम लॉग के बजाय निर्दिष्ट फ़ाइल के आधार पर रिपोर्ट तैयार करें। |
-d, --duration SECONDS | सेकंड की निर्दिष्ट संख्या के लिए डेटाबेस उपयोग की जानकारी एकत्र करें। |
--raw | एकत्रित किए गए कच्चे आँकड़ों को नई-लाइन सीमांकित JSON के रूप में आउटपुट करें। |
ऑपरेशन के प्रकार
समवर्ती-कनेक्ट
यह ऑपरेशन डेटाबेस से रीयलटाइम कनेक्शन को दर्शाता है (उदाहरण के लिए, जब कोई नया क्लाइंट एसडीके के माध्यम से कनेक्ट होता है)। रेस्टफुल कनेक्शन समवर्ती-कनेक्ट संचालन में प्रतिबिंबित नहीं होते हैं।
{ "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
)।
{ "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 }
ऑन-डिस्कनेक्ट-रद्द करें
ये ऑपरेशन ऑनडिस्कनेक्ट श्रोताओं को हटाने को दर्शाते हैं। उदाहरण के लिए, जब आप onDisconnect().set().cancel()
उपयोग करते हैं।
{ "millis": 2, "name": "on-disconnect-cancel", "path": [ "baz", "mar" ], "timestamp": 1484775969930 }
रन-ऑन-डिस्कनेक्ट
ये ऑपरेशन onDisconnect
श्रोताओं की ट्रिगरिंग को दर्शाते हैं। जब एक रियलटाइम क्लाइंट कम से कम एक onDisconnect
श्रोता को जोड़ने के बाद डिस्कनेक्ट हो जाता है, तो प्रोफाइलर ट्रिगर किए गए सभी onDisconnect
श्रोताओं के एकत्रित बाइट्स और समय को प्रतिबिंबित करने के लिए एक एकल run-on-disconnect
ऑपरेशन रिकॉर्ड करता है।
{ "bytes": 4, "millis": 2, "name": "run-on-disconnect", "timestamp": 1484775969930 }