private Transaction createTransactionWithRequiredValues() { Transaction t = new Transaction(mock(ElasticApmTracer.class)); t.start(TraceContext.asRoot(), null, (long) 0, ConstantSampler.of(true)); t.withType("type"); t.getContext().getRequest().withMethod("GET"); t.getContext().getRequest().getUrl().appendToFull("http://localhost:8080/foo/bar"); return t; }
private void serializeRequest(final Request request) { if (request.hasContent()) { writeFieldName("request"); jw.writeByte(OBJECT_START); writeField("method", request.getMethod()); writeField("headers", request.getHeaders()); writeField("cookies", request.getCookies()); // only one of those can be non-empty if (!request.getFormUrlEncodedParameters().isEmpty()) { writeField("body", request.getFormUrlEncodedParameters()); } else if (request.getBodyBuffer() != null && request.getBodyBuffer().length() > 0) { writeFieldName("body"); jw.writeString(request.getBodyBuffer()); jw.writeByte(COMMA); } if (request.getUrl().hasContent()) { serializeUrl(request.getUrl()); } if (request.getSocket().hasContent()) { serializeSocket(request.getSocket()); } writeLastField("http_version", request.getHttpVersion()); jw.writeByte(OBJECT_END); jw.writeByte(COMMA); } }
private void innerRecordExceptionWithTrace(boolean sampled) { reporter.reset(); Transaction transaction = tracerImpl.startTransaction(TraceContext.asRoot(), null, ConstantSampler.of(sampled), -1); transaction.withType("test-type"); try (Scope scope = transaction.activateInScope()) { transaction.getContext().getRequest() .addHeader("foo", "bar") .withMethod("GET") .getUrl() .withPathname("/foo"); tracerImpl.currentTransaction().captureException(new Exception("from transaction")); ErrorCapture error = validateError(transaction, sampled, transaction); assertThat(error.getContext().getRequest().getHeaders().get("foo")).isEqualTo("bar"); reporter.reset(); Span span = transaction.createSpan().activate(); span.captureException(new Exception("from span")); validateError(span, sampled, transaction); span.deactivate().end(); transaction.end(); } }
request.withMethod("POST"); request.withBodyBuffer().append("Hello World").flip(); request.getUrl() .withProtocol("https") .appendToFull("https://www.example.com/p/a/t/h?query=string#hash")
request.withMethod("POST"); request.withBodyBuffer().append("Hello World").flip(); request.getUrl() .withProtocol("https") .appendToFull("https://www.example.com/p/a/t/h?query=string#hash")