TGViewer
Good dev knows Good dev knows @gooddevknows · 2K subscribers
Post #116 4.12K
Application Performance Monitoring

Мы написали новый классный сервис. Что обязательно нужно сделать, перед тем как выкладывать его на продакшен? Много чего. У сервиса должны быть тесты, у сервиса должны быть логи, у сервиса должны измеряться бизнес метрики, + что-то еще, что нужно именно этому сервису. Но есть вещь, которую нужно интегрировать прямо везде. Это Application performance monitoring или APM.

APM это телеметрия вашего сервиса, это метрики, которые можно измерять независимо от того, что именно делает сервис. Например, это может быть — сколько CPU он использует, сколько оперативной памяти выделено, сколько соединений к базе данных открыто, среднее время ответа на веб-запрос, и т.п. Обычно метрики, которые собираются, определяются библиотекой, которую вы используете.

Самое классное с APM — для того чтобы внедрить их сбор, как правило, нужно подключить лишь одну библиотеку. Например, можно сделать это с помощью NewRelic (платно 💸), их клиент поддерживает большинство языков (Go, Java, .NET, Node.js, PHP, Python, Ruby, C SDK). В Node.js буквально:

if (process.env.NEWRELIC_LC) {
// eslint-disable-next-line global-require
require('newrelic');
}

Такие библиотеки часто могут определить какой фреймворк вы используете (Spring) и дополнительно измерять что-то, что свойственно этому фреймворку. А еще, например, могут строить карту ваших сервисов, как они друг с другом взаимодействуют.

Есть и бесплатные решения, например, OpenTelemetry. Это решение с открытым исходным кодом, за него не надо платить кому-то, но нужно устанавливать его на свою инфраструктуру и потом рисовать дэшборды, в какой-нибудь Grafana. Зато тоже есть библиотеки для разных языков программирования.

⬛️ Еще раз — что бы ни делал наш сервис, мы должны иметь возможность наблюдать за ним. В каждый сервис нужно встраивать APM, они помогут следить за здоровьем сервиса.

Какие вы используете библиотеки для APM?

#хардскиллы
  • 👍 30
  • ❤ 4
More from @gooddevknows
  1. Aug 27, 2026🛰 Я придбав Starlink! Ще поза-вчора вранці я не збирався купляти ніякий Starlink. Але, пр…
  2. Jul 1, 2026photo post
  3. Jul 1, 2026✨ Crash Course: Storytelling для інженерів ✨ 📅 9 — 13 липня 2026 1️⃣ Чому історії працюют…
  4. Jul 1, 2026Post #278
  5. Apr 1, 2026We have one ticket left for: https://fwdays.com/event/tech-lead-course-5 . Code LIFE_BY_PP…
  6. Mar 9, 2026Hi friends, For those who have missed it, I now regularly post in my 🇺🇦 channel: https:/…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →