Class: Gremlin::Instruments::Counter

Inherits:
Base
  • Object
show all
Defined in:
lib/gremlin/instruments/counter.rb

Instance Attribute Summary

Attributes inherited from Base

#base_labels, #docstring, #name

Instance Method Summary collapse

Methods inherited from Base

#cast, #delete, #help, #help_string, #initialize, #node, #parse, #repr, #repr_and_delete, #retention_get, #type_string, #values

Constructor Details

This class inherits a constructor from Gremlin::Instruments::Base

Instance Method Details

#defaultObject



10
11
12
# File 'lib/gremlin/instruments/counter.rb', line 10

def default
  0
end

#get(labels = {}) ⇒ Object



22
23
24
25
# File 'lib/gremlin/instruments/counter.rb', line 22

def get(labels={})
  v = retention_get[labels.to_json]
  cast(v)
end

#increment(labels = {}, by = 1) ⇒ Object



6
7
8
# File 'lib/gremlin/instruments/counter.rb', line 6

def increment(labels={}, by=1)
  @r.hincrby retention_key, labels.to_json, by
end

#retention_keyObject



18
19
20
# File 'lib/gremlin/instruments/counter.rb', line 18

def retention_key
  "gremlin_prometheus_#{node}_metrics_counter_#{name}"
end

#typeObject



14
15
16
# File 'lib/gremlin/instruments/counter.rb', line 14

def type
  :counter
end