InfluxDB Schema
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 eitherrails
orsidekiq
depending on the process type. In all series, any form of duration is stored in milliseconds.
PROCESS_file_descriptors
这measurement contains the number of open file descriptors over time. The value fieldvalue
contains the number of descriptors.
PROCESS_gc_statistics
这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 byGC.stat
.
PROCESS_memory_usage
这measurement contains the process' memory usage (in bytes) over time. The value fieldvalue
contains the number of bytes.
PROCESS_method_calls
这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 fieldduration
, while the method name is stored in the tagmethod
. The tagaction
contains the full name of the transaction action. Both themethod
andaction
fields are in the following format:
ClassName#method_name
For example, a method called by theshow
method in theUsersController
class would haveaction
set toUsersController#show
.
PROCESS_object_counts
这measurement is used to store retained Ruby objects (per class) and the amount of retained objects. The number of objects is stored in thecount
value field while the class name is stored in thetype
tag.
PROCESS_transactions
这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:
Value | Description |
---|---|
duration |
The total duration of the transaction |
allocated_memory |
The amount of bytes allocated while the transaction was running. This value is only reliable when using single-threaded application servers |
method_duration |
The total time spent in method calls |
sql_duration |
The total time spent in SQL queries |
view_duration |
The total time spent in views |
PROCESS_views
这measurement is used to store view rendering timings for a transaction. The following value fields are available:
Value | Description |
---|---|
duration |
The rendering time of the view |
view |
The path of the view, relative to the application's root directory |
Theaction
tag contains the action name of the transaction that rendered the view.
events
这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 calledcount
. The value of this field is simply set to1
. 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: