Cdnjs: Suggestion - Publier les statistiques de téléchargement de la bibliothèque/chiffres et graphiques analytiques

Créé le 22 mars 2013  ·  36Commentaires  ·  Source: cdnjs/cdnjs

CDNJS garde-t-il une trace du nombre de fois où des fichiers individuels sont extraits de leur CDN ? Ce serait absolument génial si CDNJS faisait cela et disposait ensuite de graphiques et de tableaux de données à jour indiquant le nombre de téléchargements de chaque fichier.

Ce serait épique car cela permettrait aux développeurs de choisir les versions de bibliothèque qu'ils souhaitent que leurs utilisateurs téléchargent. Le développeur voudrait choisir la version de la bibliothèque qui est évidemment compatible avec son code, mais il choisirait également celle qui est la plus téléchargée au cours des X dernières périodes.

Par exemple, disons que le dernier jQuery vient d'être publié et mis sur CDNJS. Quelques jours s'écoulent et les statistiques de jQuery ressemblent à celles-ci pour la semaine dernière :

jQuery 1.9.1 = 20 000 téléchargements
jQuery 1.9.0 = 50 000 téléchargements
jQuery 1.8.3 = 560 000 téléchargements
jQuery 1.8.2 = 120 000 téléchargements
etc...

Le développeur peut regarder cela et savoir qu'il est plus probable que leurs visiteurs aient déjà mis en cache jQuery 1.8.3 par opposition à 1.9.1 car il est nouveau. Donc tant que leur code est compatible 1.8.3, ils choisiraient celui-ci.

Et comme ces chiffres changent avec le temps, peut-être un mois plus tard, le développeur revient sur CDNJS et voit maintenant que les statistiques 1.9.1 sont supérieures à 1.8.3, donc encore une fois, tant que son code est compilant 1.9.1, il pourrait passer en toute sécurité son site à utiliser 1.9.1 puisque ses visiteurs sont maintenant plus susceptibles d'avoir déjà mis en cache 1.9.1.

Est-ce que ça a du sens? Pour moi, ce serait EXTRÊMEMENT utile. L'intérêt de CDNJS est que les développeurs partagent des bibliothèques et des ressources. Ainsi, au fil du temps, à mesure que de plus en plus de bibliothèques sont ajoutées à CDNJS et que de plus en plus de versions de ces bibliothèques sont ajoutées, il serait inestimable de disposer d'un outil comme celui-ci afin que les développeurs puissent prendre des décisions éclairées en fonction des bibliothèques et des ressources. étant le plus partagé.


Vous voulez soutenir ce problème ? Publiez une prime dessus ! Nous acceptons les primes via Bountysource .

Help wanted ⛅️ Waiting for Cloudflare 📒 Documentation

Commentaire le plus utile

Nous attendons actuellement que Cloudflare établisse un moyen pour nous d'avoir un accès aux statistiques/au journal pour le domaine cdnjs.cloudflare.com . Publierai des mises à jour au fur et à mesure que je les reçois.

Tous les 36 commentaires

@Jakobud Excellente suggestion Jake. Vous avez tout à fait raison de dire que cela serait vraiment utile, et c'est une demande populaire : https://github.com/cdnjs/cdnjs/issues/405

Nous réfléchissons à des solutions en ce moment, nous sommes donc heureux de vous avoir dans le cadre de la conversation.

L'ancien numéro 405 fermé continue la conversation ici

Marqué comme haute priorité, quelqu'un a-t-il encore des idées brillantes sur la façon d'analyser quelques milliards de lignes ?

Combien de lignes compte le fichier journal typique ? Divisez-vous les fichiers journaux jusqu'à un par jour ou moins ? Les fichiers journaux indiquent-ils simplement quel http://chemin/fichier a été téléchargé ? Ou a-t-il des références aux identifiants de ligne de base de données (identifiants de chaque nom de fichier qui, je suppose, sont stockés dans une base de données) ?

Chaque emplacement périphérique (actuellement 23) est traité indépendamment des autres.

Nous avons donc un ou plusieurs fichiers journaux par emplacement périphérique par jour, et nous
obtiennent un nombre important de visites.

Le vendredi 28 juin 2013, Jake Wilson a écrit :

Combien de lignes compte le fichier journal typique ? Divisez-vous les fichiers journaux jusqu'à
un par jour ou moins ?

-
Répondez directement à cet e-mail ou consultez-le sur Gi tHubhttps://github.com/cdnjs/cdnjs/issues/1078#issuecomment -20125044
.

