Cdnjs: اقتراح - مكتبة البريد تنزيل الإحصائيات / أرقام التحليلات والرسوم البيانية

تم إنشاؤها على ٢٢ مارس ٢٠١٣  ·  36تعليقات  ·  مصدر: cdnjs/cdnjs

هل يتتبع CDNJS عدد المرات التي يتم فيها سحب الملفات الفردية من شبكة CDN الخاصة بهم؟ سيكون من الرائع تمامًا أن يقوم CDNJS بذلك ثم كان لديه مخططات وجداول بيانات محدثة توضح عدد التنزيلات التي يحصل عليها كل ملف.

سيكون هذا أمرًا ملحميًا لأنه سيسمح للمطورين باختيار إصدارات المكتبة التي يرغبون في تنزيل مستخدميهم. قد يرغب المطور في اختيار إصدار المكتبة المتوافق بشكل واضح مع التعليمات البرمجية الخاصة به ، ولكنهم أيضًا سيختارون الإصدار الذي يتم تنزيله أكثر من مرة خلال فترة X السابقة من الوقت.

على سبيل المثال ، لنفترض أن أحدث إصدار من jQuery قد تم إصداره ووضعه على CDNJS. بعد مرور يومين ، تبدو إحصاءات jQuery على هذا النحو للأسبوع الماضي:

jQuery 1.9.1 = 20000 تنزيل
jQuery 1.9.0 = 50000 تنزيل
jQuery 1.8.3 = 560.000 تنزيل
jQuery 1.8.2 = 120000 تنزيل
إلخ...

يمكن للمطور أن ينظر إلى هذا ويعرف أنه من المرجح أن يكون لدى زواره بالفعل jQuery 1.8.3 مؤقتًا بدلاً من 1.9.1 لأنه جديد. طالما أن الكود الخاص بهم متوافق مع 1.8.3 ، فسيختارون هذا الرمز.

ونظرًا لأن هذه الأرقام تتغير بمرور الوقت ، ربما بعد شهر واحد ، يعود المطور إلى CDNJS ويرى الآن أن 1.9.1 إحصائيات أعلى من 1.8.3 ، لذا مرة أخرى ، طالما أن الكود الخاص به متوافق مع 1.9.1 ، فيمكنه قم بتبديل موقعه بأمان لاستخدام 1.9.1 نظرًا لأنه من المرجح الآن أن يكون لدى زواره 1.9.1 مخبأ بالفعل.

هل لهذا معنى؟ بالنسبة لي سيكون مفيدًا للغاية. بيت القصيد من CDNJS هو أن المطورين يشاركون المكتبات والموارد. لذلك بمرور الوقت ، مع إضافة المزيد والمزيد من المكتبات إلى CDNJS وإضافة المزيد والمزيد من الإصدارات من تلك المكتبات ، سيكون من المفيد جدًا أن يكون لديك أداة مثل هذه حتى يتمكن المطورون من اتخاذ قرارات مستنيرة بناءً على المكتبات والموارد. يتم مشاركتها أكثر من غيرها.


تريد أن تدعم هذه القضية؟ أضف مكافأة على ذلك! نحن نقبل المنح عبر

Help wanted ⛅️ Waiting for Cloudflare 📒 Documentation

التعليق الأكثر فائدة

تنتظر حاليًا Cloudflare لإنشاء طريقة تتيح لنا الوصول إلى الإحصائيات / السجل للنطاق cdnjs.cloudflare.com . سأقوم بنشر التحديثات عندما أحصل عليها.

ال 36 كومينتر

Jakobud اقتراح عظيم جيك. أنت محق تمامًا في أن هذا سيكون مفيدًا حقًا ، وهو طلب شائع: https://github.com/cdnjs/cdnjs/issues/405

نحن نقوم بعصف ذهني للتوصل إلى حلول في الوقت الحالي ، لذلك يسعدنا أن تكون جزءًا من المحادثة.

تم إغلاق الإصدار القديم رقم 405 تابع المحادثة هنا

تم تصنيفها على أنها ذات أولوية عالية ، هل لدى أي شخص أي أفكار رائعة حتى الآن حول كيفية تحليل بضعة مليارات من السطور؟

