Cdnjs: Sugerencia: estadísticas de descarga de la biblioteca de publicaciones / números y gráficos de análisis

Creado en 22 mar. 2013  ·  36Comentarios  ·  Fuente: cdnjs/cdnjs

¿CDNJS realiza un seguimiento de cuántas veces se extraen archivos individuales de su CDN? Sería absolutamente increíble si CDNJS hiciera esto y luego tuviera gráficos actualizados y tablas de datos que muestren cuántas descargas recibe cada archivo.

Esto sería épico porque permitiría a los desarrolladores elegir qué versiones de la biblioteca quieren que descarguen sus usuarios. El desarrollador querría elegir la versión de la biblioteca que obviamente es compatible con su código, pero también elegiría la que más se descargó durante el último X período de tiempo.

Por ejemplo, digamos que el último jQuery acaba de ser lanzado y puesto en CDNJS. Pasan un par de días y las estadísticas de jQuery se ven así durante la semana pasada:

jQuery 1.9.1 = 20.000 descargas
jQuery 1.9.0 = 50,000 descargas
jQuery 1.8.3 = 560,000 descargas
jQuery 1.8.2 = 120,000 descargas
etc ...

El desarrollador puede ver esto y saber que es más probable que sus visitantes ya tengan jQuery 1.8.3 en caché en lugar de 1.9.1, ya que es nuevo. Entonces, siempre que su código sea compatible con 1.8.3, elegirían este.

Y dado que estos números cambian con el tiempo, tal vez un mes después, el desarrollador regresa a CDNJS y ve ahora que las estadísticas 1.9.1 son más altas que 1.8.3, así que nuevamente, siempre que su código sea compilante 1.9.1, podría cambie de forma segura su sitio para usar 1.9.1 ya que es más probable que sus visitantes ya tengan 1.9.1 en caché.

¿Esto tiene sentido? Para mí sería EXTREMADAMENTE útil. El objetivo de CDNJS es que los desarrolladores compartan bibliotecas y recursos. Entonces, con el tiempo, a medida que se agregan más y más bibliotecas a CDNJS y se agregan más y más versiones de esas bibliotecas, sería invaluable tener una herramienta como esta para que los desarrolladores tomen decisiones informadas en función de qué bibliotecas y recursos se utilizan. siendo el más compartido.


¿Quiere respaldar este problema? ¡Publique una recompensa por él! Aceptamos recompensas a través de Bountysource .

Help wanted ⛅️ Waiting for Cloudflare 📒 Documentation

Comentario más útil

Actualmente esperando en Cloudflare para establecer una forma para que tengamos acceso a estadísticas / registro para el dominio cdnjs.cloudflare.com . Publicaré actualizaciones a medida que las reciba.

Todos 36 comentarios

@Jakobud Gran sugerencia Jake. Tiene toda la razón en que esto sería realmente útil, y es una solicitud popular: https://github.com/cdnjs/cdnjs/issues/405

Estamos haciendo una lluvia de ideas de soluciones en este momento, por lo que nos complace tenerlo como parte de la conversación.

Problema anterior cerrado # 405 continuar la conversación aquí

Etiquetado como de alta prioridad, ¿alguien tiene alguna idea brillante todavía sobre cómo analizar algunos miles de millones de líneas?

¿Cuántas líneas tiene el archivo de registro típico? ¿Divide los archivos de registro en uno por día o menos? ¿Los archivos de registro simplemente dicen qué http: // ruta / archivo se descargó? ¿O tiene referencias a los identificadores de fila de la base de datos (identificadores de cada nombre de archivo que supongo que están almacenados en una base de datos)?

Cada ubicación de borde (actualmente 23) se trata de forma independiente de las demás.

Entonces, lo que tenemos es uno o más archivos de registro por ubicación de borde por día, y
están recibiendo un número significativo de visitas.

El viernes 28 de junio de 2013, Jake Wilson escribió:

¿Cuántas líneas tiene el archivo de registro típico? ¿Divide los archivos de registro hasta
uno por día o menos?

-
Responda a este correo electrónico directamente o véalo en Gi
.

