Module: D13n::Metric::AppHttpMetric::Namespace
Instance Method Summary collapse
- #endpoint_metric(request, type) ⇒ Object
- #endpoint_status_metric(request, response) ⇒ Object
- #get_service_endpoint(request) ⇒ Object
- #http_basic_tags(request) ⇒ Object
- #http_error_tags(response) ⇒ Object
- #http_status_tags(request, response) ⇒ Object
- #service_error_metric(request, response) ⇒ Object
- #service_metric(request, type) ⇒ Object
Instance Method Details
#endpoint_metric(request, type) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 27 def endpoint_metric(request, type) service, endpoint = get_service_endpoint(request) items = [] items << prefix items << 'endpoint' items << service items << endpoint items << type.to_s items.join('.') end |
#endpoint_status_metric(request, response) ⇒ Object
61 62 63 |
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 61 def endpoint_status_metric(request,response) "#{service_metric(request,:statue)}.#{response.code}" end |
#get_service_endpoint(request) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 9 def get_service_endpoint(request) service = Helper.service_for(request.uri) endpoint = Helper.endpoint_for(request.uri) raise ServiceNotFound.new "No matched service for #{request.uri.to_s}" if service.nil? raise EndpointNotFound.new "No matched endpoint for #{request.uri.to_s}" if endpoint.nil? [service, endpoint] end |
#http_basic_tags(request) ⇒ Object
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 38 def (request) service, endpoint = get_service_endpoint(request) = [] << "idc:#{D13n.idc_name}" << "env:#{D13n.idc_env}" << "app:#{D13n.app_name}" << "srv:#{service}" << "endpoint:#{endpoint}" end |
#http_error_tags(response) ⇒ Object
55 56 57 58 59 |
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 55 def (response) = << "error:#{response.class.name.underscore}" end |
#http_status_tags(request, response) ⇒ Object
49 50 51 52 53 |
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 49 def (request, response) = (request) << "status:#{response.code}" end |
#service_error_metric(request, response) ⇒ Object
65 66 67 |
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 65 def service_error_metric(request,response) "#{service_metric(request,:error)}.#{response.class.name.underscore}" end |
#service_metric(request, type) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/d13n/metric/metrics/app_http_metric.rb', line 17 def service_metric(request,type) service, endpoint = get_service_endpoint(request) items = [] items << prefix items << 'service' items << service items << type.to_s items.join('.') end |