كم عدد الأسطر هو ملف السجل النموذجي؟ هل تقسم ملفات السجل إلى ملف واحد في اليوم أو أصغر؟ هل تشير ملفات السجل ببساطة إلى http: // path / file الذي تم تنزيله؟ أم أنه يحتوي على مراجع لمعرف صف قاعدة البيانات (معرفات كل اسم ملف أفترض أنها مخزنة في قاعدة بيانات)؟

يتم التعامل مع كل موقع حافة (حاليًا 23) بشكل مستقل عن الآخر.

إذن ما لدينا هو ملف سجل واحد أو أكثر لكل موقع حافة يوميًا ، ونحن
عددًا كبيرًا من الزيارات.

في يوم الجمعة ، 28 يونيو 2013 ، كتب جيك ويلسون:

كم عدد الأسطر هو ملف السجل النموذجي؟ هل تقوم بتقسيم ملفات السجل إلى
واحد في اليوم أو أصغر؟

-
قم بالرد على هذه الرسالة الإلكترونية مباشرة أو tHubhttps: //github.com/cdnjs/cdnjs/issues/1078#issuecomment -20125044
.

إذا كان بإمكانك نشر مقتطفات من ملفات السجل ، فسيكون هذا مكانًا للبدء.

أي تقدم في هذا؟ أنتم يا رفاق بحاجة إلى أي مساعدة في ذلك؟ أعلم أنه من المحتمل أن يكون هناك الكثير من ملفات السجل الضخمة ، لكنني أعتقد أن الأمر يتعلق فقط ببرنامج نصي بيثون يتم بثه في ملفات السجل وحفظ البيانات في قاعدة بيانات أو شيء من هذا القبيل. ستكون عملية طويلة الأمد ولكنها لن تكون معقدة حقًا.

لمعلوماتك ، لا أعرف ما إذا كانت cdnjs تستخدم خدمات AWS على الواجهة الخلفية أم لا ، ولكن هذا مقال مثير للاهتمام يحتمل أن يكون وثيق الصلة بهذه المشكلة:

http://aws.amazon.com/blogs/aws/all-your-data-fluentd/

يناقش استخدام برنامج يسمى Fluentd لدفق تغييرات ملف السجل في تخزين البيانات. لذلك بالنسبة لـ CDNJS ، يمكن دفق سجلات الوصول إلى المكتبة إلى نوع من قاعدة بيانات الاستخدام التي يمكن استخدامها لعرض إحصائيات الاستخدام.

أيضًا ، لمعلوماتك ، يمكنك الحصول على شخص ما لمساعدتك في حل لهذا إذا كان بإمكانك الكشف عن تفاصيل حول تسجيل الدخول الخاص بك. كيف يعمل ، حيث يتم تخزين الملفات ، يمنحنا الوصول إلى يوم أو أسابيع من السجلات ، وما إلى ذلك ... يمكن لأي شخص اكتشاف حل لك.

اقتراح آخر لكم يا رفاق ، فقط اجعلوا سجلاتكم عامة. ضعهم على AWS S3 أو شيء ما واسمح لأي شخص بالاستيلاء عليها. أضمن أن شخصًا ما (أو ربما عدة أشخاص) سيأتي بحل تحليلي لك.

أردت فقط التواصل بشأن هذه المشكلة مرة أخرى. سأقولها مرة أخرى ، قدم بعض الأمثلة على ملفات السجل وسيقوم شخص ما في مكان ما بتجميع محلل لك من شأنه أن يسحب إحصائيات تنزيل المكتبة.

pingthomasdavis

أوه ، ما زلنا لا نملك احصائيات.

سيكون إنشاء خدمة API لـ cdnjs أمرًا رائعًا. شيء مثل:

api.cdnjs.com/lib/jquery/stats

بعد ذلك ، يمكننا استخدام هذه الخدمة لجلب الإحصائيات في موقع cdnjs. :اربع اوراق برسيم:

الإحصائيات من موقع الويب سهلة ، لكن الناس يريدون الإحصائيات من cdn ، أتذكر أن Cloudflare لم تعطنا تلك المعلومات أو سجل الوصول.

