class GRPCPrometheus::ServerReporter

Public Class Methods

new(server_metrics:, method:, grpc_type:) click to toggle source
# File lib/grpc_prometheus/server_reporter.rb, line 3
def initialize(server_metrics:, method:, grpc_type:)
  @server_metrics = server_metrics
  @labels = {
    grpc_service: method.owner.service_name,
    grpc_method: method.name.to_s.split('_').map(&:capitalize).join(''),
    grpc_type: grpc_type,
  }.freeze

  @server_metrics.
    server_started_counter.
    increment(@labels)
end

Public Instance Methods

handled(code) click to toggle source
# File lib/grpc_prometheus/server_reporter.rb, line 16
def handled(code)
   labels = @labels.dup.merge({ grpc_code: code })
   @server_metrics.
     server_handled_counter.
     increment(labels)
 end