Si pudiera publicar extractos de los archivos de registro, ese sería un lugar para comenzar.

¿Algún progreso en esto? ¿Necesitan ayuda con eso? Sé que probablemente haya muchos archivos de registro enormes, pero creo que solo sería una cuestión de un simple script de Python que se transmitiera en los archivos de registro y guardara los datos en una base de datos o algo así. Sería un proceso de larga duración, pero probablemente no sería tan complicado en realidad.

Para su información, no sé si cdnjs utiliza los servicios de AWS en el backend o no, pero este es un artículo interesante que es potencialmente muy relevante para este problema:

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

Se analiza el uso de un software llamado Fluentd para transmitir los cambios del archivo de registro al almacenamiento de datos. Entonces, para CDNJS, podría transmitir los registros de acceso a la biblioteca a algún tipo de base de datos de uso que podría usarse para mostrar estadísticas de uso.

Además, para su información, ustedes podrían conseguir a alguien que los ayude con una solución para esto si pudieran divulgar detalles sobre su registro. Cómo funciona, dónde se almacenan los archivos, danos acceso a un día o semanas de registros, etc. Alguien podría encontrar una solución para usted.

Otra sugerencia para ustedes, simplemente hagan públicos sus registros. Colóquelos en AWS S3 o algo así y permita que cualquiera los agarre. GARANTIZO que a alguien (o probablemente a varias personas) se le ocurrirá una solución de análisis para usted.

Solo quería comunicarme con respecto a este problema nuevamente. Lo diré de nuevo, proporcione algunos archivos de registro de ejemplo y alguien en algún lugar armará un analizador para usted que extraerá las estadísticas de descarga de la biblioteca.

ping @thomasdavis

Oh, todavía no tenemos estadísticas.

Sería bueno crear un servicio de API para cdnjs. Algo como:

api.cdnjs.com/lib/jquery/stats

Luego, podemos usar este servicio para obtener las estadísticas en el sitio web cdnjs. :trébol de cuatro hojas:

Las estadísticas del sitio web son fáciles, pero la gente quiere las estadísticas de cdn, recuerdo que cloudflare no nos dio esa información o registro de acceso.

cc @thomasdavis @ryankirkman @terinjokes

Podemos acceder a los registros, pero el volumen del registro es tan grande que necesitamos
idear una estrategia de agregación
El domingo, 24 de mayo de 2015 a las 12:28 a. M. Peter Dave Hola [email protected]
escribió:

Las estadísticas del sitio web son fáciles, pero la gente quiere las estadísticas de cdn, lo recuerdo
que cloudflare no nos dio esa información o registro de acceso.

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

-
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -104988412.

Las estadísticas aproximadas serían casi tan buenas. Si el volumen de registros es un problema, se pueden tomar muestras de los registros.

¡Eso es verdad! Incluso un día de tráfico * 30 sería bastante interesante.

¿Dónde están los registros ahora? ¿Son accesibles de alguna forma? Creo que sería factible descargar registros diarios en algún almacenamiento de S3 y luego alguien podría escribir algo que los analice.

¡Me encantaría escribir una herramienta para analizar los registros! De todos modos, estoy involucrado en algunos proyectos de estadísticas y visualizaciones, por lo que sería genial. :bengala:

Como dije antes, todo lo que CDNJS necesita hacer es hacer que los registros sean accesibles de alguna forma, y ​​alguien se esforzará por escribir un analizador genial para generar estadísticas de uso.

Lo estamos haciendo ahora, la dirección IP en el registro será sensible, debe tener cuidado.

¿Algún avance en esto? Lanzar mi sombrero al ring como otra persona que estaría dispuesta a escribir un analizador sintáctico.

Hola a todos, me temo que no, hay algunos problemas más importantes, pero haremos todo lo posible para tener esta función lo antes posible.

Por cierto, gracias porque los chicos quieren escribir un analizador para nosotros, si no le importa, aún puede contribuir con otras partes de cdnjs, como bower auto-Updater o algo así, ¡gracias!

¿Más actualizaciones sobre este? Han pasado más de dos años y medio. ¿Han considerado hacer que sus registros sean accesibles al público de alguna forma?

¡Ayúdanos a ayudarte!

aunque ping @thomasdavis @ryankirkman @terinjokes @drewfreyling ...

Oye, sé que en el número 405 el problema era el dinero. Los registros están en formato común, sin embargo, bajar los registros por 5 millones alcanza los $ 300 por día o algo así. (2 1/2 años después, ustedes probablemente obtengan MUCHO más de 5 millones de visitas al día).

Entonces, la solución que se arrojó fue configurar un análisis en una instancia EC2. Esta sería la mejor solución. Siempre que su instancia EC2 esté en la misma región que su contenedor S3, no hay ningún costo para transferir sus archivos de registro desde S3 a su instancia EC2.

Entonces, esencialmente, la solución sería tener algún tipo de tarea diaria que suceda:

  1. Se inicia la instancia EC2
  2. El script extrae los registros de las últimas 24 horas del contenedor S3
  3. La secuencia de comandos analiza los registros
  4. La secuencia de comandos elimina el registro local
  5. Script vuelca los datos en la forma que desee en alguna base de datos en algún lugar
  6. El script termina la instancia EC2

Entonces este sería un costo mínimo absoluto. Solo pagaría por el tiempo que la instancia esté activa. Programar una instancia EC2 para que se encienda cada 24 horas no debería ser demasiado difícil. Y estoy bastante seguro de que puede terminar automáticamente una instancia EC2 mediante programación.

Solo un pensamiento. Honestamente, no sería demasiado difícil de entender ...

En realidad, una solución aún mejor sería utilizar AWS Data Pipeline

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

Y AWS Elastic Map Reduce

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

Esas herramientas están diseñadas para hacer exactamente lo que ustedes necesitan hacer: analizar datos / registros de una manera rentable.

Hola jake

La solución que propuso es muy elegante, pero desafortunadamente no usamos
Cloudfront para alojar la CDN más. Cloudflare es la red principal
proveedor.

En cuanto a una solución de estadísticas, todavía no tenemos una buena respuesta, lo siento Jake.
El jueves 19 de noviembre de 2015 a las 9:35 a. M. Jake Wilson [email protected]
escribió:

En realidad, una solución aún mejor sería utilizar AWS Data Pipeline

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

Y AWS Elastic Map Reduce

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

Esas herramientas están diseñadas para hacer exactamente lo que necesitan hacer: Analizar
datos / registros de una manera rentable.

-
Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -158129912.

@ryankirkman, ¿podemos evaluar el tamaño de disco que necesitamos por día y tal vez pueda encontrar el almacenamiento?

¿Tiene acceso a los registros de Cloudflare de alguna forma, descargables o mediante una API o algo? Además, precios de transferencia de EC2:

Transferencia de datos IN a Amazon EC2 desde Internet $ 0.00 por GB

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

Por lo tanto, supongo que eso significa que podría obtener registros de Cloudflare mediante programación y analizarlos o hacer lo que sea y aún así solo le costaría el tiempo que la instancia EC2 esté activa.

Parece que este problema ha estado bastante estancado: ¿existe ahora una solución alternativa / viable para determinar las estadísticas o los porcentajes de uso de la biblioteca?

Tomando el ejemplo de jQuery: como propietario de un sitio, le importa el% de los usuarios que llegan con la versión de jquery requerida ya almacenada en caché, y cualquier estadística que cdnjs pueda proporcionar sería increíble para determinar eso.

Actualmente esperando en Cloudflare para establecer una forma para que tengamos acceso a estadísticas / registro para el dominio cdnjs.cloudflare.com . Publicaré actualizaciones a medida que las reciba.

Se señaló en el n. ° 6186 que las estadísticas más detalladas serían útiles, como el desglose de países.

@dknecht Por favor, ¿podemos usar este problema para rastrear cualquier actualización sobre el acceso a más estadísticas / registros al dominio cdnjs.cloudflare.com ? Gracias :)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

danielsmink picture danielsmink  ·  4Comentarios

binki picture binki  ·  5Comentarios

dsinkey picture dsinkey  ·  5Comentarios

drees picture drees  ·  6Comentarios

vaindil picture vaindil  ·  4Comentarios