Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ the agent will now include the database name in the dependency, thus `mysql/my-d

[float]
===== Features
* Promote mature agent features as Generaly Available (GA) - {pull}2632[#2632]
** <<opentelemetry-bridge,OpenTelemetry bridge>> is now enabled by default
** <<config-circuit-breaker,Circuit breaker>> marked as GA (still disabled by default)
** <<setup-attach-api,API Attach>> and <<setup-attach-cli,CLI Attach>> marked as GA
** <<config-use-path-as-transaction-name,`use_path_as_transaction_name`>> configuration option marked as GA
** Dubbo instrumentation is now enabled by default
** `com.sun.net.httpserver.HttpServer` instrumentation marked as GA
* Struts action invocations via an action chain result start a new span - {pull}2513[#2513]
* Added official support for Elasticsearch Java API client - {pull}2211[#2211]
* Added the ability to make spans non-discardable through the public API and the OpenTelemetry bridge - {pull}2632[#2632]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class CircuitBreakerConfiguration extends ConfigurationOptionProvider {

private final ConfigurationOption<Boolean> circuitBreakerEnabled = ConfigurationOption.booleanOption()
.key("circuit_breaker_enabled")
.tags("added[1.14.0]", "performance", "experimental")
.tags("added[1.14.0]", "performance")
.configurationCategory(CIRCUIT_BREAKER_CATEGORY)
.description("A boolean specifying whether the circuit breaker should be enabled or not. \n" +
"When enabled, the agent periodically polls stress monitors to detect system/process/JVM stress state. \n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public class WebConfiguration extends ConfigurationOptionProvider {
private final ConfigurationOption<Boolean> usePathAsName = ConfigurationOption.booleanOption()
.key("use_path_as_transaction_name")
.configurationCategory(HTTP_CATEGORY)
.tags("experimental", "added[1.0.0,Changing this value at runtime is possible since version 1.22.0]")
.tags("added[1.0.0,Changing this value at runtime is possible since version 1.22.0]")
.description("If set to `true`,\n" +
"transaction names of unsupported or partially-supported frameworks will be in the form of `$method $path` instead of just `$method unknown route`.\n" +
"\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,13 @@

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;

public abstract class AbstractDubboInstrumentation extends TracerAwareInstrumentation {

@Override
public Collection<String> getInstrumentationGroupNames() {
return Arrays.asList("dubbo", "experimental");
return Collections.singleton("dubbo");
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@

import co.elastic.apm.agent.bci.TracerAwareInstrumentation;

import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;

public abstract class JdkHttpServerInstrumentation extends TracerAwareInstrumentation {

@Override
public Collection<String> getInstrumentationGroupNames() {
return Arrays.asList("jdk-httpserver");
return Collections.singleton("jdk-httpserver");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,6 @@ public final boolean includeWhenInstrumentationIsDisabled() {

@Override
public final Collection<String> getInstrumentationGroupNames() {
return Arrays.asList("opentelemetry", "experimental");
return Arrays.asList("opentelemetry");
}
}
3 changes: 0 additions & 3 deletions docs/api-opentelemetry.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ endif::[]
[[opentelemetry-bridge]]
=== OpenTelemetry bridge

NOTE: Added as experimental in 1.30.0.
To enable it, set <<config-enable-experimental-instrumentations, `enable_experimental_instrumentations`>> to `true`.

The Elastic APM OpenTelemetry bridge allows creating Elastic APM `Transactions` and `Spans`,
using the OpenTelemetry API.
In other words,
Expand Down
8 changes: 2 additions & 6 deletions docs/configuration.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -195,9 +195,7 @@ Click on a key to get more information.
// This file is auto generated. Please make your changes in *Configuration.java (for example CoreConfiguration.java) and execute ConfigurationExporter
[float]
[[config-circuit-breaker-enabled]]
==== `circuit_breaker_enabled` (added[1.14.0] performance experimental)

NOTE: This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases.
==== `circuit_breaker_enabled` (added[1.14.0] performance)

A boolean specifying whether the circuit breaker should be enabled or not.
When enabled, the agent periodically polls stress monitors to detect system/process/JVM stress state.
Expand Down Expand Up @@ -1471,9 +1469,7 @@ Prepending an element with `(?-i)` makes the matching case sensitive.
// This file is auto generated. Please make your changes in *Configuration.java (for example CoreConfiguration.java) and execute ConfigurationExporter
[float]
[[config-use-path-as-transaction-name]]
==== `use_path_as_transaction_name` (experimental added[1.0.0,Changing this value at runtime is possible since version 1.22.0])

NOTE: This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases.
==== `use_path_as_transaction_name` (added[1.0.0,Changing this value at runtime is possible since version 1.22.0])

If set to `true`,
transaction names of unsupported or partially-supported frameworks will be in the form of `$method $path` instead of just `$method unknown route`.
Expand Down
5 changes: 0 additions & 5 deletions docs/setup-attach-api.asciidoc
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
[[setup-attach-api]]
=== Programmatic API setup to self-attach

NOTE: This installation method is in beta.

[float]
[[setup-attach-api-supported-environments]]
==== Supported environments
Expand All @@ -14,9 +12,6 @@ Unix and Solaris operating systems on HotSpot-based JVMs (like OpenJDK and Oracl
[[setup-attach-api-caveats]]
==== Caveats

The approach to mitigate `NoClassDefFoundError` s when used in OSGi containers (which includes most application servers) is experimental.
Versions prior to 1.18.0 don't support OSGi containers.

There can only be one agent instance with one configuration per JVM.
So if you deploy multiple web applications to the same application server and call `ElasticApmAttacher.attach()` in each application,
the first `attach()` wins and the second one will be ignored.
Expand Down
9 changes: 0 additions & 9 deletions docs/setup-attach-cli.asciidoc
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
[[setup-attach-cli]]
=== Automatic setup with `apm-agent-attach-cli.jar`

NOTE: This installation method is in beta.

The `apm-agent-attach-cli.jar` is an executable Java command line program which attaches the Elastic APM Java agent to a specific JVM or to all JVMs of the same host it runs on.

This installation method does not require you to alter the configuration of your application server and can be used to conveniently instrument all JVMs on a particular host.
Expand All @@ -22,13 +20,6 @@ That means it is possible to run the attacher with Java 7 and attach the agent t
However, the type of the VM has to be the same:
It's not possible to attach to a J9 VM from a HotSpot-based VM and vice-versa.

[float]
[[setup-attach-cli-caveats]]
==== Caveats

The approach to mitigate `NoClassDefFoundError` s when used in OSGi containers (which includes most application servers) is experimental.
Versions prior to 1.18.0 don't support OSGi containers.

[float]
[[setup-attach-cli-download]]
==== Download
Expand Down
4 changes: 2 additions & 2 deletions docs/supported-technologies.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ rendering
|com.sun.net.httpserver.HttpServer
|1.7+
|Captures incoming HTTP requests as transactions
|1.25.0 (experimental)
|1.25.0

|Javalin
|3.13.8+
Expand Down Expand Up @@ -329,7 +329,7 @@ The spans are named after the schema `<method> <host>`, for example `GET elastic

|Apache Dubbo
| 2.5+, except for 2.7.0, 2.7.1, and 2.7.2
| This is an experimental plugin. Remove `experimental` from <<config-disable-instrumentations,`disable_instrumentations`>> to enable.
|
| 1.17.0

|JDK 11 HttpClient
Expand Down
2 changes: 1 addition & 1 deletion docs/tuning-and-overhead.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ Disabling <<config-capture-headers>> can save allocations, network bandwidth, an

[float]
[[circuit-breaker]]
=== Circuit Breaker (experimental)
=== Circuit Breaker

When enabled, the agent periodically polls stress monitors to detect system/process/JVM stress state.
If ANY of the monitors detects a stress indication, the agent will become inactive, as if the
Expand Down