Прежде чем вы решите как вы будете производить требуемые метрики, вы должны определить какие метрики вам нужны, а затем приступить к поиску решений для использования.
Журналы IIS определенно сообщат вам, какие страницы были посещены, но, учитывая характер обратной связи asp.net (если вы не ссылаетесь на приложение asp.net mvc), он не даст Ваша информация о том, «какая кнопка» была нажата. Если вам нужен такой уровень информации, вам в конечном итоге придется где-то регистрировать данные. База данных почти наверняка является лучшим выбором, так как тогда очень легко писать SQL-запросы для анализа данных. Недостатком является то, что вам нужно будет добавлять вызовы к вашей процедуре регистрации в каждом месте, где вы заботитесь о сборе данных.
Одна вещь, которую нужно иметь в виду, это объем данных, которые вы регистрируете, и то, как вы ими управляете. Если вы ведете слишком много журналов или у вас нет плана архивации / очистки, вы можете обнаружить, что у вас больше данных журнала, чем данных приложения, что может создать проблему, если приложение интенсивно используется большим количеством пользователей. Я неоднократно видел таблицы с именем ProcessLog
или Trace
, которые содержат больше данных, чем остальная часть системы вместе взятых.