Cdnjs: Vorschlag - Statistiken/Analysenzahlen und Grafiken zum Herunterladen der Postbibliothek

Erstellt am 22. März 2013  ·  36Kommentare  ·  Quelle: cdnjs/cdnjs

Verfolgt CDNJS, wie oft einzelne Dateien aus ihrem CDN gezogen werden? Es wäre absolut großartig, wenn CDNJS dies tun würde und dann aktualisierte Diagramme und Datentabellen hätte, die zeigen, wie viele Downloads jede Datei erhält.

Dies wäre episch, weil es Entwicklern ermöglichen würde, auszuwählen, welche Bibliotheksversionen sie von ihren Benutzern herunterladen möchten. Der Entwickler möchte die Bibliotheksversion wählen, die offensichtlich mit seinem Code kompatibel ist, aber auch diejenige, die in den letzten X Zeit am häufigsten heruntergeladen wurde.

Nehmen wir zum Beispiel an, die neueste jQuery wird gerade veröffentlicht und auf CDNJS gestellt. Ein paar Tage vergehen und die Statistiken für jQuery sehen für die letzte Woche so aus:

jQuery 1.9.1 = 20.000 Downloads
jQuery 1.9.0 = 50.000 Downloads
jQuery 1.8.3 = 560.000 Downloads
jQuery 1.8.2 = 120.000 Downloads
etc...

Der Entwickler kann sich das ansehen und wissen, dass es wahrscheinlicher ist, dass seine Besucher jQuery 1.8.3 bereits im Cache haben werden, im Gegensatz zu 1.9.1, da es neu ist. Solange ihr Code 1.8.3 kompatibel ist, würden sie diesen wählen.

Und da sich diese Zahlen im Laufe der Zeit ändern, kehrt der Entwickler vielleicht einen Monat später zu CDNJS zurück und sieht jetzt, dass die 1.9.1-Statistiken höher als 1.8.3 sind seine Site sicher auf 1.9.1 umstellen, da seine Besucher jetzt mit größerer Wahrscheinlichkeit bereits 1.9.1 zwischengespeichert haben.

Macht das Sinn? Für mich wäre es EXTREM nützlich. Der Sinn von CDNJS besteht darin, dass Entwickler Bibliotheken und Ressourcen gemeinsam nutzen. Im Laufe der Zeit, da immer mehr Bibliotheken zu CDNJS hinzugefügt werden und immer mehr Versionen dieser Bibliotheken hinzugefügt werden, wäre es von unschätzbarem Wert, ein solches Tool zu haben, damit die Entwickler fundierte Entscheidungen treffen können, basierend darauf, welche Bibliotheken und Ressourcen verwendet werden am meisten geteilt wird.


Möchten Sie dieses Problem unterstützen? Setzen Sie ein Kopfgeld darauf! Wir akzeptieren Prämien über Bountysource .

Help wanted ⛅️ Waiting for Cloudflare 📒 Documentation

Hilfreichster Kommentar

Wir warten derzeit darauf, dass Cloudflare eine Möglichkeit für uns bietet, Zugriff auf Statistiken/Protokolle für die Domain cdnjs.cloudflare.com . Werde Updates posten, sobald ich sie bekomme.

Alle 36 Kommentare

@Jakobud Toller Vorschlag Jake. Sie haben völlig Recht, dass dies wirklich nützlich wäre, und es ist eine beliebte Anfrage: https://github.com/cdnjs/cdnjs/issues/405

Wir sind gerade dabei, Lösungen zu finden, und freuen uns, Sie als Teil des Gesprächs zu haben.

Geschlossene alte Ausgabe #405 Konversation hier fortsetzen

Hat jemand, der als hohe Priorität markiert ist, noch irgendwelche brillanten Ideen, wie man ein paar Milliarden Zeilen analysieren kann?

Wie viele Zeilen umfasst die typische Protokolldatei? Teilen Sie die Protokolldateien bis auf eine pro Tag oder kleiner auf? Sagen die Protokolldateien einfach, welcher http://Pfad/Datei heruntergeladen wurde? Oder hat es Verweise auf Datenbankzeilen-IDs (IDs jedes Dateinamens, von denen ich annehme, dass sie in einer Datenbank gespeichert sind)?

Jeder Kantenstandort (derzeit 23) wird unabhängig von jedem anderen behandelt.

Wir haben also eine oder mehrere Protokolldateien pro Edge-Standort und Tag, und wir
erhalten eine beachtliche Anzahl von Treffern.

Am Freitag, 28. Juni 2013, schrieb Jake Wilson:

Wie viele Zeilen umfasst die typische Protokolldatei? Teilen Sie die Protokolldateien auf bis
einmal pro Tag oder kleiner?


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf Gi tHub anhttps://github.com/cdnjs/cdnjs/issues/1078#issuecomment -1215044
.

Wenn Sie Auszüge aus den Protokolldateien veröffentlichen könnten, wäre das ein Anfang.

