Releases: microsoft/ApplicationInsights-Java
Releases · microsoft/ApplicationInsights-Java
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 } }requestsPerSecondcan 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-coreandapplicationinsights-web2.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-coreUpdate the version to 3.4.0-BETAor laterapplicationinsights-webUpdate the version to 3.4.0-BETAor later, and remove the Application Insights web filter yourweb.xmlfile.applicationinsights-web-autoReplace with 3.4.0-BETAor later ofapplicationinsights-webapplicationinsights-logging-log4j1_2Remove 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-log4j2Remove 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_2Remove 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-starterReplace with 3.4.0-BETAor later ofapplicationinsights-webThe 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-coreartifact (#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_Idandoperation_parentIDbeing captured as00000000000000000000000000000000for "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 } }requestsPerSecondcan 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-coreandapplicationinsights-web2.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-coreUpdate the version to 3.4.0-BETAor laterapplicationinsights-webUpdate the version to 3.4.0-BETAor later, and remove the Application Insights web filter yourweb.xmlfile.applicationinsights-web-autoReplace with 3.4.0-BETAor later ofapplicationinsights-webapplicationinsights-logging-log4j1_2Remove 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-log4j2Remove 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_2Remove 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-starterReplace with 3.4.0-BETAor later ofapplicationinsights-webThe 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-coreartifact (#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_Idandoperation_parentIDbeing captured as00000000000000000000000000000000for "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.
Bug Fixes:
Application Insights Java 3.3.0 (GA)
Migration notes:
LoggingLevelisn't captured by default as part of Traces' custom dimension because that data is already captured in theSeverityLevelfield. For information on how to reenable it, see the config options.- Exception records are no longer recorded for failed dependencies. They're only recorded for failed requests.
Enhancements:
- Reduce jar file size #2295.
- Stop capturing exception records on dependencies #2307.
- Add support for sampling overrides on http request headers #2308.
- Enable quartz instrumentation by default #2313.
- Add warning message on internal attribute usage #2314.
- Lots of refactoring and improvements.
- Continue to add support for OpenTelemetry metrics API.
- Deprecate logs' LoggingLevel custom property #2254.
- Add support for OpenTelemetry metrics API
- Lots of refactorings and improvements.
- Update OpenTelemetry to 1.15 #2332.
- Add configuration for disk persistence capacity #2329.
- Add support for runtime attach #2325.
- Continue to add support for OpenTelemetry metrics API.
Application Insights Java 3.3.0-BETA.2
Enhancements:
- Update OpenTelemetry to 1.14.
- Reduce jar file size #2295.
- Stop capturing exception records on dependencies #2307.
- Add support for sampling overrides on http request headers #2308.
- Enable quartz instrumentation by default #2313.
- Add warning message on internal attribute usage #2314.
- Lots of refactoring and improvements.
- Continue to add support for OpenTelemetry metrics API.