Class: Gruf::Prometheus::Client::Collector

Inherits:
Bigcommerce::Prometheus::Collectors::Base
  • Object
show all
Defined in:
lib/gruf/prometheus/client/collector.rb

Overview

Prometheus instrumentor for gRPC clients

Constant Summary collapse

RESPONSE_CODE_OK =
'OK'

Instance Method Summary collapse

Instance Method Details

#completed(request_context:, result:) ⇒ Object

Parameters:

  • request_context (Gruf::Controller::RequestContext)
  • result (Gruf::Interceptors::Timer::Result)


41
42
43
44
45
46
# File 'lib/gruf/prometheus/client/collector.rb', line 41

def completed(request_context:, result:)
  push(
    grpc_client_completed: 1,
    custom_labels: custom_labels(request_context: request_context, result: result)
  )
end

#completed_latency_seconds(request_context:, result:) ⇒ Object

Parameters:

  • request_context (Gruf::Outbound::RequestContext)
  • result (Gruf::Interceptors::Timer::Result)


52
53
54
55
56
57
# File 'lib/gruf/prometheus/client/collector.rb', line 52

def completed_latency_seconds(request_context:, result:)
  push(
    grpc_client_completed_latency_seconds: result.elapsed.to_f,
    custom_labels: custom_labels(request_context: request_context, result: result)
  )
end

#started_total(request_context:) ⇒ Object

Parameters:

  • request_context (Gruf::Outbound::RequestContext)


30
31
32
33
34
35
# File 'lib/gruf/prometheus/client/collector.rb', line 30

def started_total(request_context:)
  push(
    grpc_client_started_total: 1,
    custom_labels: custom_labels(request_context: request_context)
  )
end