Cdnjs: Предложение - Статистика загрузок библиотеки публикаций / аналитические данные и графики

Созданный на 22 мар. 2013  ·  36Комментарии  ·  Источник: cdnjs/cdnjs

Отслеживает ли CDNJS, сколько раз отдельные файлы извлекаются из их CDN? Было бы замечательно, если бы CDNJS сделал это, а затем имел бы обновляемые диаграммы и таблицы данных, показывающие, сколько загрузок получает каждый файл.

Это было бы эпично, потому что это позволило бы разработчикам выбирать, какие версии библиотек они хотят, чтобы их пользователи загружали. Разработчик захочет выбрать версию библиотеки, которая, очевидно, совместима с его кодом, но также он выберет ту, которая загружается больше всего за прошедшее X промежутка времени.

Например, предположим, что последняя версия jQuery только что выпущена и помещена на CDNJS. Проходит пара дней, и статистика jQuery за последнюю неделю выглядит так:

jQuery 1.9.1 = 20000 загрузок
jQuery 1.9.0 = 50 000 загрузок
jQuery 1.8.3 = 560000 загрузок
jQuery 1.8.2 = 120 000 загрузок
так далее...

Разработчик может взглянуть на это и узнать, что более вероятно, что их посетители уже будут иметь кэшированный 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 добавляется все больше и больше библиотек и добавляется все больше и больше версий этих библиотек, было бы бесценно иметь такой инструмент, чтобы разработчики могли принимать обоснованные решения на основе того, какие библиотеки и ресурсы делились больше всего.


Хотите поддержать этот выпуск? Разместите на нем награду! Мы принимаем награды через Bountysource .

Help wanted ⛅️ Waiting for Cloudflare 📒 Documentation

Самый полезный комментарий

В настоящее время ожидает, что Cloudflare предоставит нам доступ к статистике / журналу для домена cdnjs.cloudflare.com . Буду публиковать обновления по мере их поступления.

Все 36 Комментарий

@Jakobud Отличное предложение, Джейк. Вы абсолютно правы, что это было бы действительно полезно, и это популярный запрос: https://github.com/cdnjs/cdnjs/issues/405

Сейчас мы проводим мозговой штурм, поэтому мы рады, что вы участвуете в разговоре.

Старый закрытый выпуск №405, продолжайте разговор здесь

Отмечен как высокий приоритет, у кого-нибудь еще есть блестящие идеи о том, как разобрать несколько миллиардов строк?

Сколько строк в стандартном файле журнала? Разделяете ли вы файлы журнала до одного раза в день или меньше? В файлах журнала просто указано, какой http: // путь / файл был загружен? Или у него есть ссылки на идентификаторы строки базы данных (идентификаторы каждого имени файла, которые, как я полагаю, хранятся в базе данных)?

Каждое расположение края (в настоящее время 23) обрабатывается независимо друг от друга.

Итак, у нас есть один или несколько файлов журнала для каждого периферийного местоположения в день, и мы
получают значительное количество просмотров.

В пятницу, 28 июня 2013 г., Джейк Уилсон написал:

Сколько строк в стандартном файле журнала? Вы разделяете файлы журнала на
один раз в день или меньше?

-
Ответьте на это письмо напрямую или просмотрите его на Gi tHubhttps: //github.com/cdnjs/cdnjs/issues/1078#issuecomment -20125044
.

Если бы вы могли публиковать выдержки из файлов журнала, это было бы местом для начала.

Есть ли в этом прогресс? Ребята, вам нужна помощь? Я знаю, что, вероятно, существует много огромных файлов журналов, но я думаю, что это будет всего лишь вопрос простого скрипта python, который транслируется в файлы журналов и сохраняет данные в базе данных или что-то в этом роде. Это был бы долгий процесс, но на самом деле он, вероятно, не был бы таким сложным.

К вашему сведению, я не знаю, использует ли cdnjs сервисы AWS на бэкэнде или нет, но это интересная статья, которая потенциально может иметь большое отношение к этой проблеме:

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

В нем обсуждается использование программного обеспечения под названием Fluentd для потоковой передачи изменений файлов журнала в хранилище данных. Таким образом, для CDNJS он может передавать журналы доступа к библиотеке в какую-то базу данных использования, которая может использоваться для отображения статистики использования.

