8000 Merge pull request #8 from Dynatrace/addIncomingWebrequests · Dynatrace/OneAgent-SDK-for-Java@7a2dfff · GitHub
[go: up one dir, main page]

Skip to content

Commit 7a2dfff

Browse files
author
Sonja Chèvre
authored
Merge pull request #8 from Dynatrace/addIncomingWebrequests
Add incoming webrequests
2 parents 7dc7b66 + 4ea85b8 commit 7a2dfff

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1934
-144
lines changed

README.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ This is the official Java implementation of the [Dynatrace OneAgent SDK](https:/
2020
* [Trace incoming and outgoing remote calls](#remoting)
2121
* [In process linking](#inprocess)
2222
* [Add custom request attributes](#scav)
23+
* [Trace incoming web requests](#webrequests)
2324
* [Further reading](#furtherreading)
2425
* [Help & Support](#help)
2526
* [Release notes](#releasenotes)
@@ -41,6 +42,7 @@ This is the official Java implementation of the [Dynatrace OneAgent SDK](https:/
4142

4243
|OneAgent SDK for Java|Required OneAgent version|
4344
|:--------------------|:------------------------|
45+
|1.3.0 |>=1.149 |
4446
|1.2.0 |>=1.147 |
4547
|1.1.0 |>=1.143 |
4648
|1.0.3 |>=1.135 |
@@ -57,7 +59,7 @@ If you want to integrate the OneAgent SDK into your application, just add the fo
5759
<dependency>
5860
<groupId>com.dynatrace.oneagent.sdk.java</groupId>
5961
<artifactId>oneagent-sdk</artifactId>
60-
<version>1.2.0</version>
62+
<version>1.3.0</version>
6163
<scope>compile</scope>
6264
</dependency>
6365

@@ -128,6 +130,7 @@ A more detailed specification of the features can be found in [Dynatrace OneAgen
128130

129131
|Feature |Required OneAgent SDK for Java version|
130132
|:-----------------------------------------|:-------------------------------------|
133+
|Incoming webrequests |>=1.3.0 |
131134
|Custom request attributes |>=1.2.0 |
132135
|In process linking |>=1.1.0 |
133136
|Trace incoming and outgoing remote calls |>=1.0.3 |
@@ -213,6 +216,48 @@ oneAgentSDK.addCustomRequestAttribute("salesAmount", 2500);
213216

214217
When no service call is being traced, the custom request attributes are dropped.
215218

219+
<a name="webrequests"/>
220+
221+
## Trace incoming web requests
222+
223+
You can use the SDK to trace incoming web requests. This might be useful if Dynatrace does not support the respective web server framework or language.
224+
225+
To trace any kind of incoming web request you first need to create a WebServerInfo object. The info object represents the endpoint of your web server (webservername, applicationname and context root). This object should be reused for all traced webrequests for the same application.
226+
227+
```Java
228+
WebServerInfo wsInfo = OneAgentSDK.createWebServerInfo("WebShopProduction", "CheckoutService", "/api/service/checkout");
229+
```
230+
231+
To trace a specific incoming web request you then need to create a Tracer object. It is important to provide all http headers from the request to the SDK by calling addRequestHeader(...). This ensures that tagging with our built-in sensor is working.
232+
233+
```Java
234+
IncomingWebRequestTracer tracer = OneAgentSDK.traceIncomingWebRequest(wsInfo,"https://www.oursupershop.com/api/service/checkout/save","POST")
235+
236+
for (Entry<String, String> headerField : httpRequest.getHeaders().entrySet()) {
237+
incomingWebrequestTracer.addRequestHeader(headerField.getKey(), headerField.getValue());
238+
}
239+
240+
for (Entry<String, List<String>> parameterEntry : httpRequest.getParameters().entrySet()) {
241+
for (String value : parameterEntry.getValue()) {
242+
incomingWebrequestTracer.addParameter(parameterEntry.getKey(), value);
243+
}
244+
}
245+
246+
incomingWebrequestTracer.setRemoteAddress(httpRequest.getRemoteHostName());
247+
248+
tracer.start();
249+
try {
250+
int statusCodeReturnedToClient = processWebRequest();
251+
tracer.setStatusCode(statusCodeReturnedToClient);
252+
} catch (Exception e) {
253+
tracer.setStatusCode(500); // we expect, the container sends http 500 in case request processing throws an exception
254+
tracer.error(e);
255+
throw e;
256+
} finally {
257+
tracer.end();
258+
}
259+
```
260+
216261
<a name="furtherreading" />
217262

218263
## Further readings
@@ -252,6 +297,7 @@ see also https://github.com/Dynatrace/OneAgent-SDK-for-Java/releases
252297

253298
|Version|Description |Links |
254299
|:------|:--------------------------------------|:----------------------------------------|
300+
|1.3.0 |Added support for incoming webrequests |[binary](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.3.0/oneagent-sdk-1.3.0.jar) [source](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.3.0/oneagent-sdk-1.3.0-sources.jar) [javadoc](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.3.0/oneagent-sdk-1.3.0-javadoc.jar)|
255301
|1.2.0 |Added support for in-process-linking |[binary](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.2.0/oneagent-sdk-1.2.0.jar) [source](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.2.0/oneagent-sdk-1.2.0-sources.jar) [javadoc](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.2.0/oneagent-sdk-1.2.0-javadoc.jar)|
256302
|1.1.0 |Added support for in-process-linking |[binary](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.1.0/oneagent-sdk-1.1.0.jar) [source](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.1.0/oneagent-sdk-1.1.0-sources.jar) [javadoc](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.1.0/oneagent-sdk-1.1.0-javadoc.jar)|
257303
|1.0.3 |Initial release |[binary](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.0.3/oneagent-sdk-1.0.3.jar) [source](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.0.3/oneagent-sdk-1.0.3-sources.jar) [javadoc](https://search.maven.org/remotecontent?filepath=com/dynatrace/oneagent/sdk/java/oneagent-sdk/1.0.3/oneagent-sdk-1.0.3-javadoc.jar)|

docs/allclasses-frame.html

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
<!--NewPage-->
33
<HTML>
44
<HEAD>
5-
<!-- Generated by javadoc (build 1.6.0_45) on Thu May 24 14:52:46 CEST 2018 -->
5+
<!-- Generated by javadoc (build 1.6.0_45) on Thu Jun 07 11:05:10 CEST 2018 -->
66
<TITLE>
7-
All Classes (sdk 1.2.0 API)
7+
All Classes (sdk 1.3.0 API)
88
</TITLE>
99

10-
<META NAME="date" CONTENT="2018-05-24">
10+
<META NAME="date" CONTENT="2018-06-07">
1111

1212
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
1313

@@ -27,6 +27,8 @@
2727
<BR>
2828
<A HREF="com/dynatrace/oneagent/sdk/api/IncomingTaggable.html" title="interface in com.dynatrace.oneagent.sdk.api" target="classFrame"><I>IncomingTaggable</I></A>
2929
<BR>
30+
<A HREF="com/dynatrace/oneagent/sdk/api/IncomingWebRequestTracer.html" title="interface in com.dynatrace.oneagent.sdk.api" target="classFrame"><I>IncomingWebRequestTracer</I></A>
31+
<BR>
3032
<A HREF="com/dynatrace/oneagent/sdk/api/InProcessLink.html" title="interface in com.dynatrace.oneagent.sdk.api" target="classFrame"><I>InProcessLink</I></A>
3133
<BR>
3234
<A HREF="com/dynatrace/oneagent/sdk/api/InProcessLinkTracer.html" title="interface in com.dynatrace.oneagent.sdk.api" target="classFrame"><I>InProcessLinkTracer</I></A>
@@ -45,6 +47,8 @@
4547
<BR>
4648
<A HREF="com/dynatrace/oneagent/sdk/api/Tracer.html" title="interface in com.dynatrace.oneagent.sdk.api" target="classFrame"><I>Tracer</I></A>
4749
<BR>
50+
<A HREF="com/dynatrace/oneagent/sdk/api/infos/WebApplicationInfo.html" title="interface in com.dynatrace.oneagent.sdk.api.infos" target="classFrame"><I>WebApplicationInfo</I></A>
51+
<BR>
4852
</FONT></TD>
4953
</TR>
5054
</TABLE>

docs/allclasses-noframe.html

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
<!--NewPage-->
33
<HTML>
44
<HEAD>
5-
<!-- Generated by javadoc (build 1.6.0_45) on Thu May 24 14:52:46 CEST 2018 -->
5+
<!-- Generated by javadoc (build 1.6.0_45) on Thu Jun 07 11:05:10 CEST 2018 -->
66
<TITLE>
7-
All Classes (sdk 1.2.0 API)
7+
All Classes (sdk 1.3.0 API)
88
</TITLE>
99

10-
<META NAME="date" CONTENT="2018-05-24">
10+
<META NAME="date" CONTENT="2018-06-07">
1111

1212
<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
1313

@@ -27,6 +27,8 @@
2727
<BR>
2828
<A HREF="com/dynatrace/oneagent/sdk/api/IncomingTaggable.html" title="interface in com.dynatrace.oneagent.sdk.api"><I>IncomingTaggable</I></A>
2929
<BR>
30+
<A HREF="com/dynatrace/oneagent/sdk/api/IncomingWebRequestTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><I>IncomingWebRequestTracer</I></A>
31+
<BR>
3032
<A HREF="com/dynatrace/oneagent/sdk/api/InProcessLink.html" title="interface in com.dynatrace.oneagent.sdk.api"><I>InProcessLink</I></A>
3133
<BR>
3234
<A HREF="com/dynatrace/oneagent/sdk/api/InProcessLinkTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><I>InProcessLinkTracer</I></A>
@@ -45,6 +47,8 @@
4547
<BR>
4648
<A HREF="com/dynatrace/oneagent/sdk/api/Tracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><I>Tracer</I></A>
4749
<BR>
50+
<A HREF="com/dynatrace/oneagent/sdk/api/infos/WebApplicationInfo.html" title="interface in com.dynatrace.oneagent.sdk.api.infos"><I>WebApplicationInfo</I></A>
51+
<BR>
4852
</FONT></TD>
4953
</TR>
5054
</TABLE>

docs/com/dynatrace/oneagent/sdk/OneAgentSDKFactory.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
<!--NewPage-->
33
<HTML>
44
<HEAD>
5-
<!-- Generated by javadoc (build 1.6.0_45) on Thu May 24 14:52:46 CEST 2018 -->
5+
<!-- Generated by javadoc (build 1.6.0_45) on Thu Jun 07 11:05:09 CEST 2018 -->
66
<TITLE>
7-
OneAgentSDKFactory (sdk 1.2.0 API)
7+
OneAgentSDKFactory (sdk 1.3.0 API)
88
</TITLE>
99

10-
<META NAME="date" CONTENT="2018-05-24">
10+
<META NAME="date" CONTENT="2018-06-07">
1111

1212
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
1313

1414
<SCRIPT type="text/javascript">
1515
function windowTitle()
1616
{
1717
if (location.href.indexOf('is-external=true') == -1) {
18-
parent.document.title="OneAgentSDKFactory (sdk 1.2.0 API)";
18+
parent.document.title="OneAgentSDKFactory (sdk 1.3.0 API)";
1919
}
2020
}
2121
</SCRIPT>

docs/com/dynatrace/oneagent/sdk/api/InProcessLink.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
<!--NewPage-->
33
<HTML>
44
<HEAD>
5-
<!-- Generated by javadoc (build 1.6.0_45) on Thu May 24 14:52:46 CEST 2018 -->
5+
<!-- Generated by javadoc (build 1.6.0_45) on Thu Jun 07 11:05:09 CEST 2018 -->
66
<TITLE>
7-
InProcessLink (sdk 1.2.0 API)
7+
InProcessLink (sdk 1.3.0 API)
88
</TITLE>
99

10-
<META NAME="date" CONTENT="2018-05-24">
10+
<META NAME="date" CONTENT="2018-06-07">
1111

1212
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
1313

1414
<SCRIPT type="text/javascript">
1515
function windowTitle()
1616
{
1717
if (location.href.indexOf('is-external=true') == -1) {
18-
parent.document.title="InProcessLink (sdk 1.2.0 API)";
18+
parent.document.title="InProcessLink (sdk 1.3.0 API)";
1919
}
2020
}
2121
</SCRIPT>
@@ -54,7 +54,7 @@
5454

5555
<TR>
5656
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
57-
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingTaggable.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>PREV CLASS</B></A>&nbsp;
57+
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingWebRequestTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>PREV CLASS</B></A>&nbsp;
5858
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/InProcessLinkTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>NEXT CLASS</B></A></FONT></TD>
5959
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
6060
<A HREF="../../../../../index.html?com/dynatrace/oneagent/sdk/api/InProcessLink.html" target="_top"><B>FRAMES</B></A> &nbsp;
@@ -141,7 +141,7 @@ <H2>
141141

142142
<TR>
143143
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
144-
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingTaggable.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>PREV CLASS</B></A>&nbsp;
144+
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingWebRequestTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>PREV CLASS</B></A>&nbsp;
145145
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/InProcessLinkTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>NEXT CLASS</B></A></FONT></TD>
146146
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
147147
<A HREF="../../../../../index.html?com/dynatrace/oneagent/sdk/api/InProcessLink.html" target="_top"><B>FRAMES</B></A> &nbsp;

docs/com/dynatrace/oneagent/sdk/api/InProcessLinkTracer.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
<!--NewPage-->
33
<HTML>
44
<HEAD>
5-
<!-- Generated by javadoc (build 1.6.0_45) on Thu May 24 14:52:46 CEST 2018 -->
5+
<!-- Generated by javadoc (build 1.6.0_45) on Thu Jun 07 11:05:09 CEST 2018 -->
66
<TITLE>
7-
InProcessLinkTracer (sdk 1.2.0 API)
7+
InProcessLinkTracer (sdk 1.3.0 API)
88
</TITLE>
99

10-
<META NAME="date" CONTENT="2018-05-24">
10+
<META NAME="date" CONTENT="2018-06-07">
1111

1212
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
1313

1414
<SCRIPT type="text/javascript">
1515
function windowTitle()
1616
{
1717
if (location.href.indexOf('is-external=true') == -1) {
18-
parent.document.title="InProcessLinkTracer (sdk 1.2.0 API)";
18+
parent.document.title="InProcessLinkTracer (sdk 1.3.0 API)";
1919
}
2020
}
2121
</SCRIPT>

docs/com/dynatrace/oneagent/sdk/api/IncomingRemoteCallTracer.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
<!--NewPage-->
33
<HTML>
44
<HEAD>
5-
<!-- Generated by javadoc (build 1.6.0_45) on Thu May 24 14:52:46 CEST 2018 -->
5+
<!-- Generated by javadoc (build 1.6.0_45) on Thu Jun 07 11:05:09 CEST 2018 -->
66
<TITLE>
7-
IncomingRemoteCallTracer (sdk 1.2.0 API)
7+
IncomingRemoteCallTracer (sdk 1.3.0 API)
88
</TITLE>
99

10-
<META NAME="date" CONTENT="2018-05-24">
10+
<META NAME="date" CONTENT="2018-06-07">
1111

1212
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
1313

1414
<SCRIPT type="text/javascript">
1515
function windowTitle()
1616
{
1717
if (location.href.indexOf('is-external=true') == -1) {
18-
parent.document.title="IncomingRemoteCallTracer (sdk 1.2.0 API)";
18+
parent.document.title="IncomingRemoteCallTracer (sdk 1.3.0 API)";
1919
}
2020
}
2121
</SCRIPT>

docs/com/dynatrace/oneagent/sdk/api/IncomingTaggable.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
<!--NewPage-->
33
<HTML>
44
<HEAD>
5-
<!-- Generated by javadoc (build 1.6.0_45) on Thu May 24 14:52:46 CEST 2018 -->
5+
<!-- Generated by javadoc (build 1.6.0_45) on Thu Jun 07 11:05:09 CEST 2018 -->
66
<TITLE>
7-
IncomingTaggable (sdk 1.2.0 API)
7+
IncomingTaggable (sdk 1.3.0 API)
88
</TITLE>
99

10-
<META NAME="date" CONTENT="2018-05-24">
10+
<META NAME="date" CONTENT="2018-06-07">
1111

1212
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
1313

1414
<SCRIPT type="text/javascript">
1515
function windowTitle()
1616
{
1717
if (location.href.indexOf('is-external=true') == -1) {
18-
parent.document.title="IncomingTaggable (sdk 1.2.0 API)";
18+
parent.document.title="IncomingTaggable (sdk 1.3.0 API)";
1919
}
2020
}
2121
</SCRIPT>
@@ -55,7 +55,7 @@
5555
<TR>
5656
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
5757
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingRemoteCallTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>PREV CLASS</B></A>&nbsp;
58-
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/InProcessLink.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>NEXT CLASS</B></A></FONT></TD>
58+
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingWebRequestTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>NEXT CLASS</B></A></FONT></TD>
5959
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
6060
<A HREF="../../../../../index.html?com/dynatrace/oneagent/sdk/api/IncomingTaggable.html" target="_top"><B>FRAMES</B></A> &nbsp;
6161
&nbsp;<A HREF="IncomingTaggable.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
@@ -91,7 +91,7 @@ <H2>
9191
<BR>
9292
Interface IncomingTaggable</H2>
9393
<DL>
94-
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingRemoteCallTracer.html" title="interface in com.dynatrace.oneagent.sdk.api">IncomingRemoteCallTracer</A></DD>
94+
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingRemoteCallTracer.html" title="interface in com.dynatrace.oneagent.sdk.api">IncomingRemoteCallTracer</A>, <A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingWebRequestTracer.html" title="interface in com.dynatrace.oneagent.sdk.api">IncomingWebRequestTracer</A></DD>
9595
</DL>
9696
<HR>
9797
<DL>
@@ -209,7 +209,7 @@ <H2>
209209
<TR>
210210
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
211211
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingRemoteCallTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>PREV CLASS</B></A>&nbsp;
212-
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/InProcessLink.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>NEXT CLASS</B></A></FONT></TD>
212+
&nbsp;<A HREF="../../../../../com/dynatrace/oneagent/sdk/api/IncomingWebRequestTracer.html" title="interface in com.dynatrace.oneagent.sdk.api"><B>NEXT CLASS</B></A></FONT></TD>
213213
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
214214
<A HREF="../../../../../index.html?com/dynatrace/oneagent/sdk/api/IncomingTaggable.html" target="_top"><B>FRAMES</B></A> &nbsp;
215215
&nbsp;<A HREF="IncomingTaggable.html" target="_top"><B>NO FRAMES</B></A> &nbsp;

0 commit comments

Comments
 (0)
0