Gibt es diesbezüglich Fortschritte? Brauchen Sie Hilfe dabei? Ich weiß, dass es wahrscheinlich viele riesige Protokolldateien gibt, aber ich denke, es wäre nur eine Frage eines einfachen Python-Skripts, das die Protokolldateien einströmt und die Daten in einer Datenbank oder ähnlichem speichert. Es wäre ein langwieriger Prozess, aber es wäre wahrscheinlich nicht wirklich so kompliziert.

Zu Ihrer Information, ich weiß nicht, ob cdnjs AWS-Services im Backend verwendet oder nicht, aber dies ist ein interessanter Artikel, der für dieses Problem möglicherweise sehr relevant ist:

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

Es beschreibt die Verwendung von Software namens Fluentd zum Streamen von Protokolldateiänderungen in den Datenspeicher. Für CDNJS könnte es also Bibliothekszugriffsprotokolle in eine Art Nutzungsdatenbank streamen, die verwendet werden könnte, um Nutzungsstatistiken anzuzeigen.

Außerdem könnten Sie zu Ihrer Information jemanden finden, der Ihnen mit einer Lösung für dieses Problem hilft, wenn Sie Details zu Ihrer Protokollierung preisgeben könnten. Wie es funktioniert, wo die Dateien gespeichert sind, geben Sie uns Zugriff auf Protokolle von einem Tag oder einer Woche usw. Jemand könnte eine Lösung für Sie finden.

Noch ein Vorschlag für euch, macht einfach eure Logs öffentlich. Stellen Sie sie auf AWS S3 oder so auf und erlauben Sie jedem, sie zu greifen. ICH GARANTIERE, dass jemand (oder wahrscheinlich mehrere Personen) eine Analyselösung für Sie finden wird.

Wollte mich gerade nochmal zu diesem Thema melden. Ich sage es noch einmal, stelle einige Beispielprotokolldateien zur Verfügung und jemand wird irgendwo einen Parser für Sie zusammenstellen, der die Download-Statistiken der Bibliothek abruft.

ping @thomasdavis

Oh, wir haben immer noch keine Statistiken.

Es wäre schön, einen API-Dienst für cdnjs zu erstellen. Etwas wie:

api.cdnjs.com/lib/jquery/stats

Dann können wir diesen Dienst verwenden, um die Statistiken auf der cdnjs-Website abzurufen. :vierblättriges Kleeblatt:

Statistiken von der Website sind einfach, aber die Leute wollen die Statistiken von cdn. Ich erinnere mich, dass Cloudflare uns diese Informationen oder das Zugriffsprotokoll nicht gegeben hat.

cc @thomasdavis @ryankirkman @terinjokes

Wir können auf die Protokolle zugreifen, aber das Protokollvolumen ist so groß, dass wir es brauchen
eine Aggregationsstrategie finden
Am So, 24. Mai 2015 um 00:28 Uhr Peter Dave Hallo [email protected]
schrieb:

Statistiken von der Website sind einfach, aber die Leute wollen die Statistiken von cdn, ich erinnere mich
dass Cloudflare uns diese Informationen oder das Zugriffsprotokoll nicht gegeben hat.

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


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -104988412.

Ungefähre Statistiken wären fast genauso gut. Wenn das Protokollvolumen ein Problem darstellt, können Protokolle entnommen werden.

Das ist wahr! Auch ein Tag Verkehr * 30 wäre interessant genug.

Wo sind die Protokolle jetzt? Sind sie in irgendeiner Form zugänglich? Ich würde denken, dass es machbar wäre, tägliche Protokolle auf einem S3-Speicher zu speichern, und dann könnte jemand etwas schreiben, das sie analysiert.

Ich würde mich freuen, ein Tool zum Analysieren der Protokolle zu schreiben! Ich bin sowieso an einigen Statistik- und Visualisierungsprojekten beteiligt, das wäre also großartig. :Wunderkerze:

Wie ich bereits sagte, alles, was CDNJS tun muss, ist, die Protokolle in irgendeiner Form zugänglich zu machen, und jemand wird einen coolen Parser schreiben, um Nutzungsstatistiken zu generieren.

Wir tun jetzt, die IP-Adresse im Protokoll wird sensibel sein, sollte vorsichtig sein.

Gibt es hierzu Neuigkeiten? Meinen Hut in den Ring werfen als eine andere Person, die bereit wäre, einen Parser zu schreiben.

Hey, ihr Lieben, ich fürchte nicht, es gibt einige wichtigere Dinge, aber wir werden unser Bestes geben, um diese Funktion so schnell wie möglich zu haben.

Übrigens, danke für die Leute, die einen Parser für uns schreiben wollen. Wenn es Ihnen nichts ausmacht, können Sie immer noch zu anderen Teilen von cdnjs beitragen, wie zum Beispiel bower Auto-Updater oder so, danke!

Gibt es weitere Updates zu diesem? Das ist über 2 1/2 Jahre her. Habt ihr gerade darüber nachgedacht, eure Logs in irgendeiner Form öffentlich zugänglich zu machen?

