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
4 changes: 2 additions & 2 deletions docs/reference/aws-lambda.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ To get started with APM for your Java AWS Lambda functions, follow the steps bel

### Prerequisites [aws-lambda-java-prerequisites]

1. You need an APM Server to send APM data to. Follow the [APM Quick start](docs-content://solutions/observability/apps/get-started-with-apm.md) if you have not set one up yet. For the best-possible performance, we recommend setting up APM on {{ecloud}} in the same AWS region as your AWS Lambda functions.
1. You need an APM Server to send APM data to. Follow the [APM Quick start](docs-content://solutions/observability/apm/get-started.md) if you have not set one up yet. For the best-possible performance, we recommend setting up APM on {{ecloud}} in the same AWS region as your AWS Lambda functions.
2. Make sure you are using one of the supported AWS Lambda Java runtimes:

| Tags | Java Runtime | Operating System | Supported |
Expand Down Expand Up @@ -143,7 +143,7 @@ COPY --from=java-agent /usr/agent/ /opt/

The {{apm-lambda-ext}} and the APM Java agent are configured through environment variables on the AWS Lambda function.

For the minimal configuration, you will need the *APM Server URL* to set the destination for APM data and an [APM Secret Token](docs-content://solutions/observability/apps/secret-token.md). If you prefer to use an [APM API key](docs-content://solutions/observability/apps/api-keys.md) instead of the APM secret token, use the `ELASTIC_APM_API_KEY` environment variable instead of `ELASTIC_APM_SECRET_TOKEN` in the following configuration.
For the minimal configuration, you will need the *APM Server URL* to set the destination for APM data and an [APM Secret Token](docs-content://solutions/observability/apm/secret-token.md). If you prefer to use an [APM API key](docs-content://solutions/observability/apm/api-keys.md) instead of the APM secret token, use the `ELASTIC_APM_API_KEY` environment variable instead of `ELASTIC_APM_SECRET_TOKEN` in the following configuration.

For production environments, we recommend [using the AWS Secrets Manager to store your APM authentication key](apm-aws-lambda://reference/aws-lambda-secrets-manager.md) instead of providing the secret value as plaintext in the environment variables.

Expand Down
8 changes: 4 additions & 4 deletions docs/reference/config-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ Allows for the reported hostname to be manually specified. If unset the hostname

The name of the environment this service is deployed in, e.g. "production" or "staging".

Environments allow you to easily filter data on a global level in the APM app. It’s important to be consistent when naming environments across agents. See [environment selector](docs-content://solutions/observability/apps/filter-application-data.md#apm-filter-your-data-service-environment-filter) in the APM app for more information.
Environments allow you to easily filter data on a global level in the APM app. It’s important to be consistent when naming environments across agents. See [environment selector](docs-content://solutions/observability/apm/filter-data.md#apm-filter-your-data-service-environment-filter) in the APM app for more information.

::::{note}
This feature is fully supported in the APM app in Kibana versions >= 7.2. You must use the query bar to filter for a specific environment in versions prior to 7.2.
Expand Down Expand Up @@ -252,7 +252,7 @@ The following transaction, span, and error fields will be truncated at this numb
* `transaction.context.message.body`, `error.context.message.body`
* `span.context.db.statement`

Note that tracing data is limited at the upstream APM server to [`max_event_size`](docs-content://solutions/observability/apps/general-configuration-options.md#apm-max_event_size), which defaults to 300kB. If you configure `long_field_max_length` too large, it could result in transactions, spans, or errors that are rejected by APM server.
Note that tracing data is limited at the upstream APM server to [`max_event_size`](docs-content://solutions/observability/apm/general-configuration-options.md#apm-max_event_size), which defaults to 300kB. If you configure `long_field_max_length` too large, it could result in transactions, spans, or errors that are rejected by APM server.

| Default | Type | Dynamic |
| --- | --- | --- |
Expand Down Expand Up @@ -687,7 +687,7 @@ Use the `apm-agent-plugin-sdk` and the `apm-agent-api` artifacts to create a jar

## `use_elastic_traceparent_header` ([1.14.0]) [config-use-elastic-traceparent-header]

To enable [distributed tracing](docs-content://solutions/observability/apps/traces.md), the agent adds trace context headers to outgoing requests (like HTTP requests, Kafka records, gRPC requests etc.). These headers (`traceparent` and `tracestate`) are defined in the [W3C Trace Context](https://www.w3.org/TR/trace-context-1/) specification.
To enable [distributed tracing](docs-content://solutions/observability/apm/traces.md), the agent adds trace context headers to outgoing requests (like HTTP requests, Kafka records, gRPC requests etc.). These headers (`traceparent` and `tracestate`) are defined in the [W3C Trace Context](https://www.w3.org/TR/trace-context-1/) specification.

When this setting is `true`, the agent will also add the header `elastic-apm-traceparent` for backwards compatibility with older versions of Elastic APM agents.

Expand All @@ -707,7 +707,7 @@ When this setting is `true`, the agent will also add the header `elastic-apm-tra
Use this option to disable `tracecontext` headers injection to any outgoing communication.

::::{note}
Disabling `tracecontext` headers injection means that [distributed tracing](docs-content://solutions/observability/apps/traces.md) will not work on downstream services.
Disabling `tracecontext` headers injection means that [distributed tracing](docs-content://solutions/observability/apm/traces.md) will not work on downstream services.
::::


Expand Down
4 changes: 2 additions & 2 deletions docs/reference/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ mapped_pages:

To adapt the Elastic APM Java agent to your needs, you can configure it using one of the methods below, listed in descending order of precedence:

1) [Central configuration](docs-content://solutions/observability/apps/apm-agent-central-configuration.md)
1) [Central configuration](docs-content://solutions/observability/apm/apm-agent-central-configuration.md)
: Configure the Agent in the Kibana APM app. [![dynamic config](/reference/images/dynamic-config.svg "") ](#configuration-dynamic)

2) Properties file
Expand All @@ -33,7 +33,7 @@ To adapt the Elastic APM Java agent to your needs, you can configure it using on

Configuration options marked with Dynamic true can be changed at runtime when set from supported sources:

* [Central configuration](docs-content://solutions/observability/apps/apm-agent-central-configuration.md)
* [Central configuration](docs-content://solutions/observability/apm/apm-agent-central-configuration.md)
* `elasticapm.properties` file
* Java system properties, but only when set from within the application

Expand Down
2 changes: 1 addition & 1 deletion docs/reference/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@ More detailed information on how the Agent works can be found in the [FAQ](/refe

## Additional components [additional-components]

APM Agents work in conjunction with the [APM Server](docs-content://solutions/observability/apps/application-performance-monitoring-apm.md), [Elasticsearch](docs-content://get-started/index.md), and [Kibana](docs-content://get-started/the-stack.md). The [APM Guide](docs-content://solutions/observability/apps/application-performance-monitoring-apm.md) provides details on how these components work together, and provides a matrix outlining [Agent and Server compatibility](docs-content://solutions/observability/apps/apm-agent-compatibility.md).
APM Agents work in conjunction with the [APM Server](docs-content://solutions/observability/apm/index.md), [Elasticsearch](docs-content://get-started/index.md), and [Kibana](docs-content://get-started/the-stack.md). The [APM Guide](docs-content://solutions/observability/apm/index.md) provides details on how these components work together, and provides a matrix outlining [Agent and Server compatibility](docs-content://solutions/observability/apm/apm-agent-compatibility.md).

4 changes: 2 additions & 2 deletions docs/reference/logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ The [`ecs-logging-java`](ecs-logging-java://reference/index.md) library can also

## Log correlation [log-correlation-ids]

[Log correlation](docs-content://solutions/observability/apps/logs.md) allows you to navigate to all logs belonging to a particular trace and vice-versa: for a specific log, see in which context it has been logged and which parameters the user provided.
[Log correlation](docs-content://solutions/observability/apm/logs.md) allows you to navigate to all logs belonging to a particular trace and vice-versa: for a specific log, see in which context it has been logged and which parameters the user provided.

::::{note}
Starting in APM agent version 1.30.0, log correlation is enabled by default. In previous versions, log correlation must be explicitly enabled by setting the `enable_log_correlation` configuration variable to `true`.
Expand Down Expand Up @@ -66,7 +66,7 @@ As a result, when an exception is reported to the logger:

Please note we capture the exception, not the message passed to the `logger.error`.

To collect the message passed to the `logger.error`, you would need to ingest the logs of the application (see [Log correlation](docs-content://solutions/observability/apps/logs.md)).
To collect the message passed to the `logger.error`, you would need to ingest the logs of the application (see [Log correlation](docs-content://solutions/observability/apm/logs.md)).


## Log sending (experimental) [log-sending]
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ JMX metrics to capture need to be configured through the [`capture_jmx_metrics`]

## Built-in application metrics [metrics-application]

To power the [Time spent by span type](docs-content://solutions/observability/apps/transactions-2.md) graph, the agent collects summarized metrics about the timings of spans and transactions, broken down by span type.
To power the [Time spent by span type](docs-content://solutions/observability/apm/transactions-ui.md) graph, the agent collects summarized metrics about the timings of spans and transactions, broken down by span type.

**`span.self_time`**
: type: simple timer
Expand Down
4 changes: 2 additions & 2 deletions docs/reference/opentelemetry-bridge.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ mapped_pages:
The Elastic APM OpenTelemetry bridge allows creating Elastic APM `Transactions` and `Spans` using the OpenTelemetry API. OpenTelemetry metrics are also collected. In other words, it translates the calls to the OpenTelemetry API to Elastic APM and thus allows for reusing existing instrumentation.

::::{note}
While manual instrumentations using the OpenTelemetry API can be adapted to the Elastic APM Java agent, it’s not possible to use the instrumentations from [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) in the context of the Elastic APM Java agent.<br> However, you can use [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) (aka the OpenTelemetry Java agent) and send the data to APM Server. See the [OpenTelemetry integration docs](docs-content://solutions/observability/apps/use-opentelemetry-with-apm.md) for more details.
While manual instrumentations using the OpenTelemetry API can be adapted to the Elastic APM Java agent, it’s not possible to use the instrumentations from [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) in the context of the Elastic APM Java agent.<br> However, you can use [opentelemetry-java-instrumentation](https://github.com/open-telemetry/opentelemetry-java-instrumentation) (aka the OpenTelemetry Java agent) and send the data to APM Server. See the [OpenTelemetry integration docs](docs-content://solutions/observability/apm/use-opentelemetry-with-apm.md) for more details.
::::


The first span of a service will be converted to an Elastic APM [`Transaction`](docs-content://solutions/observability/apps/transactions.md), subsequent spans are mapped to Elastic APM [`Span`](docs-content://solutions/observability/apps/spans.md).
The first span of a service will be converted to an Elastic APM [`Transaction`](docs-content://solutions/observability/apm/transactions.md), subsequent spans are mapped to Elastic APM [`Span`](docs-content://solutions/observability/apm/spans.md).


## Getting started [otel-getting-started]
Expand Down
4 changes: 2 additions & 2 deletions docs/reference/opentracing-bridge.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ OpenTracing is discontinued in favor of OpenTelemetry. Consider using the [OpenT

The Elastic APM OpenTracing bridge allows creating Elastic APM `Transactions` and `Spans`, using the OpenTracing API. In other words, it translates the calls to the OpenTracing API to Elastic APM and thus allows for reusing existing instrumentation.

The first span of a service will be converted to an Elastic APM [`Transaction`](docs-content://solutions/observability/apps/transactions.md), subsequent spans are mapped to Elastic APM [`Span`](docs-content://solutions/observability/apps/spans.md).
The first span of a service will be converted to an Elastic APM [`Transaction`](docs-content://solutions/observability/apm/transactions.md), subsequent spans are mapped to Elastic APM [`Span`](docs-content://solutions/observability/apm/spans.md).


## Getting started [opentracing-getting-started]
Expand Down Expand Up @@ -81,7 +81,7 @@ The `Span.setBaggageItem(String, String)` method is not supported. Baggage items

### Logs [opentracing-logs]

Only exception logging is supported. Logging an Exception on the OpenTracing span will create an Elastic APM [`Error`](docs-content://solutions/observability/apps/errors.md). Example:
Only exception logging is supported. Logging an Exception on the OpenTracing span will create an Elastic APM [`Error`](docs-content://solutions/observability/apm/errors.md). Example:

```java
Exception e = ...
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/set-up-apm-java-agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Once you’ve set up the Agent, see the [configuration guide](/reference/configu

## SSL/TLS communication with APM Server [ssl-setup]

If [SSL/TLS communication](docs-content://solutions/observability/apps/apm-agent-tls-communication.md) is enabled on the APM Server, make sure to check out the [SSL setup guide](/reference/ssl-configuration.md).
If [SSL/TLS communication](docs-content://solutions/observability/apm/apm-agent-tls-communication.md) is enabled on the APM Server, make sure to check out the [SSL setup guide](/reference/ssl-configuration.md).


## Monitoring AWS Lambda Functions (Experimental) [aws-lambda-setup]
Expand Down
4 changes: 2 additions & 2 deletions docs/reference/ssl-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ mapped_pages:

# SSL/TLS communication with APM Server [ssl-configuration]

If [SSL/TLS communication](docs-content://solutions/observability/apps/apm-agent-tls-communication.md) is enabled on the APM Server, use the `https` protocol when configuring [`server_url`](/reference/config-reporter.md#config-server-url).
If [SSL/TLS communication](docs-content://solutions/observability/apm/apm-agent-tls-communication.md) is enabled on the APM Server, use the `https` protocol when configuring [`server_url`](/reference/config-reporter.md#config-server-url).


## APM Server certificate authentication [ssl-server-authentication]
Expand All @@ -17,7 +17,7 @@ If the certificate used by the APM Server is self-signed, you would need to add

## Agent certificate authentication [ssl-client-authentication]

If [SSL client authentication](docs-content://solutions/observability/apps/apm-agent-tls-communication.md#apm-agent-client-cert) is enabled on the APM server, the agent will be required to send a proper certificate as part of the HTTPS handshake. There is currently no configuration on the Java agent that supports that and no one straightforward option to do that that is suitable for all cases. Generally speaking, the agent will send a certificate from the JVM keystore. So, if your JVM does not use a keystore already, add the certificate file and the corresponding private key into a keystore and configure your JVM to use it:
If [SSL client authentication](docs-content://solutions/observability/apm/apm-agent-tls-communication.md#apm-agent-client-cert) is enabled on the APM server, the agent will be required to send a proper certificate as part of the HTTPS handshake. There is currently no configuration on the Java agent that supports that and no one straightforward option to do that that is suitable for all cases. Generally speaking, the agent will send a certificate from the JVM keystore. So, if your JVM does not use a keystore already, add the certificate file and the corresponding private key into a keystore and configure your JVM to use it:

```
-Djavax.net.ssl.keyStore=keystore.p12
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/upgrading.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Upgrades between minor versions of the agent, like from 1.1 to 1.2 are always ba
Before upgrading the agent, be sure to review the:

* [Agent release notes](/release-notes/index.md)
* [Agent and Server compatibility chart](docs-content://solutions/observability/apps/apm-agent-compatibility.md)
* [Agent and Server compatibility chart](docs-content://solutions/observability/apm/apm-agent-compatibility.md)


## Recommended upgrade steps [upgrade-steps]
Expand Down