class Atatus::Normalizers::Grape::EndpointRun

@api private

Constants

FRAMEWORK_NAME
SUBTYPE
TYPE

Public Instance Methods

backtrace(payload) click to toggle source
# File lib/atatus/normalizers/grape/endpoint_run.rb, line 45
def backtrace(payload)
  source_location = payload[:endpoint].source.source_location
  ["#{source_location[0]}:#{source_location[1]}"]
end
normalize(transaction, _name, payload) click to toggle source
# File lib/atatus/normalizers/grape/endpoint_run.rb, line 32
def normalize(transaction, _name, payload)
  transaction.name = endpoint(payload[:env])

  if transaction_from_host_app?(transaction)
    transaction.context.set_service(
      framework_name: FRAMEWORK_NAME,
      framework_version: ::Grape::VERSION
    )
  end

  [transaction.name, TYPE, SUBTYPE, nil, nil]
end

Private Instance Methods

endpoint(env) click to toggle source
# File lib/atatus/normalizers/grape/endpoint_run.rb, line 56
def endpoint(env)
  route_name =
    env['api.endpoint']&.routes&.first&.pattern&.origin ||
    env['REQUEST_PATH']
  [env['REQUEST_METHOD'], route_name].join(' ')
end
transaction_from_host_app?(transaction) click to toggle source
# File lib/atatus/normalizers/grape/endpoint_run.rb, line 52
def transaction_from_host_app?(transaction)
  transaction.framework_name != FRAMEWORK_NAME
end