Method: NewRelic::Agent::SpanEventPrimitive#for_external_request_segment

Defined in:
lib/new_relic/agent/span_event_primitive.rb

#for_external_request_segment(segment) ⇒ Object

[View source]

73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/new_relic/agent/span_event_primitive.rb', line 73

def for_external_request_segment(segment)
  intrinsics = intrinsics_for(segment)

  intrinsics[COMPONENT_KEY] = segment.library
  intrinsics[HTTP_METHOD_KEY] = segment.procedure
  intrinsics[HTTP_REQUEST_METHOD_KEY] = segment.procedure
  intrinsics[HTTP_STATUS_CODE_KEY] = segment.http_status_code if segment.http_status_code
  intrinsics[CATEGORY_KEY] = HTTP_CATEGORY
  intrinsics[SPAN_KIND_KEY] = CLIENT
  intrinsics[SERVER_ADDRESS_KEY] = segment.uri.host
  intrinsics[SERVER_PORT_KEY] = segment.uri.port
  agent_attributes = {}

  if allowed?(HTTP_URL_KEY)
    agent_attributes[HTTP_URL_KEY] = truncate(segment.uri)
  end

  [intrinsics, custom_attributes(segment), agent_attributes.merge(agent_attributes(segment))]
end