test_class.declarator: mockTracer
test_class.modifier: private
test_class.original_string: private MockTracer mockTracer;
test_class.type: MockTracer
test_class.var_name: mockTracer
test_class.declarator: servlet
test_class.modifier: private
test_class.original_string: private ClientSpanServlet servlet;
test_class.type: ClientSpanServlet
test_class.var_name: servlet
test_class.declarator: servletPlugin
test_class.modifier: private
test_class.original_string: private ServletPlugin servletPlugin;
test_class.type: ServletPlugin
test_class.var_name: servletPlugin
test_class.declarator: reportingSpanEventListener
test_class.modifier: private
test_class.original_string: private ReportingSpanEventListener reportingSpanEventListener;
test_class.type: ReportingSpanEventListener
test_class.var_name: reportingSpanEventListener
test_class.declarator: tracingPlugin
test_class.modifier: private
test_class.original_string: private TracingPlugin tracingPlugin;
test_class.type: TracingPlugin
test_class.var_name: tracingPlugin
test_class.file: stagemonitor-web-servlet/src/test/java/org/stagemonitor/web/servlet/eum/ClientSpanServletTest.java
test_class.identifier: ClientSpanServletTest
test_case.body: @Test
  	public void testConvertWeaselBeaconToSpan_withErrorBeacon() throws ServletException, IOException {
  		// Given
  		MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
  		mockHttpServletRequest.setParameter("k", "someKey");
  		mockHttpServletRequest.setParameter("s", "3776086ebf658768");
  		mockHttpServletRequest.setParameter("t", "3776086ebf658768");
  		mockHttpServletRequest.setParameter("ts", "1496753245024");
  		mockHttpServletRequest.setParameter("ty", "err");
  		mockHttpServletRequest.setParameter("pl", "e6bf60fdf2672398");
  		mockHttpServletRequest.setParameter("l", "http://localhost:9966/petclinic/");
  		mockHttpServletRequest.setParameter("e", "Uncaught null");
  		mockHttpServletRequest.setParameter("st", "at http://localhost:9966/petclinic/ 301:34");
  		mockHttpServletRequest.setParameter("c", "1");
  		mockHttpServletRequest.setParameter("m_user", "tom.mason@example.com");
  
  		// When
  		servlet.doGet(mockHttpServletRequest, new MockHttpServletResponse());
  
  		// Then
  		assertSoftly(softly -> {
  			final List<MockSpan> finishedSpans = mockTracer.finishedSpans();
  			softly.assertThat(finishedSpans).hasSize(1);
  			MockSpan span = finishedSpans.get(0);
  			softly.assertThat(span.operationName()).isEqualTo("/petclinic/");
  			softly.assertThat(span.finishMicros() - span.startMicros()).isZero();
  
  			softly.assertThat(span.tags())
  					.doesNotContainEntry(Tags.SAMPLING_PRIORITY.getKey(), 0)
  					.containsEntry("http.url", "http://localhost:9966/petclinic/")
  					.containsEntry("type", "js_error")
  					.containsEntry("exception.stack_trace", "at http://localhost:9966/petclinic/ 301:34")
  					.containsEntry("exception.message", "Uncaught null");
  		});
  	}
test_case.class_method_signature: ClientSpanServletTest.testConvertWeaselBeaconToSpan_withErrorBeacon()
test_case.full_signature: @Test public void testConvertWeaselBeaconToSpan_withErrorBeacon()
test_case.identifier: testConvertWeaselBeaconToSpan_withErrorBeacon
test_case.invocations: setParameter setParameter setParameter setParameter setParameter setParameter setParameter setParameter setParameter setParameter setParameter doGet assertSoftly finishedSpans hasSize assertThat get isEqualTo assertThat operationName isZero assertThat finishMicros startMicros containsEntry containsEntry containsEntry containsEntry doesNotContainEntry assertThat tags getKey
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testConvertWeaselBeaconToSpan_withErrorBeacon()
focal_class.declarator: PARAMETER_TYPE = "ty"
focal_class.modifier: static final
focal_class.original_string: static final String PARAMETER_TYPE = "ty";
focal_class.type: String
focal_class.var_name: PARAMETER_TYPE
focal_class.declarator: TYPE_PAGE_LOAD = "pl"
focal_class.modifier: static final
focal_class.original_string: static final String TYPE_PAGE_LOAD = "pl";
focal_class.type: String
focal_class.var_name: TYPE_PAGE_LOAD
focal_class.declarator: TYPE_ERROR = "err"
focal_class.modifier: static final
focal_class.original_string: static final String TYPE_ERROR = "err";
focal_class.type: String
focal_class.var_name: TYPE_ERROR
focal_class.declarator: TYPE_XHR = "xhr"
focal_class.modifier: static final
focal_class.original_string: static final String TYPE_XHR = "xhr";
focal_class.type: String
focal_class.var_name: TYPE_XHR
focal_class.declarator: PARAMETER_TIME_STAMP = "ts"
focal_class.modifier: private static final
focal_class.original_string: private static final String PARAMETER_TIME_STAMP = "ts";
focal_class.type: String
focal_class.var_name: PARAMETER_TIME_STAMP
focal_class.declarator: PARAMETER_REFERENCE_TIMESTAMP = "r"
focal_class.modifier: private static final
focal_class.original_string: private static final String PARAMETER_REFERENCE_TIMESTAMP = "r";
focal_class.type: String
focal_class.var_name: PARAMETER_REFERENCE_TIMESTAMP
focal_class.declarator: PARAMETER_DURATION = "d"
focal_class.modifier: private static final
focal_class.original_string: private static final String PARAMETER_DURATION = "d";
focal_class.type: String
focal_class.var_name: PARAMETER_DURATION
focal_class.declarator: PARAMETER_URL = "u"
focal_class.modifier: private static final
focal_class.original_string: private static final String PARAMETER_URL = "u";
focal_class.type: String
focal_class.var_name: PARAMETER_URL
focal_class.declarator: PARAMETER_LOCATION = "l"
focal_class.modifier: private static final
focal_class.original_string: private static final String PARAMETER_LOCATION = "l";
focal_class.type: String
focal_class.var_name: PARAMETER_LOCATION
focal_class.declarator: ACCESS_CONTROL_ALLOW_ORIGIN = "Access-Control-Allow-Origin"
focal_class.modifier: private static final
focal_class.original_string: private static final String ACCESS_CONTROL_ALLOW_ORIGIN = "Access-Control-Allow-Origin";
focal_class.type: String
focal_class.var_name: ACCESS_CONTROL_ALLOW_ORIGIN
focal_class.declarator: ACCESS_CONTROL_ALLOW_METHODS = "Access-Control-Allow-Methods"
focal_class.modifier: private static final
focal_class.original_string: private static final String ACCESS_CONTROL_ALLOW_METHODS = "Access-Control-Allow-Methods";
focal_class.type: String
focal_class.var_name: ACCESS_CONTROL_ALLOW_METHODS
focal_class.declarator: logger = LoggerFactory.getLogger(ClientSpanServlet.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(ClientSpanServlet.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: SAMPLED_FLAG = "sp"
focal_class.modifier: private static final
focal_class.original_string: private static final String SAMPLED_FLAG = "sp";
focal_class.type: String
focal_class.var_name: SAMPLED_FLAG
focal_class.declarator: BACKEND_TRACE_ID = "bt"
focal_class.modifier: private static final
focal_class.original_string: private static final String BACKEND_TRACE_ID = "bt";
focal_class.type: String
focal_class.var_name: BACKEND_TRACE_ID
focal_class.declarator: tracingPlugin
focal_class.modifier: private final
focal_class.original_string: private final TracingPlugin tracingPlugin;
focal_class.type: TracingPlugin
focal_class.var_name: tracingPlugin
focal_class.declarator: tagProcessors
focal_class.modifier: private final
focal_class.original_string: private final List<ClientSpanTagProcessor> tagProcessors;
focal_class.type: List<ClientSpanTagProcessor>
focal_class.var_name: tagProcessors
focal_class.declarator: userAgentParser
focal_class.modifier: private
focal_class.original_string: private UserAgentParser userAgentParser;
focal_class.type: UserAgentParser
focal_class.var_name: userAgentParser
focal_class.declarator: servletPlugin
focal_class.modifier: private final
focal_class.original_string: private final ServletPlugin servletPlugin;
focal_class.type: ServletPlugin
focal_class.var_name: servletPlugin
focal_class.file: stagemonitor-web-servlet/src/main/java/org/stagemonitor/web/servlet/eum/ClientSpanServlet.java
focal_class.identifier: ClientSpanServlet
focal_class.class_method_signature: ClientSpanServlet.ClientSpanServlet()
focal_class.full_signature: public  ClientSpanServlet()
focal_class.identifier: ClientSpanServlet
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  ClientSpanServlet()
focal_class.class_method_signature: ClientSpanServlet.ClientSpanServlet(TracingPlugin tracingPlugin, ServletPlugin servletPlugin)
focal_class.full_signature:   ClientSpanServlet(TracingPlugin tracingPlugin, ServletPlugin servletPlugin)
focal_class.identifier: ClientSpanServlet
focal_class.parameters: (TracingPlugin tracingPlugin, ServletPlugin servletPlugin)
focal_class.signature:  ClientSpanServlet(TracingPlugin tracingPlugin, ServletPlugin servletPlugin)
focal_class.class_method_signature: ClientSpanServlet.initializeDefaultTagProcessors()
focal_class.full_signature: private void initializeDefaultTagProcessors()
focal_class.identifier: initializeDefaultTagProcessors
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void initializeDefaultTagProcessors()
focal_class.class_method_signature: ClientSpanServlet.durationProcessor(String typePageLoad, String tagName)
focal_class.full_signature: private ClientSpanTagProcessor durationProcessor(String typePageLoad, String tagName)
focal_class.identifier: durationProcessor
focal_class.modifiers: private
focal_class.parameters: (String typePageLoad, String tagName)
focal_class.return: ClientSpanTagProcessor
focal_class.signature: ClientSpanTagProcessor durationProcessor(String typePageLoad, String tagName)
focal_class.class_method_signature: ClientSpanServlet.durationProcessor(String beaconType, String tagName, String requestParameterName)
focal_class.full_signature: private ClientSpanTagProcessor durationProcessor(String beaconType, String tagName, String requestParameterName)
focal_class.identifier: durationProcessor
focal_class.modifiers: private
focal_class.parameters: (String beaconType, String tagName, String requestParameterName)
focal_class.return: ClientSpanTagProcessor
focal_class.signature: ClientSpanTagProcessor durationProcessor(String beaconType, String tagName, String requestParameterName)
focal_class.class_method_signature: ClientSpanServlet.doGet(HttpServletRequest req, HttpServletResponse resp)
focal_class.full_signature: @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp)
focal_class.identifier: doGet
focal_class.modifiers: @Override protected
focal_class.parameters: (HttpServletRequest req, HttpServletResponse resp)
focal_class.return: void
focal_class.signature: void doGet(HttpServletRequest req, HttpServletResponse resp)
focal_class.class_method_signature: ClientSpanServlet.doPost(HttpServletRequest req, HttpServletResponse resp)
focal_class.full_signature: @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp)
focal_class.identifier: doPost
focal_class.modifiers: @Override protected
focal_class.parameters: (HttpServletRequest req, HttpServletResponse resp)
focal_class.return: void
focal_class.signature: void doPost(HttpServletRequest req, HttpServletResponse resp)
focal_class.class_method_signature: ClientSpanServlet.doOptions(HttpServletRequest req, HttpServletResponse resp)
focal_class.full_signature: @Override protected void doOptions(HttpServletRequest req, HttpServletResponse resp)
focal_class.identifier: doOptions
focal_class.modifiers: @Override protected
focal_class.parameters: (HttpServletRequest req, HttpServletResponse resp)
focal_class.return: void
focal_class.signature: void doOptions(HttpServletRequest req, HttpServletResponse resp)
focal_class.class_method_signature: ClientSpanServlet.handleRequest(HttpServletRequest req, HttpServletResponse resp)
focal_class.full_signature: private void handleRequest(HttpServletRequest req, HttpServletResponse resp)
focal_class.identifier: handleRequest
focal_class.modifiers: private
focal_class.parameters: (HttpServletRequest req, HttpServletResponse resp)
focal_class.return: void
focal_class.signature: void handleRequest(HttpServletRequest req, HttpServletResponse resp)
focal_class.class_method_signature: ClientSpanServlet.setCorsHeaders(HttpServletResponse resp)
focal_class.full_signature: private void setCorsHeaders(HttpServletResponse resp)
focal_class.identifier: setCorsHeaders
focal_class.modifiers: private
focal_class.parameters: (HttpServletResponse resp)
focal_class.return: void
focal_class.signature: void setCorsHeaders(HttpServletResponse resp)
focal_class.class_method_signature: ClientSpanServlet.addTagProcessor(ClientSpanTagProcessor tagProcessor)
focal_class.full_signature: private void addTagProcessor(ClientSpanTagProcessor tagProcessor)
focal_class.identifier: addTagProcessor
focal_class.modifiers: private
focal_class.parameters: (ClientSpanTagProcessor tagProcessor)
focal_class.return: void
focal_class.signature: void addTagProcessor(ClientSpanTagProcessor tagProcessor)
focal_class.class_method_signature: ClientSpanServlet.convertWeaselBeaconToSpan(HttpServletRequest httpServletRequest)
focal_class.full_signature:  void convertWeaselBeaconToSpan(HttpServletRequest httpServletRequest)
focal_class.identifier: convertWeaselBeaconToSpan
focal_class.parameters: (HttpServletRequest httpServletRequest)
focal_class.return: void
focal_class.signature: void convertWeaselBeaconToSpan(HttpServletRequest httpServletRequest)
focal_class.class_method_signature: ClientSpanServlet.getOperationName(HttpServletRequest httpServletRequest)
focal_class.full_signature: private String getOperationName(HttpServletRequest httpServletRequest)
focal_class.identifier: getOperationName
focal_class.modifiers: private
focal_class.parameters: (HttpServletRequest httpServletRequest)
focal_class.return: String
focal_class.signature: String getOperationName(HttpServletRequest httpServletRequest)
focal_class.class_method_signature: ClientSpanServlet.getHttpUrl(HttpServletRequest httpServletRequest)
focal_class.full_signature: private String getHttpUrl(HttpServletRequest httpServletRequest)
focal_class.identifier: getHttpUrl
focal_class.modifiers: private
focal_class.parameters: (HttpServletRequest httpServletRequest)
focal_class.return: String
focal_class.signature: String getHttpUrl(HttpServletRequest httpServletRequest)
focal_class.superclass: extends HttpServlet
focal_method.body: @Override
  	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  		handleRequest(req, resp);
  	}
focal_method.class_method_signature: ClientSpanServlet.doGet(HttpServletRequest req, HttpServletResponse resp)
focal_method.full_signature: @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp)
focal_method.identifier: doGet
focal_method.invocations: handleRequest
focal_method.modifiers: @Override protected
focal_method.parameters: (HttpServletRequest req, HttpServletResponse resp)
focal_method.return: void
focal_method.signature: void doGet(HttpServletRequest req, HttpServletResponse resp)