سم مكعبthomasdavisryankirkmanterinjokes

يمكننا الوصول إلى السجلات ، لكن حجم السجل كبير جدًا نحتاج إليه
اكتشف إستراتيجية التجميع
الأحد، 24 مايو 2015 في 00:28 بيتر ديف مرحبا [email protected]
كتب:

الإحصائيات من موقع الويب سهلة ، لكن الناس يريدون الإحصائيات من cdn ، على ما أذكر
أن cloudflare لم تعطنا تلك المعلومات أو سجل الوصول.

cc thomasdavis https://github.com/thomasdavisryankirkman
https://github.com/ryankirkmanterinjokes
https://github.com/terinjokes

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -104988412.

ستكون الإحصائيات التقريبية جيدة تقريبًا. إذا كان حجم السجل يمثل مشكلة ، فيمكن أخذ عينات من السجلات.

هذا صحيح! حتى يوم واحد من حركة المرور * 30 سيكون ممتعًا بدرجة كافية.

أين السجلات الآن؟ هل يمكن الوصول إليها بأي شكل؟ أعتقد أن تفريغ السجلات اليومية على بعض وحدات التخزين S3 سيكون ممكنًا ومن ثم يمكن لشخص ما أن يكتب شيئًا يوزعها.

سأكون متحمسًا لكتابة أداة لتحليل السجلات! أنا على أي حال منخرط في بعض مشاريع الإحصاءات والتصورات ، لذلك سيكون ذلك رائعًا. : الماسة:

كما قلت من قبل ، كل ما يحتاجه CDNJS هو إتاحة الوصول إلى السجلات بشكل ما ، وسيقوم شخص ما بكتابة محلل رائع لإنشاء إحصائيات الاستخدام.

نحن نفعل الآن ، سيكون عنوان IP في السجل حساسًا ، يجب توخي الحذر.

أي تحديث على هذا؟ ألقي قبعتي في الحلبة كشخص آخر يرغب في كتابة محلل.

مرحبًا يا عزيزي جميعًا ، لا أخشى ذلك ، فهناك بعض المشكلات الأكثر أهمية ، ولكننا سنبذل قصارى جهدنا للحصول على هذه الميزة في أسرع وقت ممكن.

راجع للشغل ، شكرًا للرجال الذين يريدون كتابة محلل لنا ، إذا كنت لا تمانع ، فلا يزال بإمكانك المساهمة في أجزاء أخرى من cdnjs ، مثل التحديث التلقائي bower أو شيء من هذا القبيل ، شكرًا!

أي المزيد من التحديثات على هذا واحد؟ لقد مر أكثر من عامين ونصف. هل فكرتم للتو في جعل سجلاتك متاحة للجمهور بشكل ما؟

ساعدنا ساعدك!

على الرغم بينغthomasdavisryankirkmanterinjokesdrewfreyling ...

مرحبًا ، أعلم أنه في # 405 ، كانت المشكلة تتعلق بالمال. السجلات في تنسيق مشترك ، ولكن لسحب السجلات لأسفل مقابل 5 ملايين تصل إلى 300 دولار في اليوم أو شيء من هذا القبيل. (بعد عامين ونصف ، ربما تحصلون يا رفاق على أكثر من 5 ملايين زيارة في اليوم).

لذا كان الحل الذي تم طرحه هو إعداد تحليل على مثيل EC2. سيكون هذا هو الحل الأفضل. طالما أن مثيل EC2 الخاص بك موجود في نفس المنطقة مثل حاوية S3 الخاصة بك ، فلا توجد تكلفة لنقل ملفات السجل الخاصة بك من S3 إلى مثيل EC2 الخاص بك.

لذلك ، في الأساس ، سيكون الحل هو الحصول على نوع من المهام اليومية التي تحدث:

  1. يبدأ مثيل EC2
  2. يسحب البرنامج النصي السجلات لآخر 24 ساعة من حاوية S3
  3. يوزع البرنامج النصي السجلات
  4. البرنامج النصي يحذف السجل المحلي
  5. يقوم البرنامج النصي بتفريغ البيانات بأي شكل تريده في بعض قواعد البيانات في مكان ما
  6. ينهي البرنامج النصي مثيل EC2