Si vous pouviez publier des extraits des fichiers journaux, ce serait un point de départ.

Des progrès à ce sujet ? Vous avez besoin d'aide ? Je sais qu'il y a probablement beaucoup d'énormes fichiers journaux, mais je pense qu'il ne s'agirait que d'un simple script python qui diffuse les fichiers journaux et enregistre les données dans une base de données ou quelque chose comme ça. Ce serait un long processus, mais ce ne serait probablement pas si compliqué que ça.

Pour info, je ne sais pas si cdnjs utilise les services AWS sur le backend ou non, mais c'est un article intéressant qui est potentiellement très pertinent pour ce problème :

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

Il traite de l'utilisation d'un logiciel appelé Fluentd pour diffuser les modifications du fichier journal dans le stockage de données. Ainsi, pour CDNJS, il pourrait diffuser les journaux d'accès à la bibliothèque dans une sorte de base de données d'utilisation qui pourrait être utilisée pour afficher des statistiques d'utilisation.

De plus, pour votre information, vous pourriez demander à quelqu'un de vous aider à trouver une solution à ce problème si vous pouviez divulguer des détails sur votre journalisation. Comment ça marche, où les fichiers sont stockés, nous donner accès à une journée ou à des semaines de journaux, etc... Quelqu'un pourrait trouver une solution pour vous.

Une autre suggestion pour vous, rendez vos logs publics. Mettez-les sur AWS S3 ou quelque chose et permettez à n'importe qui de les saisir. JE GARANTIT que quelqu'un (ou plusieurs personnes probablement) proposera une solution d'analyse pour vous.

Je voulais juste revenir sur ce problème. Je le répète, fournissez quelques exemples de fichiers journaux et quelqu'un quelque part créera un analyseur pour vous qui extraira les statistiques de téléchargement de la bibliothèque.

ping @thomasdavis

Oh, nous n'avons toujours pas de statistiques.

Créer un service api pour les cdnjs serait bien. Quelque chose comme:

api.cdnjs.com/lib/jquery/stats

Ensuite, nous pouvons utiliser ce service pour récupérer les statistiques sur le site Web de cdnjs. :trèfle à quatre feuilles:

Les statistiques du site Web sont faciles, mais les gens veulent les statistiques du cdn, je me souviens que cloudflare ne nous a pas donné cette information ou ce journal d'accès.

cc @thomasdavis @ryankirkman @terinjokes

Nous pouvons accéder aux journaux, mais le volume des journaux est si important que nous devons
définir une stratégie d'agrégation
Le dimanche 24 mai 2015 à 00h28 Peter Dave Bonjour [email protected]
a écrit:

Les statistiques du site Web sont faciles, mais les gens veulent les statistiques du cdn, je me souviens
ce cloudflare ne nous a pas donné cette information ou ce journal d'accès.

cc @thomasdavis https://github.com/thomasdavis @ryankirkman
https://github.com/ryankirkman @terinjokes
https://github.com/terinjokes

-
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -104988412.

Les statistiques approximatives seraient presque aussi bonnes. Si le volume des journaux pose problème, les journaux peuvent être échantillonnés.

C'est vrai! Même une journée de trafic*30 serait assez intéressante.

Où sont les journaux maintenant? Sont-ils accessibles sous quelque forme que ce soit ? Je pense que le vidage des journaux quotidiens sur un stockage S3 serait faisable et que quelqu'un pourrait alors écrire quelque chose qui les analyse.

Je serais ravi d'écrire un outil pour analyser les journaux ! Je suis de toute façon impliqué dans des projets de statistiques et de visualisations, donc ce serait génial. :cierge magique:

Comme je l'ai déjà dit, tout ce que CDNJS a à faire est de rendre les journaux accessibles sous une forme ou une autre, et quelqu'un se chargera d'écrire un analyseur sympa pour générer des statistiques d'utilisation.

Nous faisons maintenant, l'adresse IP dans le journal sera sensible, il faut faire attention.

Une mise à jour pour ceci? Jeter mon chapeau dans le ring comme une autre personne qui serait prête à écrire un analyseur.

Salut à tous, j'ai bien peur que non, il y a des problèmes plus importants, mais nous ferons de notre mieux pour avoir cette fonctionnalité dès que possible.

BTW, merci pour les gars qui veulent écrire un analyseur pour nous, si cela ne vous dérange pas, vous pouvez toujours contribuer à d'autres parties de cdnjs, comme bower auto-updater ou quelque chose, merci !

Plus de mises à jour sur celui-ci? Cela fait plus de 2 ans et demi. Avez-vous simplement envisagé de rendre vos journaux accessibles au public sous une forme ou une autre ?

