इस प्रोजेक्ट के बारे में
Counterscale एक open-source वेब एनालिटिक्स ट्रैकर और डैशबोर्ड है जिसे उपयोगकर्ता Cloudflare पर self-host करते हैं। इसे MIT लाइसेंस के तहत जारी किया गया है और इसे तैनात और बनाए रखना आसान बनाने के लिए डिज़ाइन किया गया है, जिसके README में उल्लेख है कि उच्च ट्रैफ़िक स्तरों पर भी इसे संचालित करने की लागत लगभग शून्य होनी चाहिए। यह मुख्य रूप से Cloudflare Workers और Workers Analytics Engine द्वारा संचालित है। फरवरी 2025 तक, Workers Analytics Engine में अधिकतम 90 दिनों का रिटेंशन है, इसलिए डैशबोर्ड केवल पिछले 90 दिनों का रिकॉर्ड किया गया डेटा दिखा सकता है। Counterscale Apache Arrow फ़ाइलों का उपयोग करके R2 bucket में डेटा का long-term स्टोरेज भी प्रदान करता है। यह long-term स्टोरेज डिफ़ॉल्ट रूप से सक्षम है और इसे CLI के माध्यम से अक्षम किया जा सकता है।
इंस्टॉलेशन के लिए macOS या Linux, Node v20 या उससे ऊपर, और एक सक्रिय Cloudflare अकाउंट की आवश्यकता होती है। परिनियोजन (deployment) से पहले, उपयोगकर्ताओं को एक Cloudflare Workers सबडोमेन, अकाउंट पर Analytics Engine beta सक्षम करने और कम से कम Account.Account Analytics अनुमतियों वाले Cloudflare API टोकन की आवश्यकता होती है। परिनियोजन npx wrangler login से शुरू होता है, जिसके बाद npx @counterscale/cli@latest install आता है। इंस्टॉलर API टोकन मांगता है और पूछता है कि क्या डैशबोर्ड को पासवर्ड से सुरक्षित करना है। सार्वजनिक परिनियोजन के लिए 'हाँ' चुनना अनुशंसित है; 'नहीं' चुनने से डैशबोर्ड सार्वजनिक रूप से सुलभ रहता है। इंस्टॉलेशन के बाद, सर्वर एप्लिकेशन को workers.dev सबडोमेन पर तैनात किया जाता है।
वेबसाइट ट्रैफ़िक रिकॉर्ड करने के लिए, Counterscale कई एकीकरण तरीके प्रदान करता है। स्क्रिप्ट लोडर तैनात URL पर tracker.js उपलब्ध कराता है। उपयोगकर्ता counterscale-script id, data-site-id एट्रिब्यूट और tracker.js सोर्स के साथ एक स्क्रिप्ट टैग जोड़ सकते हैं। ट्रैकर को npm पैकेज @counterscale/tracker के रूप में भी प्रकाशित किया गया है। इसे साइट ID और रिपोर्टर URL के साथ इनिशियलाइज़ किया जा सकता है। क्लाइंट मॉड्यूल init, isInitialized, getInitializedClient, trackPageview और cleanup जैसे मेथड प्रदान करता है। एक अलग सर्वर मॉड्यूल, @counterscale/tracker/server, बैकएंड एनालिटिक्स ट्रैकिंग का समर्थन करता है। यह XMLHttpRequest के बजाय fetch API का उपयोग करता है, इसमें DOM-निर्भर फीचर्स नहीं हैं, इसके लिए स्पष्ट URL और होस्टनेम पैरामीटर की आवश्यकता होती है, और यह 'fire-and-forget' है ताकि ट्रैकिंग त्रुटियां अपवाद (exceptions) न फेंकें।
Counterscale में उन्नत विकल्प शामिल हैं। autoTrackPageviews को false सेट करके ऑटोमैटिक पेजव्यू ट्रैकिंग को अक्षम किया जा सकता है, जिसके बाद trackPageview को मैन्युअल रूप से कॉल किया जा सकता है। परिनियोजन URL को कस्टम डोमेन के पीछे भी रखा जा सकता है। CLI इंस्टॉलेशन, ऑथेंटिकेशन और स्टोरेज मैनेजमेंट के लिए कमांड प्रदान करता है। install कमांड वर्कर नाम और एनालिटिक्स डेटासेट को कस्टमाइज़ करने के लिए एडवांस्ड मोड के साथ-साथ वर्बोज़ लॉगिंग का समर्थन करता है। ऑथेंटिकेशन सब-कमांड्स में enable, disable और roll शामिल हैं। स्टोरेज सब-कमांड्स में enable और disable शामिल हैं। अपग्रेड करने का मतलब आम तौर पर CLI इंस्टॉलर को फिर से चलाना है; प्रमुख वर्जन्स में रिलीज़ नोट्स में वर्णित अतिरिक्त चरण हो सकते हैं।
लोकल डेवलपमेंट के लिए, Counterscale में केवल एक डेटाबेस है: Cloudflare Analytics Engine डेटासेट, जो Cloudflare के API का उपयोग करके HTTP के माध्यम से संवाद करता है। कोई लोकल टेस्ट डेटाबेस नहीं है, इसलिए लोकल राइट्स no-op होते हैं और रीड्स प्रोडक्शन Analytics Engine डेटासेट से आते हैं। Cloudflare Analytics Engine सैंपलिंग का उपयोग करता है ताकि बड़े पैमाने पर उच्च-वॉल्यूम इंजेक्शन और क्वेरी किफायती हो सकें, जो अन्य एनालिटिक्स टूल्स के समान है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.