لذلك سيكون هذا أقل تكلفة مطلقة. ستدفع فقط مقابل الوقت الذي يكون فيه المثيل نشطًا. لا ينبغي أن تكون جدولة مثيل EC2 للتشغيل كل 24 ساعة أمرًا صعبًا للغاية. وأنا متأكد من أنه يمكنك إنهاء مثيل EC2 برمجيًا.

مجرد فكرة. بصراحة لن يكون من الصعب للغاية معرفة ذلك ...

في الواقع ، سيكون الحل الأفضل هو استخدام AWS Data Pipeline

http://aws.amazon.com/documentation/data-pipeline/

و AWS Elastic Map Reduce

https://aws.amazon.com/elasticmapreduce/

تم تصميم هذه الأدوات للقيام بالضبط بما تحتاج إلى القيام به يا رفاق: تحليل البيانات / السجلات بطريقة فعالة من حيث التكلفة.

مرحبا جيك ،

الحل الذي اقترحته أنيق للغاية ، لكننا للأسف لا نستخدمه
Cloudfront لاستضافة CDN بعد الآن. Cloudflare هي الشبكة الأساسية
مزود.

بالنسبة إلى حل الإحصائيات ، ليس لدينا إجابة جيدة حتى الآن آسف جيك.
يوم الخميس ، 19 تشرين الثاني (نوفمبر) 2015 ، الساعة 9:35 صباحًا. Jake Wilson [email protected]
كتب:

في الواقع ، سيكون الحل الأفضل هو استخدام AWS Data Pipeline

http://aws.amazon.com/documentation/data-pipeline/

و AWS Elastic Map Reduce

https://aws.amazon.com/elasticmapreduce/

صُممت هذه الأدوات لتقوم بالضبط بما تحتاجه يا رفاق: التحليل
البيانات / السجلات بطريقة فعالة من حيث التكلفة.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -158129912.

ryankirkman هل يمكننا تقييم حجم القرص الذي نحتاجه يوميًا ، وربما يمكنني العثور على التخزين.

هل يمكن الوصول إلى سجلات Cloudflare بشكل ما ، أو قابلة للتنزيل أو عبر واجهة برمجة التطبيقات أو أي شيء آخر؟ أيضًا ، تسعير تحويل EC2:

نقل البيانات إلى Amazon EC2 من الإنترنت 0.00 دولار لكل جيجابايت

https://aws.amazon.com/ec2/pricing/

لذلك أفترض أن هذا يعني أنه يمكنك سحب سجلات Cloudflare برمجيًا وتحليلها أو القيام بأي شيء وسيظل هذا الأمر يكلفك فقط الوقت الذي يكون فيه مثيل EC2 نشطًا.

يبدو أن هذه المشكلة كانت راكدة إلى حد كبير - هل يوجد الآن حل بديل / ممكن لتحديد إحصائيات أو نسب استخدام المكتبة؟

بأخذ مثال jQuery - بصفتك مالك موقع ، فإنك تهتم بنسبة٪ من المستخدمين الذين يصلون بإصدار jquery المطلوب مخزّنًا مؤقتًا بالفعل ، وأي إحصائيات يمكن أن توفرها cdnjs ستكون رائعة في تحديد ذلك.

تنتظر حاليًا Cloudflare لإنشاء طريقة تتيح لنا الوصول إلى الإحصائيات / السجل للنطاق cdnjs.cloudflare.com . سأقوم بنشر التحديثات عندما أحصل عليها.

لاحظ من # 6186 أن المزيد من الإحصائيات المتعمقة ستكون مفيدة مثل تقسيم الدول.

dknecht من فضلك ، هل يمكننا استخدام هذه المشكلة لتتبع أي تحديثات على مزيد من الإحصائيات / الوصول إلى السجلات إلى المجال cdnjs.cloudflare.com . شكرا :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

BorisMoore picture BorisMoore  ·  4تعليقات

truekasun picture truekasun  ·  5تعليقات

LuanComputacao picture LuanComputacao  ·  5تعليقات

PeterDaveHello picture PeterDaveHello  ·  6تعليقات

binki picture binki  ·  5تعليقات