Во многих Приложениях нам нужно регистрировать статистические метрики, такие как Hist, Guage и так далее. Это загрязнит бизнес-логику. Например:
boolean buy(int id) {
metrics.increament(); // for qps maybe..
int remain = checkRemain();
metrics.hist(remain); // log remain amount..
if (remain > 0)
return true;
else
return false;
}
, который, я надеюсь, я могу записать только логику бизнеса, такую как:
boolean buy(int id) {
int remain = checkRemain();
if (remain > 0)
return true;
else
return false;
}
Но я также могу получить показатели.
У меня вопрос: как лучше разделять журнал бизнес-логики и метрик?
Я знаю, что Аспектно-ориентированное программирование может решить эту проблему, у меня есть другой выбор?