Да, мы подняли sentry на своём сервере, это совсем не сложно. Кроме того, политика нашей компании запрещает отправлять любые внутренние данные наружу, в сторонние сервисы.
К сожалению, я не вспомню точно характеристики машины, на которой у нас крутится sentry (если нужно — могу позже уточнить у наших админов), но там совершенно точно самый обычный сервер без изысков. Сейчас с нашего проекта приходит, в среднем, около 100 сообщений в час — это ошибки и разного рода логгирование. Пару раз мы не совсем удачно раскатывались в бой и в sentry попадало порядка нескольких тысяч сообщений в минуту — сервер выдержал и никаких проблем не было. Кроме того, там можно настроить рейт-лимиты, тогда некоторые ошибки будут игнорироваться, зато проблем с нагрузкой не будет.
Не буду спорить, всё может быть =)
Когда-то я недоумевал, как можно работать в OS X, ведь линукс намного круче, но сейчас сижу за макбуком и не понимаю, как может быть иначе.
У нас в проекте (Календарь Mail.ru) на отдельной странице «API Explorer» (из которой можно совершить любые AJAX-запросы с любыми параметрами) мы с помощью middleware сделали подмешивание всех SQL-запросов в JSON-ответ. В браузере на этой самой странице есть две вкладки: Result (JSON-ответ) и SQL. Соответственно, во второй вкладке видны все запросы и время выполнения каждого из них. Конечно, этот функционал доступен не всем пользователям =)
Универсального решения для профилирования SQL запросов в AJAX запросах я не встречал.
Вопреки сложившимся мифам, нас в mail.ru не насилуют и не заставляют пользоваться продуктами компании в обязательном порядке. А ещё мы не поём гимны стоя по утрам и в целом — самые обычные люди.
У Google лучше результаты запросов на тему программирования по англоязычным ресурсам — это факт. Лучше, чем Поиск Mail.ru и лучше, чем Яндекс. У Поиска Mail.ru другие преимущества. Это моё субъективное мнение, если неправ — прошу поправить.
Или это троллинг такой толстый был а я типа такой наивный повёлся?
О, iPython — вообще отдельная история. Замечательнейший инструмент для отладки (и профилирования). Согласен, следует добавить в статью про "%prun, %%prun, %timeit и %%timeit" — сделаю!
Yappi не видел, обязательно ознакомлюсь и добавлю в статью =)
Пусть в статье пока останется неправильный вариант, чтобы все видели, какой я неудачник.
Правильный вариант
"""Project Euler problem 3 solve"""
from __future__ import print_function
import math
import sys
def is_prime(num):
"""Checks if num is prime number"""
for i in range(2, int(math.sqrt(num)) + 1):
if not num % i:
return False
return True
def find_prime_factors(num):
"""Find prime factors of num"""
result = []
for i in range(1, int(math.sqrt(num)) + 1):
if is_prime(i) and not num % i:
result.append(i)
if is_prime(num / i) and not num % i:
result.append(num / i)
if is_prime(num):
result.append(i)
return result
if __name__ == '__main__':
try:
num = int(sys.argv[1])
except (TypeError, ValueError, IndexError):
sys.exit("Usage: euler_3.py number")
if num < 1:
sys.exit("Error: number must be greater than zero")
prime_factors = sorted(find_prime_factors(num))
if len(prime_factors) == 0:
print("Can't find prime factors of %d" % num)
else:
print("Answer: %d" % prime_factors[-1])
Спасибо, хороший вариант.
В сочетании с функцией «Copy as cURL» в хроме:
можно прямо из консоли вызывать любые запросы сколько угодно раз и сразу видеть результат.
Кстати, зачем тег «pre», ведь можно указать заголовок «Content-Type: text/plain»?
Не совсем понял, о какой лицензии идёт речь? Sentry — open-source продукт, им можно пользоваться совершенно бесплатно: github.com/getsentry/sentry/blob/master/LICENSE
К сожалению, я не вспомню точно характеристики машины, на которой у нас крутится sentry (если нужно — могу позже уточнить у наших админов), но там совершенно точно самый обычный сервер без изысков. Сейчас с нашего проекта приходит, в среднем, около 100 сообщений в час — это ошибки и разного рода логгирование. Пару раз мы не совсем удачно раскатывались в бой и в sentry попадало порядка нескольких тысяч сообщений в минуту — сервер выдержал и никаких проблем не было. Кроме того, там можно настроить рейт-лимиты, тогда некоторые ошибки будут игнорироваться, зато проблем с нагрузкой не будет.
Вот тут я писал про инфраструктуру нашего проекта: habrahabr.ru/company/mailru/blog/196184/ там есть раздел про sentry.
Когда-то я недоумевал, как можно работать в OS X, ведь линукс намного круче, но сейчас сижу за макбуком и не понимаю, как может быть иначе.
Девид вообще молодец, пишет замечательные проекты, его выступления на конференциях одни из лучших.
Не хочешь сам об этом написать? ;))
Согласен, со скриншотами не очень хорошо получилось. Попробую перезалить со ссылкой на полноценную картинку, если успею.
Универсального решения для профилирования SQL запросов в AJAX запросах я не встречал.
У Google лучше результаты запросов на тему программирования по англоязычным ресурсам — это факт. Лучше, чем Поиск Mail.ru и лучше, чем Яндекс. У Поиска Mail.ru другие преимущества. Это моё субъективное мнение, если неправ — прошу поправить.
Или это троллинг такой толстый был а я типа такой наивный повёлся?
Yappi не видел, обязательно ознакомлюсь и добавлю в статью =)
В сочетании с функцией «Copy as cURL» в хроме:
можно прямо из консоли вызывать любые запросы сколько угодно раз и сразу видеть результат.
Кстати, зачем тег «pre», ведь можно указать заголовок «Content-Type: text/plain»?
Гугл говорит, что вот это: pydev.org/ то, что нужно.