منصوبے کے بارے میں

Counterscale ایک اوپن سورس ویب اینالیٹکس ٹریکر اور ڈیش بورڈ ہے جسے صارفین Cloudflare پر سیلف ہوسٹ کرتے ہیں۔ اسے MIT لائسنس کے تحت جاری کیا گیا ہے اور اسے تعینات اور برقرار رکھنا آسان بنایا گیا ہے، جس کے README میں ذکر ہے کہ زیادہ ٹریفک کی صورت میں بھی اس کے آپریشن کی لاگت تقریباً صفر ہونی چاہیے۔ یہ بنیادی طور پر Cloudflare Workers اور Workers Analytics Engine کے ذریعے چلتا ہے۔ فروری 2025 تک، Workers Analytics Engine کی زیادہ سے زیادہ مدت 90 دن ہے، اس لیے ڈیش بورڈ صرف گزشتہ 90 دنوں کا ریکارڈ شدہ ڈیٹا دکھا سکتا ہے۔ Counterscale Apache Arrow فائلوں کا استعمال کرتے ہوئے R2 بکیٹ میں ڈیٹا کی طویل مدتی اسٹوریج بھی فراہم کرتا ہے۔ یہ طویل مدتی اسٹوریج ڈیفالٹ طور پر فعال ہے اور اسے CLI کے ذریعے غیر فعال کیا جا سکتا ہے۔ انسٹالیشن کے لیے macOS یا Linux، Node v20 یا اس سے اوپر، اور ایک فعال Cloudflare اکاؤنٹ کی ضرورت ہے۔ تعیناتی سے پہلے، صارفین کو ایک Cloudflare Workers سب ڈومین، اکاؤنٹ پر Analytics Engine بیٹا فعال، اور کم از کم 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 اور ہوسٹ نیم پیرامیٹرز کی ضرورت ہوتی ہے، اور یہ 'فائر اینڈ فورگیٹ' ہے تاکہ ٹریکنگ کی غلطیاں ایکسیپشنز پیدا نہ کریں۔ Counterscale میں جدید آپشنز شامل ہیں۔ آٹومیٹک پیج ویو ٹریکنگ کو autoTrackPageviews کو false سیٹ کر کے غیر فعال کیا جا سکتا ہے، جس کے بعد trackPageview کو دستی طور پر کال کیا جا سکتا ہے۔ تعیناتی کے URL کو ایک کسٹم ڈومین کے پیچھے بھی رکھا جا سکتا ہے۔ CLI انسٹالیشن، تصدیق، اور اسٹوریج مینجمنٹ کے لیے کمانڈز فراہم کرتا ہے۔ انسٹال کمانڈ ورکر کے نام اور اینالیٹکس ڈیٹا سیٹ کو کسٹمائز کرنے کے لیے ایڈوانس موڈ کے ساتھ ساتھ تفصیلی لاگنگ کو سپورٹ کرتی ہے۔ تصدیق کے سب کمانڈز میں enable، disable، اور roll شامل ہیں۔ اسٹوریج سب کمانڈز میں enable اور disable شامل ہیں۔ اپ گریڈ کرنے کا مطلب عام طور پر CLI انسٹالر کو دوبارہ چلانا ہے؛ میجر ورژنز کے لیے ریلیز نوٹس میں بیان کردہ اضافی اقدامات ہو سکتے ہیں۔ مقامی ترقی (local development) کے لیے، Counterscale کا صرف ایک ڈیٹا بیس ہے: Cloudflare Analytics Engine ڈیٹا سیٹ، جو Cloudflare کی API کا استعمال کرتے ہوئے HTTP کے ذریعے رابطہ کرتا ہے۔ کوئی مقامی ٹیسٹ ڈیٹا بیس نہیں ہے، اس لیے مقامی رائٹس no-op ہوتے ہیں اور ریڈز پروڈکشن Analytics Engine ڈیٹا سیٹ سے آتے ہیں۔ Cloudflare Analytics Engine سیمپلنگ کا استعمال کرتا ہے تاکہ بڑے پیمانے پر ڈیٹا کی ان جسٹشن اور کوئرینگ سستی رہے، جیسا کہ دیگر اینالیٹکس ٹولز میں ہوتا ہے۔