Sha256: 5fabc2fce09064095e73c7e693517cf3f5c27b02bcb0f5c918ac9353b17c0c58
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true module Yabeda module HttpRequests # Middleware for sniffer gem class Sniffer def request(data_item) yield Yabeda.http_request_total.increment( { host: data_item.request.host, port: data_item.request.port, method: data_item.request.method.upcase } ) end def response(data_item) yield log_http_response_total(data_item) log_http_response_duration(data_item) end private def log_http_response_total(data_item) Yabeda.http_response_total.increment( { host: data_item.request.host, port: data_item.request.port, method: data_item.request.method.upcase, status: data_item.response.status } ) end def log_http_response_duration(data_item) labels = { host: data_item.request.host, port: data_item.request.port, method: data_item.request.method.upcase, status: data_item.response.status } Yabeda.http_response_duration.measure( labels, duration_in_milliseconds(data_item) ) end def duration_in_milliseconds(data_item) seconds = data_item.response&.timing return nil if seconds.nil? (seconds * 1000).round end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
yabeda-http_requests-0.2.1 | lib/yabeda/http_requests/sniffer.rb |