Releases: microsoft/ApplicationInsights-Java
Releases · microsoft/ApplicationInsights-Java
Application Insights Java 3.4.7 (GA)
Application Insights Java 3.4.6 (GA)
Bug fixes:
- Fix self-diagnostics trace level logging can hang (#2778)
Application Insights Java 3.4.5 (GA)
Application Insights Java 3.4.4 (GA)
Application Insights Java 3.4.3 (GA)
Application Insights Java 3.4.2 (GA)
Application Insights Java 3.4.1 (GA)
Application Insights Java 3.4.0 (GA)
Migration notes:
- Rate-limited sampling is now the default, if you haven't configured a fixed percentage previously. By default, it will capture at most around five requests per second, along with their dependencies, traces, and custom events. See fixed-percentage sampling if you want to revert to the previous behavior of capturing 100% of requests.
Enhancements:
- Standard metrics for HTTP requests and HTTP dependencies are now pre-aggregated inside of the Java agent, and so they are no longer affected by sampling (#2439).
- Rate-limited sampling has been introduced which can be used to tune ingestion costs (#2456), e.g.
Note: the
{ "sampling": { "requestsPerSecond": 5 } }
requestsPerSecond
can be a decimal value, including values less than 1. - Exceptions are no longer captured directly on dependency records for these reasons:
- in order to reduce ingestion cost
- dependency exceptions which are uncaught, bubble up to the request-level where they are already captured
- dependency exceptions which are caught, tend to be logged if they are important, where they are also already captured
(#2423).
- New versions of the
applicationinsights-core
andapplicationinsights-web
2.x SDK artifacts have been released, with a reduced API surface area to makes it clear which APIs interop with the 3.x Java agent (#2418). These new versions are no-ops when run without the Java agent. To update your dependencies:2.x dependency Action Remarks applicationinsights-core
Update the version to 3.4.0-BETA
or laterapplicationinsights-web
Update the version to 3.4.0-BETA
or later, and remove the Application Insights web filter yourweb.xml
file.applicationinsights-web-auto
Replace with 3.4.0-BETA
or later ofapplicationinsights-web
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. 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. 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. applicationinsights-spring-boot-starter
Replace with 3.4.0-BETA
or later ofapplicationinsights-web
The cloud role name will no longer default to spring.application.name
, see the 3.x configuration docs for configuring the cloud role name. - ConnectionString overrides were introduced, and InstrumentationKey overrides were deprecated (#2471):
{ "preview": { "connectionStringOverrides": [ { "httpPathPrefix": "/myapp1", "connectionString": "InstrumentationKey=12345678-0000-0000-0000-0FEEDDADBEEF;IngestionEndpoint=...;..." }, { "httpPathPrefix": "/myapp2", "connectionString": "InstrumentationKey=87654321-0000-0000-0000-0FEEDDADBEEF;IngestionEndpoint=...;..." } ] } }
- Configuration to disable jdbc masking was introduced (#2453):
{ "instrumentation": { "jdbc": { "masking": { "enabled": false } } } }
- Sampling overrides can (and should) now be targeted to requests, dependencies, traces (logs) or exceptions (#2456), e.g.
{ "preview": { "sampling": { "overrides": [ { "telemetryKind": "dependency", ... "percentage": 0 } ] } } }
- Ingestion response codes 502 and 504 now trigger storing telemetry to disk and retrying (#2438).
- Metric namespaces are now supported via the new 3.x
applicationinsights-core
artifact (#2447). - Ingestion sampling warnings are now suppressed since those are expected (#2473).
- Introduce a new preview feature: Java Profiler for Azure Monitor Application Insights
- Update OpenTelemetry to 1.18.0 #2509.
- Remove limit on filtering default metrics #2490.
- Add a new config to export logback code attributes #2518
Bug Fixes:
- Fix
operation_Id
andoperation_parentID
being captured as00000000000000000000000000000000
for "standalone" log records (which occur outside of a request). These fields are now empty for "standalone" log records, to reflect that they are not part of an "operation" (i.e. request) #2432.
Application Insights Java 3.4.0-BETA
Migration notes:
- Rate-limited sampling is the new default. If you have not configured a sampling percentage and are using the prior default behavior of 100%, you will get the new default which limits the total requests captured to (approximately) 5 requests per second (along with their dependencies, traces and custom events). If you wish to continue with the previous behavior, you can explicitly specify a sampling percentage of 100, e.g.
{ "sampling": { "percentage": 100 } }
Enhancements:
- Standard metrics for HTTP requests and HTTP dependencies are now pre-aggregated inside of the Java agent, and so they are no longer affected by sampling (#2439).
- Rate-limited sampling has been introduced which can be used to tune ingestion costs (#2456), e.g.
Note: the
{ "sampling": { "requestsPerSecond": 5 } }
requestsPerSecond
can be a decimal value, including values less than 1. - Exceptions are no longer captured directly on dependency records for these reasons:
- in order to reduce ingestion cost
- dependency exceptions which are uncaught, bubble up to the request-level where they are already captured
- dependency exceptions which are caught, tend to be logged if they are important, where they are also already captured
(#2423).
- New versions of the
applicationinsights-core
andapplicationinsights-web
2.x SDK artifacts have been released, with a reduced API surface area to makes it clear which APIs interop with the 3.x Java agent (#2418). These new versions are no-ops when run without the Java agent. To update your dependencies:2.x dependency Action Remarks applicationinsights-core
Update the version to 3.4.0-BETA
or laterapplicationinsights-web
Update the version to 3.4.0-BETA
or later, and remove the Application Insights web filter yourweb.xml
file.applicationinsights-web-auto
Replace with 3.4.0-BETA
or later ofapplicationinsights-web
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. 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. 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. applicationinsights-spring-boot-starter
Replace with 3.4.0-BETA
or later ofapplicationinsights-web
The cloud role name will no longer default to spring.application.name
, see the 3.x configuration docs for configuring the cloud role name. - ConnectionString overrides were introduced, and InstrumentationKey overrides were deprecated (#2471):
{ "preview": { "connectionStringOverrides": [ { "httpPathPrefix": "/myapp1", "connectionString": "InstrumentationKey=12345678-0000-0000-0000-0FEEDDADBEEF;IngestionEndpoint=...;..." }, { "httpPathPrefix": "/myapp2", "connectionString": "InstrumentationKey=87654321-0000-0000-0000-0FEEDDADBEEF;IngestionEndpoint=...;..." } ] } }
- Configuration to disable jdbc masking was introduced (#2453):
{ "instrumentation": { "jdbc": { "masking": { "enabled": false } } } }
- Sampling overrides can (and should) now be targeted to requests, dependencies, traces (logs) or exceptions (#2456), e.g.
{ "preview": { "sampling": { "overrides": [ { "telemetryKind": "dependency", ... "percentage": 0 } ] } } }
- Ingestion response codes 502 and 504 now trigger storing telemetry to disk and retrying (#2438).
- Metric namespaces are now supported via the new 3.x
applicationinsights-core
artifact (#2447). - OpenTelemetry baseline has been updated to Java 1.17.0 (#2453).
- Ingestion sampling warnings are now suppressed since those are expected (#2473).
Bug Fixes:
- Fix
operation_Id
andoperation_parentID
being captured as00000000000000000000000000000000
for "standalone" log records (which occur outside of a request). These fields are now empty for "standalone" log records, to reflect that they are not part of an "operation" (i.e. request) #2432.
Application Insights Java 3.3.1 (GA)
Enhancements:
- Suppress nested client dependencies (regression in 3.3.0) #2357.
- Add support for custom instrumentation #2380.
- Additional support for Spring JMS instrumentation #2385.
- Capture MDC attributes for jboss-logging #2386.
- Support Java 18 #2391.
- Update to OpenTelemetry 1.16.0 #2408.