Helfen Sie uns, Ihnen zu helfen!

obwohl ping @thomasdavis @ryankirkman @terinjokes @drewfreyling ...

Hey, ich weiß also, dass es bei #405 um Geld ging. Die Protokolle sind im Common Format, aber um die Protokolle für 5 Millionen Treffer herunterzuladen, sind es 300 USD pro Tag oder so ähnlich. (2 1/2 Jahre später bekommt ihr wahrscheinlich mehr als 5 Millionen Hits pro Tag).

Die dort verworfene Lösung bestand also darin, einen Parse auf einer EC2-Instance einzurichten. Dies wäre die beste Lösung. Solange sich Ihre EC2-Instance in derselben Region wie Ihr S3-Container befindet, fallen keine Kosten für die Übertragung Ihrer Protokolldateien von S3 auf Ihre EC2-Instance an.

Im Wesentlichen wäre die Lösung also eine tägliche Aufgabe, die passiert:

  1. EC2-Instanz startet
  2. Skript ruft Logs der letzten 24 Stunden aus dem S3-Container ab
  3. Skript parst Protokolle
  4. Skript löscht lokales Protokoll
  5. Das Skript legt die Daten in jeder gewünschten Form irgendwo in eine Datenbank ab
  6. Skript beendet EC2-Instanz

Das wären also absolut minimale Kosten. Sie zahlen nur für die Zeit, in der die Instanz aktiv ist. Es sollte nicht allzu schwierig sein, eine EC2-Instance so zu planen, dass sie alle 24 Stunden eingeschaltet wird. Und ich bin mir ziemlich sicher, dass Sie eine EC2-Instance programmgesteuert selbst beenden können.

Nur ein Gedanke. Es wäre ehrlich gesagt nicht allzu schwer herauszufinden...

Tatsächlich wäre eine noch bessere Lösung die Verwendung von AWS Data Pipeline

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

Und AWS Elastic Map Reduce

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

Diese Tools wurden entwickelt, um genau das zu tun, was Sie tun müssen: Daten/Protokolle auf kosteneffiziente Weise analysieren.

Hallo Jake,

Die von Ihnen vorgeschlagene Lösung ist sehr elegant, aber wir verwenden sie leider nicht
Cloudfront zum Hosten des CDN mehr. Cloudflare ist das primäre Netzwerk
Anbieter.

Was eine Statistiklösung angeht, haben wir noch keine gute Antwort, sorry Jake.
Am Do, 19. November 2015 um 09:35 Jake Wilson [email protected]
schrieb:

Tatsächlich wäre eine noch bessere Lösung die Verwendung von AWS Data Pipeline

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

Und AWS Elastic Map Reduce

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

Diese Tools wurden entwickelt, um genau das zu tun, was Sie tun müssen: Analysieren
Daten/Protokolle auf kosteneffiziente Weise.


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -158129912.

@ryankirkman können wir die Festplattengröße auswerten, die wir pro Tag benötigen, und vielleicht kann ich den Speicher finden.

Sind Cloudflare-Protokolle in irgendeiner Form für Sie zugänglich, herunterladbar oder über eine API oder ähnliches? Auch EC2-Verrechnungspreise:

Datenübertragung IN zu Amazon EC2 aus dem Internet $0,00 pro GB

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

Ich gehe also davon aus, dass Sie Cloudflare-Logs programmgesteuert abrufen und parsen oder was auch immer tun könnten, und es würde Sie immer noch nur für die Zeit kosten, die die EC2-Instance aktiv ist.

Es sieht so aus, als ob dieses Problem ziemlich stagniert hat - gibt es jetzt eine alternative / praktikable Lösung zum Bestimmen von Statistiken oder Prozentsätzen für die Bibliotheksnutzung?

Nehmen wir das jQuery-Beispiel - als Websitebesitzer kümmern Sie sich um % der Benutzer, die mit der erforderlichen jquery-Version bereits im Cache ankommen, und alle Statistiken, die cdnjs liefern kann, wären großartig, um dies zu bestimmen.

Wir warten derzeit darauf, dass Cloudflare eine Möglichkeit für uns bietet, Zugriff auf Statistiken/Protokolle für die Domain cdnjs.cloudflare.com . Werde Updates posten, sobald ich sie bekomme.

Aus #6186 wurde festgestellt, dass detailliertere Statistiken nützlich wären, z. B. Länderaufschlüsselungen.

@dknecht Bitte können wir dieses Problem nutzen, um alle Updates zu weiteren Statistiken/Logs-Zugriffen auf die cdnjs.cloudflare.com Domain zu verfolgen. Vielen Dank :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

dsinkey picture dsinkey  ·  5Kommentare

LuanComputacao picture LuanComputacao  ·  5Kommentare

lucasRolff picture lucasRolff  ·  4Kommentare

ulyan picture ulyan  ·  6Kommentare

vaindil picture vaindil  ·  4Kommentare