Skip to content

Commit c72fce5

Browse files
authored
Update change log for 3.4.0-BETA (#2476)
* Update change log for 3.4.0-BETA * Update * Update * link * fix
1 parent b956164 commit c72fce5

File tree

1 file changed

+135
-0
lines changed

1 file changed

+135
-0
lines changed

CHANGELOG.md

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,140 @@
11
# CHANGELOG
22

3+
# Version 3.4.0-BETA
4+
5+
Migration notes:
6+
7+
* Rate-limited sampling is the new default. If you have not configured a sampling percentage
8+
and are using the prior default behavior of 100%, you will get the new default which limits
9+
the total requests captured to (approximately) 5 requests per second. If you wish to continue with
10+
the previous behavior, you can explicitly specify a sampling percentage of 100, e.g.
11+
```
12+
{
13+
"sampling": {
14+
"percentage": 100
15+
}
16+
}
17+
```
18+
* Both percentage-based and rate-limited sampling now only apply to requests, and to telemetry that
19+
is captured in the context of a request.
20+
If you do want to sample "standalone" telemetry (e.g. startup logs), you can use sampling
21+
overrides, e.g.
22+
```
23+
{
24+
"preview": {
25+
"sampling": {
26+
"overrides": [
27+
{
28+
"telemetryType": "dependency",
29+
"includingStandaloneTelemetry": true,
30+
"percentage": 10
31+
}
32+
]
33+
}
34+
}
35+
}
36+
```
37+
38+
Enhancements:
39+
40+
* [Standard metrics](https://docs.microsoft.com/en-us/azure/azure-monitor/app/standard-metrics)
41+
for HTTP requests and HTTP dependencies are now pre-aggregated inside of the Java agent, and so
42+
they are no longer affected by sampling
43+
([#2439](https://github.com/microsoft/ApplicationInsights-Java/pull/2439)).
44+
* Rate-limited sampling has been introduced which can be used to tune ingestion costs
45+
([#2456](https://github.com/microsoft/ApplicationInsights-Java/pull/2456)), e.g.
46+
```
47+
{
48+
"sampling": {
49+
"limitPerSecond": 5
50+
}
51+
}
52+
```
53+
Note: the `limitPerSecond` can be a decimal value, including values less than 1.
54+
* Exceptions are no longer captured directly on dependency records for these reasons:
55+
* in order to reduce ingestion cost
56+
* dependency exceptions which are uncaught, bubble up to the request-level where they are
57+
already captured
58+
* dependency exceptions which are caught, tend to be logged if they are important, where they
59+
are also already captured
60+
([#2423](https://github.com/microsoft/ApplicationInsights-Java/pull/2423)).
61+
* New versions of the `applicationinsights-core` and `applicationinsights-web` 2.x SDK artifacts
62+
have been released, with a reduced API surface area to makes it clear which APIs interop with the
63+
3.x Java agent ([#2418](https://github.com/microsoft/ApplicationInsights-Java/pull/2418)).
64+
These new versions are no-ops when run without the Java agent. To update your dependencies:
65+
| 2.x dependency | Action | Remarks |
66+
|----------------|--------|---------|
67+
| `applicationinsights-core` | Update the version to `3.4.0-BETA` or later | |
68+
| `applicationinsights-web` | Update the version to `3.4.0-BETA` or later, and remove the Application Insights web filter your `web.xml` file. | |
69+
| `applicationinsights-web-auto` | Replace with `3.4.0-BETA` or later of `applicationinsights-web` | |
70+
| `applicationinsights-logging-log4j1_2` | Remove the dependency and remove the Application Insights appender from your log4j configuration. | This is no longer needed since Log4j 1.2 is auto-instrumented in the 3.x Javaagent. |
71+
| `applicationinsights-logging-log4j2` | Remove the dependency and remove the Application Insights appender from your log4j configuration. | This is no longer needed since Log4j 2 is auto-instrumented in the 3.x Javaagent. |
72+
| `applicationinsights-logging-log4j1_2` | Remove the dependency and remove the Application Insights appender from your logback configuration. | This is no longer needed since Logback is auto-instrumented in the 3.x Javaagent. |
73+
| `applicationinsights-spring-boot-starter` | Replace with `3.4.0-BETA` or later of `applicationinsights-web` | The cloud role name will no longer default to `spring.application.name`, see the [3.x configuration docs](./java-standalone-config.md#cloud-role-name) for configuring the cloud role name. |
74+
* ConnectionString overrides were introduced, and InstrumentationKey overrides were deprecated
75+
([#2471](https://github.com/microsoft/ApplicationInsights-Java/pull/2471)):
76+
```
77+
{
78+
"preview": {
79+
"connectionStringOverrides": [
80+
{
81+
"httpPathPrefix": "/myapp1",
82+
"connectionString": "InstrumentationKey=12345678-0000-0000-0000-0FEEDDADBEEF;IngestionEndpoint=...;..."
83+
},
84+
{
85+
"httpPathPrefix": "/myapp2",
86+
"connectionString": "InstrumentationKey=87654321-0000-0000-0000-0FEEDDADBEEF;IngestionEndpoint=...;..."
87+
}
88+
]
89+
}
90+
}
91+
```
92+
* Configuration to disable jdbc masking was introduced
93+
([#2453](https://github.com/microsoft/ApplicationInsights-Java/pull/2453)):
94+
```
95+
{
96+
"instrumentation": {
97+
"jdbc": {
98+
"masking": {
99+
"enabled": false
100+
}
101+
}
102+
}
103+
}
104+
```
105+
* Sampling overrides can (and should) now be targeted to requests, dependencies, traces (logs)
106+
or exceptions ([#2456](https://github.com/microsoft/ApplicationInsights-Java/pull/2456)), e.g.
107+
```
108+
{
109+
"preview": {
110+
"sampling": {
111+
"overrides": [
112+
{
113+
"telemetryKind": "dependency",
114+
...
115+
"percentage": 0
116+
}
117+
]
118+
}
119+
}
120+
}
121+
```
122+
* Ingestion response codes 502 and 504 now trigger storing telemetry to disk and retrying
123+
([#2438](https://github.com/microsoft/ApplicationInsights-Java/pull/2438)).
124+
* Metric namespaces are now supported via the new 3.x `applicationinsights-core` artifact
125+
([#2447](https://github.com/microsoft/ApplicationInsights-Java/pull/2447)).
126+
* OpenTelemetry baseline has been updated to Java 1.17.0
127+
([#2453](https://github.com/microsoft/ApplicationInsights-Java/pull/2453)).
128+
* Ingestion sampling warnings are now suppressed since those are expected
129+
([#2473](https://github.com/microsoft/ApplicationInsights-Java/pull/2473)).
130+
131+
Bug Fixes:
132+
133+
* Fix `operation_Id` and `operation_parentID` being captured as `00000000000000000000000000000000`
134+
for "standalone" log records (which occur outside of a request). These fields are now empty for
135+
"standalone" log records, to reflect that they are not part of an "operation" (i.e. request)
136+
[#2432](https://github.com/microsoft/ApplicationInsights-Java/pull/2432).
137+
3138
# Version 3.3.1 GA
4139
* Suppress nested client dependencies (regression in 3.3.0) [#2357](https://github.com/microsoft/ApplicationInsights-Java/pull/2357).
5140
* Add support for custom instrumentation [#2380](https://github.com/microsoft/ApplicationInsights-Java/pull/2380).

0 commit comments

Comments
 (0)