Кроме того, к вашему сведению, вы, ребята, могли бы попросить кого-нибудь помочь вам с решением этой проблемы, если бы вы могли раскрыть подробности о своем ведении журнала. Как это работает, где хранятся файлы, дает нам доступ к дневным или недельным журналам и т. Д. Кто-то может найти решение для вас.

Еще одно предложение для вас, ребята, просто сделайте свои журналы общедоступными. Разместите их на AWS S3 или что-то в этом роде и позвольте любому получить их. Я ГАРАНТИРУЮ, что кто-то (или, возможно, несколько человек) предложит вам аналитическое решение.

Просто хотел снова обратиться к этой проблеме. Я повторю это еще раз, приведу несколько примеров файлов журнала, и кто-нибудь где-нибудь соберет для вас парсер, который будет извлекать статистику загрузки библиотеки.

пинг @thomasdavis

О, у нас все еще нет статистики.

Было бы неплохо создать службу api для cdnjs. Что-то вроде:

api.cdnjs.com/lib/jquery/stats

Затем мы можем использовать эту службу для получения статистики с веб-сайта cdnjs. : four_leaf_clover:

Статистика с веб-сайта проста, но людям нужна статистика с cdn, я помню, что cloudflare не предоставил нам эту информацию или журнал доступа.

cc @thomasdavis @ryankirkman @terinjokes

Мы можем получить доступ к журналам, но их объем настолько велик, что нам нужно
разработать стратегию агрегирования
В воскресенье, 24 мая 2015 г., в 00:28 Питер Дэйв Привет [email protected]
написал:

Статистика с веб-сайта проста, но люди хотят статистику с cdn, я помню
эта облачная вспышка не предоставила нам эту информацию или журнал доступа.

Копия @thomasdavis https://github.com/thomasdavis @ryankirkman
https://github.com/ryankirkman @terinjokes
https://github.com/terinjokes

-
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/cdnjs/cdnjs/issues/1078#issuecomment -104988412.

Приблизительная статистика будет почти такой же хорошей. Если объем журнала является проблемой, можно выполнить выборку журналов.

Это правда! Даже один день трафика * 30 было бы достаточно интересно.

Где теперь логи? Доступны ли они в какой-либо форме? Я бы подумал, что сброс ежедневных журналов на какое-то хранилище S3 было бы возможным, и тогда кто-то мог бы написать что-то, что их анализирует.

Я был бы рад написать инструмент для анализа журналов! Я так или иначе участвую в некоторых проектах по статистике и визуализации, так что это было бы здорово. : бенгальский огонь:

Как я уже сказал, все, что нужно сделать CDNJS, - это сделать журналы доступными в той или иной форме, и кто-то предложит написать классный парсер для генерации статистики использования.

Делаем сейчас, IP-адрес в журнале будет чувствительным, следует быть осторожным.

Есть новости по этому поводу? Бросаю шляпу на ринг как еще один человек, который захочет написать синтаксический анализатор.

Привет всем, боюсь, что нет, есть несколько более важных вопросов, но мы постараемся сделать все возможное, чтобы эта функция появилась как можно скорее.

Кстати, спасибо ребятам, которые хотят написать для нас парсер, если вы не против, вы все равно можете внести свой вклад в другие части cdnjs, например bower auto-updater или что-то в этом роде, спасибо!

Есть еще обновления по этому поводу? Прошло более 2,5 лет. Вы, ребята, только что подумали о том, чтобы сделать свои журналы общедоступными в той или иной форме?

Помогите нам Помогите вам!

хотя пинг @thomasdavis @ryankirkman @terinjokes @drewfreyling ...

Эй, я знаю, что на № 405 проблема была в деньгах. Журналы имеют общий формат, однако, чтобы вывести логи на 5 миллионов, нужно потратить 300 долларов в день или что-то в этом роде. (2 1/2 года спустя вы, ребята, вероятно, получаете более 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 Джейк Уилсон [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 в той или иной форме, загружаемые, через API или что-то еще? Также трансфертное ценообразование 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 рейтинги

Смежные вопросы

truekasun picture truekasun  ·  5Комментарии

dsinkey picture dsinkey  ·  5Комментарии

olafcm picture olafcm  ·  5Комментарии

binki picture binki  ·  5Комментарии

zackbloom picture zackbloom  ·  3Комментарии