Aidez-nous Aidez-nous!

bien que ping @thomasdavis @ryankirkman @terinjokes @drewfreyling ...

Hé, je sais qu'au n° 405, le problème était l'argent. Les journaux sont au format commun, mais pour extraire les journaux de 5 millions de coups, cela équivaut à 300 $ par jour ou quelque chose comme ça. (2 ans et demi plus tard, vous obtenez probablement BEAUCOUP plus de 5 millions de visites par jour).

La solution proposée consistait donc à configurer une analyse sur une instance EC2. Ce serait la meilleure solution. Tant que votre instance EC2 se trouve dans la même région que votre conteneur S3, il n'y a aucun coût pour transférer vos fichiers journaux de S3 vers votre instance EC2.

Donc, essentiellement, la solution serait d'avoir une sorte de tâche quotidienne qui se produit :

  1. L'instance EC2 démarre
  2. Le script extrait les journaux des dernières 24 heures du conteneur S3
  3. Le script analyse les journaux
  4. Le script supprime le journal local
  5. Le script vide les données sous la forme que vous voulez dans une base de données quelque part
  6. Le script met fin à l'instance EC2

Ce serait donc un coût absolument minimal. Vous ne paieriez que pour la durée d'activité de l'instance. La planification d'une instance EC2 pour qu'elle s'allume toutes les 24 heures ne devrait pas être trop difficile. Et je suis presque sûr que vous pouvez auto-terminer une instance EC2 par programmation.

Juste une pensée. Honnêtement, ce ne serait pas trop difficile à comprendre...

En fait, une solution encore meilleure serait d'utiliser AWS Data Pipeline

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

Et AWS Elastic Map Réduire

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

Ces outils sont conçus pour faire exactement ce que vous devez faire : analyser les données/journaux de manière rentable.

Salut Jake,

La solution que vous proposez est très élégante, mais malheureusement nous n'utilisons pas
Cloudfront pour héberger le CDN plus. Cloudflare est le réseau principal
fournisseur.

En ce qui concerne une solution de statistiques, nous n'avons pas encore de bonne réponse désolé Jake.
Le jeu. 19 novembre 2015 à 9h35 Jake Wilson [email protected]
a écrit:

En fait, une solution encore meilleure serait d'utiliser AWS Data Pipeline

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

Et AWS Elastic Map Réduire

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

Ces outils sont conçus pour faire exactement ce que vous devez faire : Analyser
données/journaux de manière rentable.

-
Répondez directement à cet e-mail ou consultez-le sur GitHub
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -158129912.

@ryankirkman pouvons-nous évaluer la taille du disque dont nous avons besoin par jour, et peut-être que je peux trouver le stockage.

Les journaux Cloudflare vous sont-ils accessibles sous une forme quelconque, téléchargeables ou via une API ou autre ? De plus, les prix de transfert EC2 :

Transfert de données IN vers Amazon EC2 à partir d'Internet 0,00 $ par Go

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

Je suppose donc que cela signifie que vous pouvez extraire par programme les journaux Cloudflare et les analyser ou faire n'importe quoi et cela ne vous coûterait toujours que le temps que l'instance EC2 est active.

On dirait que ce problème a été assez stagnant - existe-t-il maintenant une solution alternative / faisable pour déterminer les statistiques ou les pourcentages d'utilisation de la bibliothèque ?

Prenons l'exemple de jQuery - en tant que propriétaire de site, vous vous souciez du % d'utilisateurs arrivant avec la version jquery requise déjà mise en cache, et toutes les statistiques que cdnjs peuvent fournir seraient formidables pour le déterminer.

Nous attendons actuellement que Cloudflare établisse un moyen pour nous d'avoir un accès aux statistiques/au journal pour le domaine cdnjs.cloudflare.com . Publierai des mises à jour au fur et à mesure que je les reçois.

Noté à partir de #6186 que des statistiques plus approfondies seraient utiles, telles que des ventilations par pays.

@dknecht S'il vous plaît, pouvons-nous utiliser ce problème pour suivre les mises à jour sur d'autres accès aux statistiques / journaux du domaine cdnjs.cloudflare.com . Merci :)

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

LuanComputacao picture LuanComputacao  ·  5Commentaires

olafcm picture olafcm  ·  5Commentaires

BorisMoore picture BorisMoore  ·  4Commentaires

PeterDaveHello picture PeterDaveHello  ·  6Commentaires

sufuf3 picture sufuf3  ·  3Commentaires