GitSwarm comes with its own application performance measuring system as of GitSwarm 2016.1, simply called "GitSwarm Performance Monitoring". GitSwarm Performance Monitoring is available in both the Community and Enterprise editions.
Apart from this introduction, you are advised to read through the following documents in order to understand and properly configure GitSwarm Performance Monitoring:
GitSwarm Performance Monitoring makes it possible to measure a wide variety of statistics including (but not limited to):
Metrics data is written to InfluxDB over UDP. Stored data can be visualized using Grafana or any other application that supports reading data from InfluxDB. Alternatively data can be queried using the InfluxDB CLI.
Two types of metrics are collected:
Transaction metrics are metrics that can be associated with a single transaction. This includes statistics such as the transaction duration, timings of any executed SQL queries, time spent rendering HAML views, etc. These metrics are collected for every Rack request and Sidekiq job processed.
Sampled metrics are metrics that can't be associated with a single transaction. Examples include garbage collection statistics and retained Ruby objects. These metrics are collected at a regular interval. This interval is made up out of two parts:
The actual interval can be anywhere between a half of the defined interval and a half above the interval. For example, for a user defined interval of 15 seconds the actual interval can be anywhere between 7.5 and 22.5. The interval is re-generated for every sampling run instead of being generated once and re-used for the duration of the process' lifetime.