Introduction

In the previous (second) part of the article, we went into more details about the TIGeR components architecture and told you how to install and set them up in their basic configuration.

In this (third) part, we will describe how to set up Telegraf for reading the specific Windows counters (PerfCounters) of our product, apply load to the tested server (we will feed the TIGeR), show how to display values from these counters in Grafana, and also consider some Grafana’s fine-tuning issues related to visualization, variables, and notifications (start “TIGeR training”).

Part 3. Taming the TIGeR

Feeding the TIGeR (applying load)

First of all, let us remind that InfluxDB and Grafana’s server part should be launched and running by now (for example, they are allocated to a separate server where they are always running). …


Introduction

In the previous part of this series “TIGeR on guard for performance — Part 1”, we sorted out why we need to test performance, why we need to test it automatically, and shaped up the original objective.

In this (second) part, we will take a closer look at the selected solution components architecture (“the TIGeR anatomy”), and we will also describe installation processes and ways to set the components up in their basic configuration (“cage the TIGeR”).

Part 2. Studying the TIGeR

More details on the “TIGeR anatomy” (component architecture)

Let us briefly recollect the components which the TIGeR bundle consists of, namely Telegraf + InfluxDB + Grafana:

· Telegraf is an agent aimed at collecting all sorts of the system metrics. …


Introduction

In this round of publications consisting of several parts, we will tell you about how we looked for, researched, and implemented the solution helping us keep ourselves up to date with the current situation regarding our products performance.

Part after part, step by step, from theory to practice — we will show you what issues we have encountered and how we have solved them.

Having read all the parts of this publication, you will apprehend why we actually need it, why we have chosen this method, and, having studied this practical example, you will be able to easily use it for your products. …


Внутреннее устройство плагинов Fody

В предыдущей части статьи мы рассмотрели возможности Fody и его плагина MethodDecorator. И сделали вывод о том, что их возможностей не хватает для того, чтобы покрыть все возможности, предоставляемые PostSharp.

Поэтому для полноценной замены нам пришлось вносить изменения в плагин Fody: MethodDecorator. Этот проект является open source и имеет MIT-лицензию, позволяющую использование модифицированных исходников в коммерческих проектах.

Прежде чем описать сделанные нами модификации, мы кратко обсудим архитектуру плагинов Fody, чтобы иметь общее представление о том, как эти модификации реализовывать.

На рисунке ниже продемонстрирована общая структура зависимостей Fody. Плагины используют базовые классы, определенные в библиотеке Fody. В свою очередь эти классы дают возможность модификации обрабатываемых сборок, предоставляя доступ к объектной модели сборки с помощью библиотеки Mono.Cecil. …


Описание Fody и MethodDecorator

Введение

В предыдущей (второй) части статьи мы подробно рассмотрели те возможности PostSharp, которые используются в проектах нашей компании.

В этой части статьи мы подробно рассмотрим другой AOP-фреймворк — Fody, которым мы решили заменить PostSharp. И попробуем ответить на вопрос, что мы приобретаем и что теряем при этом переходе.

Image for post
Image for post

Одним из решающим для нас отличием от PostSharp было то, что Fody является бесплатным open source продуктом, использующим MIT-лицензию. Эта лицензия позволяет свободно использовать и модифицировать Fody и в закрытых коммерческих проектах.

Fody и его плагины

Fody, как и PostSharp, выполняет обработку сборок после их компиляции. Схематично, это изображено на рисунке ниже. …


Введение

В предыдущей (второй) части статьи мы более подробно рассмотрели архитектуру компонентов TIGr-а, а также рассказали, как их устанавливать и настраивать в базовой конфигурации.

В этой части (третьей) мы опишем настройку Telegraf на чтение специфических Windows-счетчиков (Perf Counters) нашего продукта, подадим нагрузку на тестируемый сервер (будем «кормить Тигра»), покажем, как отображать показания этих счетчиков в Grafana, а также рассмотрим некоторые вопросы настройки Grafana в части визуализации, переменных и уведомлений (начнем «дрессировку Тигра»).

Часть 3. Приручаем TIGr-а

Кормим TIGr-а (подача нагрузки)

Прежде всего, уточним, что InfluxDB, как и серверная часть Grafana, уже должны к этому времени быть запущенными и работать (например, они у нас выделены на отдельный сервер, где всегда запущены). …

About

Lisa Botty

Content Manager @ ITA Labs

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store