InfluxDB Schema

InfluxDB is deprecated in favor of Prometheus: InfluxDB support is scheduled to be removed in GitLab 13.0. You are advised to use Prometheus instead.

The following measurements are currently stored in InfluxDB:

  • PROCESS_file_descriptors
  • PROCESS_gc_statistics
  • PROCESS_memory_usage
  • PROCESS_method_calls
  • PROCESS_object_counts
  • PROCESS_transactions
  • PROCESS_views
  • events

Here, PROCESS is replaced with either rails or sidekiq depending on the process type. In all series, any form of duration is stored in milliseconds.


This measurement contains the number of open file descriptors over time. The value field value contains the number of descriptors.


This measurement contains Ruby garbage collection statistics such as the amount of minor/major GC runs (relative to the last sampling interval), the time spent in garbage collection cycles, and all fields/values returned by GC.stat.


This measurement contains the process’ memory usage (in bytes) over time. The value field value contains the number of bytes.


This measurement contains the methods called during a transaction along with their duration, and a name of the transaction action that invoked the method (if available). The method call duration is stored in the value field duration, while the method name is stored in the tag method. The tag action contains the full name of the transaction action. Both the method and action fields are in the following format:


For example, a method called by the show method in the UsersController class would have action set to UsersController#show.


This measurement is used to store retained Ruby objects (per class) and the amount of retained objects. The number of objects is stored in the count value field while the class name is stored in the type tag.


This measurement is used to store basic transaction details such as the time it took to complete a transaction, how much time was spent in SQL queries, etc. The following value fields are available:

durationThe total duration of the transaction
allocated_memoryThe amount of bytes allocated while the transaction was running. This value is only reliable when using single-threaded application servers
method_durationThe total time spent in method calls
sql_durationThe total time spent in SQL queries
view_durationThe total time spent in views


This measurement is used to store view rendering timings for a transaction. The following value fields are available:

durationThe rendering time of the view
viewThe path of the view, relative to the application’s root directory

The action tag contains the action name of the transaction that rendered the view.


This measurement is used to store generic events such as the number of Git pushes, Emails sent, etc. Each point in this measurement has a single value field called count. The value of this field is simply set to 1. Each point also has at least one tag: event. This tag’s value is set to the event name. Depending on the event type additional tags may be available as well.

Read more on: