Основа Falcon SpaceРуководстваОсновные компонентыВозможностиКоммуникация пользователейДизайн, стилизация, юзабилитиЛендингиУниверсальный APIИнтеграцииКаталогиНавигацияДокументыДополнительные компонентыПродвижение, SEOСистемные моментыСистемное администрированиеHOWTOТаблицыФормыПоля формыЗагрузка файлов, картинокHOWTO SQLHOWTO JSHOWTO ВерсткаРешение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Логирование событий в приложении (trace)
В системной таблице as_trace хранятся данные по работе приложения.
Поле code определяет тип события:
- DBLREQ - фиксируем факт множественных одинаковых запросов со страницы в короткий промежуток времени (например, если форму поместить в каждую строку таблицы)
- EXCEPTION - исключение (ошибка) при работе программы
- HUGE - запрос с большим количеством выходных строк (подобные запросы могут создавать нагрузку на процессор)
- NOACCESS - отказ в доступе к ресурсу (компонент или страница).
- NOTFOUND - переход на несуществующую страницу
- PRINT - смотр состояния переменных в хранимых процедурах через execute as_print @str
- PV - page visit. Фиксация посещения страницы пользователем (в appsettings.config должно быть logUserAction=1)
- REG - факт регистрации на сайте (через as_trace_warn)
- SEARCH - осуществление поиска по сайту через элемент вверху каждой страницы
- SF - safe form. Сохранение некоторой формы на сайте (в appsettings.config должно быть logUserAction=1)
- SLOW - фиксация медленного Ajax запроса
- SYNC - фиксация работы периодических событий (управление в /syssp)
- TG - события (ошибки) телеграма
Вы можете создавать свои коды событий и записывать в хранимых процедурах через exec as_trace_warn
Запрос для получения статистики по элементам trace (он есть в Диагностике /diag):
select
upper(isnull(code, '')) code,
count(*) totalCount,
isnull((select count(*) from as_trace t3 where t3.code=t1.code and cast(created as date) > cast(dateadd(month, -1, getdate()) as date) ), 0) [month],
isnull((select count(*) from as_trace t3 where t3.code=t1.code and cast(created as date) > cast(dateadd(week, -1, getdate()) as date) ), 0) [week],
isnull((select count(*) from as_trace t3 where t3.code=t1.code and cast(created as date) = cast(dateadd(day, -1, getdate()) as date) ), 0) yesterday,
isnull((select count(*) from as_trace t2 where t2.code=t1.code and cast(created as date) = cast(getdate() as date) ), 0) today,
isnull((select count(*) from as_trace t2 where t2.code=t1.code and created > dateadd(hour, -1, getdate()) ), 0) lastHour,
isnull((select count(*) from as_trace t2 where t2.code=t1.code and created > dateadd(minute, -5, getdate()) ), 0) last5Min
from as_trace t1
group by code
order by code
Таблицу as_trace можно периодически чистить. В ней не нужно сохранять критичные бизнес-данные.
Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Google поиск по нашей документации
Нужна бесплатная консультация?
Планируете делать веб-проект?
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта