Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
fe707e0
post release: elastic-apm-agent v1.52.1 (#3875)
elastic-observability-automation[bot] Nov 18, 2024
fbbd252
build: bump com.networknt:json-schema-validator from 1.5.2 to 1.5.3 (…
dependabot[bot] Nov 20, 2024
03afb23
ci: configure gh cli for the major update release step (#3876)
v1v Nov 20, 2024
3232fa0
Prevent NPE when using otel metrics bridge asynchronously to agent st…
JonasKunz Nov 21, 2024
a610ffe
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Nov 21, 2024
5a3e1a4
build: bump version.testcontainers from 1.20.1 to 1.20.3 (#3868)
dependabot[bot] Nov 21, 2024
79ac226
[DOCS] Clarify the frequency of config polling (#3799) (#3881)
JonasKunz Nov 21, 2024
787e22f
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Nov 22, 2024
0bc87fd
build: bump actions/attest-build-provenance from 1.4.3 to 1.4.4 in th…
dependabot[bot] Nov 25, 2024
b21eeaf
deps(updatecli): bump all policies (#3886)
elastic-observability-automation[bot] Nov 26, 2024
92432c5
build: bump version.log4j from 2.12.4 to 2.24.2 (#3885)
dependabot[bot] Nov 26, 2024
f5a1756
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Nov 26, 2024
4ba90e9
Revert "deps(updatecli): bump all policies" (#3888)
v1v Nov 27, 2024
706ef6a
github-actions: use v1 for the oblt-actions (#3890)
v1v Nov 28, 2024
dac3e1c
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Nov 29, 2024
65e849f
Set context CL for reliable weblogic connection (#3870)
SylvainJuge Dec 2, 2024
3d99eca
deps(updatecli): bump all policies (#3894)
elastic-observability-automation[bot] Dec 2, 2024
45b136f
build: bump io.micrometer:micrometer-core from 1.13.6 to 1.14.1 (#3899)
dependabot[bot] Dec 3, 2024
22bc49e
build: bump version.aws.sdk from 2.29.5 to 2.29.23 in /apm-agent-plug…
dependabot[bot] Dec 3, 2024
d635da1
ci: use tool-versions file (#3901)
v1v Dec 4, 2024
970eb0f
ci: remove elastic-observability-automation from the triage (#3897)
v1v Dec 6, 2024
75bedc1
build: bump org.apache.logging.log4j:log4j-bom from 2.24.1 to 2.24.2 …
dependabot[bot] Dec 10, 2024
8d1550a
build: bump actions/attest-build-provenance in the github-actions gro…
dependabot[bot] Dec 10, 2024
d8cb1f6
build: bump version.aws.sdk in /apm-agent-plugins (#3895)
dependabot[bot] Dec 11, 2024
52825e7
build: bump org.springframework.boot:spring-boot-dependencies from 2.…
dependabot[bot] Dec 11, 2024
d3fa9fb
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Dec 12, 2024
807b20b
OS/400 avoids using NOFOLLOW_LINKS (#3905)
LikeTheSalad Dec 12, 2024
2d6f6c8
build: bump io.micrometer:micrometer-core from 1.14.1 to 1.14.2 (#3915)
dependabot[bot] Dec 18, 2024
4d19327
build: bump version.byte-buddy from 1.15.10 to 1.15.11 (#3914)
dependabot[bot] Dec 18, 2024
4ee3985
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Dec 18, 2024
5db1bcd
build: bump actions/attest-build-provenance in the github-actions gro…
dependabot[bot] Dec 23, 2024
2cd371b
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Dec 23, 2024
fcc31f3
chore: APM agent json server schema 560cc4b604ede25ec70afd09f213d892f…
elastic-observability-automation[bot] Dec 23, 2024
f8a0bf5
build: bump org.assertj:assertj-core from 3.26.3 to 3.27.0 (#3922)
dependabot[bot] Dec 23, 2024
21aaa92
chore: deps(updatecli): Bump updatecli version to v0.91.0 (#3924)
elastic-observability-automation[bot] Dec 30, 2024
0302029
build: bump io.opentelemetry.semconv:opentelemetry-semconv (#3925)
dependabot[bot] Dec 30, 2024
0953e18
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Dec 31, 2024
773e888
build: bump version.aws.sdk in /apm-agent-plugins (#3929)
dependabot[bot] Jan 2, 2025
458878a
build: bump version.log4j from 2.12.4 to 2.24.3 (#3921)
dependabot[bot] Jan 2, 2025
0083b8a
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Jan 2, 2025
9136751
build: bump version.aws.sdk in /apm-agent-plugins (#3928)
dependabot[bot] Jan 2, 2025
d888d5a
build: bump version.mockito from 5.14.2 to 5.15.2 (#3934)
dependabot[bot] Jan 7, 2025
7b127ba
Add framework info for Spring Webflux (#3936)
Mistborn94 Jan 9, 2025
a4a59a2
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Jan 9, 2025
519ba79
chore: deps(updatecli): Bump updatecli version to v0.92.0 (#3937)
elastic-observability-automation[bot] Jan 15, 2025
41f3d02
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Jan 15, 2025
12351c7
github-actions: ubuntu-20.04 will be fully retired by April 1, 2025 (…
v1v Jan 20, 2025
6bf5b19
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Jan 21, 2025
ec88d18
build: bump org.assertj:assertj-core from 3.27.0 to 3.27.2 (#3938)
dependabot[bot] Jan 21, 2025
03e60d1
build: bump org.springframework.boot:spring-boot-dependencies from 2.…
dependabot[bot] Jan 21, 2025
0807d21
Fix inferred spans logging config option docs (#3948)
JonasKunz Jan 22, 2025
6cc2a84
remove obsolete tomcat docker image (#3940)
SylvainJuge Jan 23, 2025
4c59145
Investigate incorrect CI failure reporting (#3952)
JonasKunz Jan 27, 2025
0a1c239
build: bump actions/attest-build-provenance in the github-actions gro…
dependabot[bot] Jan 27, 2025
b905d5c
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Jan 27, 2025
1b0e4b6
build: bump org.springframework.boot:spring-boot-maven-plugin (#3958)
dependabot[bot] Jan 28, 2025
e7b59b1
Add spring boot 3 tests for rabbitMQ / AMQP spring instrumentation (#…
JonasKunz Jan 29, 2025
02ee66b
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Jan 30, 2025
621efe2
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Jan 30, 2025
0147bf3
build: bump version.aws.sdk in /apm-agent-plugins (#3965)
dependabot[bot] Feb 3, 2025
04aac0c
chore: deps(updatecli): Bump updatecli version to v0.93.0 (#3964)
elastic-observability-automation[bot] Feb 3, 2025
9d16386
github-action: Add AsciiDoc freeze warning (#3959)
reakaleek Feb 3, 2025
ab029a2
build: bump version.byte-buddy from 1.15.11 to 1.17.0 (#3967)
dependabot[bot] Feb 4, 2025
07c9478
fix minor build warnings (#3968)
SylvainJuge Feb 4, 2025
99ad706
build: bump io.micrometer:micrometer-core from 1.14.2 to 1.14.3 (#3971)
dependabot[bot] Feb 11, 2025
3dc6f5e
build: bump com.networknt:json-schema-validator from 1.5.3 to 1.5.5 (…
dependabot[bot] Feb 11, 2025
bba90a9
chore: deps(updatecli): Bump updatecli version to v0.93.1 (#3969)
elastic-observability-automation[bot] Feb 11, 2025
7979ba5
upgrade java8 log4j to latest release (#3972)
jackshirazi Feb 11, 2025
43a2b40
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Feb 13, 2025
9c016e0
build: bump io.micrometer:micrometer-core from 1.14.3 to 1.14.4 (#3976)
dependabot[bot] Feb 18, 2025
d764d1f
build: bump io.opentelemetry.semconv:opentelemetry-semconv from 1.29.…
dependabot[bot] Feb 20, 2025
459e492
chore: deps(updatecli): Bump updatecli version to v0.94.1 (#3978)
elastic-observability-automation[bot] Feb 20, 2025
78a6af1
chore(deps): update docker.elastic.co/wolfi/chainguard-base:latest do…
elastic-renovate-prod[bot] Feb 24, 2025
bdbe219
pre release: elastic-apm-agent v1.52.2 (#3983)
elastic-observability-automation[bot] Feb 27, 2025
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
21 changes: 21 additions & 0 deletions .github/workflows/comment-on-asciidoc-changes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Comment on PR for .asciidoc changes

on:
# We need to use pull_request_target to be able to comment on PRs from forks
pull_request_target:
types:
- synchronize
- opened
- reopened
branches:
- main
- master
- "9.0"

jobs:
comment-on-asciidoc-change:
permissions:
contents: read
pull-requests: write
uses: elastic/docs-builder/.github/workflows/comment-on-asciidoc-changes.yml@main
6 changes: 3 additions & 3 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ jobs:
github-user: ${{ github.actor }}
github-token: ${{ steps.get_token.outputs.token }}

- name: Add community and triage lables
if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]'
- name: Add community and triage labels
if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]' && github.actor != 'elastic-observability-automation[bot]'
uses: actions/github-script@v7
with:
script: |
Expand All @@ -57,7 +57,7 @@ jobs:
labels: ["community", "triage"]
})
- name: Add comment for community PR
if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]'
if: contains(steps.is_elastic_member.outputs.result, 'false') && github.actor != 'dependabot[bot]' && github.actor != 'elastic-renovate-prod[bot]' && github.actor != 'elastic-observability-automation[bot]'
uses: wow-actions/auto-comment@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -216,8 +216,7 @@ jobs:
contains(github.event.pull_request.labels.*.name, 'ci:agent-integration')
|| github.event.pull_request.draft == false
|| inputs.agent_integration_tests_ci == true
# Pinned to ubuntu 20.04 until https://github.com/elastic/apm-agent-java/issues/3035 is solved.
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs: build
steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/microbenchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
timeout-minutes: 5
steps:
- name: Run microbenchmark
uses: elastic/oblt-actions/buildkite/run@v1.5.0
uses: elastic/oblt-actions/buildkite/run@v1
env:
JAVA_VERSION: ${{ inputs.java_version || 'openjdk-17+35-linux' }}
with:
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/release-step-3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
run: tar xvf ${{ env.TARBALL_FILE }}

- name: generate build provenance
uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3
uses: actions/attest-build-provenance@520d128f165991a6c774bcb264f323e3d70747f4 # v2.2.0
with:
subject-path: "${{ github.workspace }}/**/target/*.jar"

Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
uses: ./.github/workflows/maven-goal
with:
command: ./mvnw dependency:purge-local-repository package -pl apm-agent-lambda-layer
- uses: elastic/oblt-actions/aws/auth@v1.10.0
- uses: elastic/oblt-actions/aws/auth@v1
with:
aws-account-id: '267093732750'
- name: Publish
Expand Down Expand Up @@ -240,6 +240,8 @@ jobs:
- name: Update major branch
if: ${{ ! inputs.dry_run }}
run: .ci/release/update-major-branch.sh ${{ env.RELEASE_VERSION }}
env:
GH_TOKEN: ${{ steps.get_token.outputs.token }}

create-github-release:
name: "Create GitHub Release"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
run: tar xvf ${{ env.TARBALL_FILE }}

- name: generate build provenance
uses: actions/attest-build-provenance@1c608d11d69870c2092266b3f9a6f3abbf17002c # v1.4.3
uses: actions/attest-build-provenance@520d128f165991a6c774bcb264f323e3d70747f4 # v2.2.0
with:
subject-path: "${{ github.workspace }}/**/target/*.jar"

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/updatecli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,14 @@ jobs:
- uses: elastic/oblt-actions/updatecli/run@v1
with:
command: --experimental compose diff
version-file: .tool-versions
env:
GITHUB_TOKEN: ${{ steps.get_token.outputs.token }}

- uses: elastic/oblt-actions/updatecli/run@v1
with:
command: --experimental compose apply
version-file: .tool-versions
env:
GITHUB_TOKEN: ${{ steps.get_token.outputs.token }}

Expand Down
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
updatecli v0.94.1
10 changes: 10 additions & 0 deletions CHANGELOG.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,16 @@ Use subheadings with the "=====" level for adding notes for unreleased changes:
[[release-notes-1.x]]
=== Java Agent version 1.x

[[release-notes-1.52.2]]
==== 1.52.2 - 2025/02/27

[float]
===== Bug fixes
* Prevent NPE in OpenTelemetry metrics bridge in case of asynchronous agent start - {pull}3880[#3880]
* Fix random Weblogic ClassNotFoundException related to thread context classloader - {pull}3870[#3870]
* Skips using NOFOLLOW_LINKS file open option when running on OS/400 as it's unsupported there - {pull}3905[#3905]
* Add framework name and version for Spring Webflux transactions - {pull}3936[#3936]

[[release-notes-1.52.1]]
==== 1.52.1 - 2024/11/18

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.wolfi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:26caa6beaee2bbf739a82e91a35173892dfe888d0a744b9e46cdc19a90d8656f
FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:0801a437e721bebdd2d5be62e3f63f60fc9d1d82efacabe4c5b8792d74ae7006
RUN mkdir /usr/agent
ARG JAR_FILE
ARG HANDLER_FILE
Expand Down
2 changes: 1 addition & 1 deletion apm-agent-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>

<artifactId>apm-agent-api</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion apm-agent-attach-cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
5 changes: 1 addition & 4 deletions apm-agent-attach/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>

<artifactId>apm-agent-attach</artifactId>
Expand Down Expand Up @@ -59,9 +59,6 @@
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<dependencies>
Expand Down
2 changes: 1 addition & 1 deletion apm-agent-benchmarks/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>

<artifactId>apm-agent-benchmarks</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion apm-agent-bootstrap/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>

<artifactId>apm-agent-bootstrap</artifactId>
Expand Down
4 changes: 2 additions & 2 deletions apm-agent-builds/apm-agent-java8/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>co.elastic.apm</groupId>
<artifactId>apm-agent-builds</artifactId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>

<artifactId>apm-agent-java8</artifactId>
Expand All @@ -21,7 +21,7 @@
<!-- Upgrade log4j2 to non vulnerable version -->
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>2.24.1</version>
<version>2.24.3</version>
<scope>import</scope>
<type>pom</type>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion apm-agent-builds/apm-agent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>co.elastic.apm</groupId>
<artifactId>apm-agent-builds</artifactId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>

<artifactId>apm-agent</artifactId>
Expand Down
4 changes: 2 additions & 2 deletions apm-agent-builds/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down Expand Up @@ -314,7 +314,7 @@
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>apm-rabbitmq-spring</artifactId>
<artifactId>apm-rabbitmq-spring5</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion apm-agent-cached-lookup-key/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion apm-agent-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public class JvmRuntimeInfo {
private final boolean isHpUx;
private final boolean isCoretto;
private final boolean isZos;
private final boolean isOs400;

public static JvmRuntimeInfo ofCurrentVM() {
return CURRENT_VM;
Expand Down Expand Up @@ -68,6 +69,7 @@ private JvmRuntimeInfo(String version, String vmName, String vendorName, @Nullab
isHpUx = version.endsWith("-hp-ux");
isCoretto = vendorName != null && vendorName.contains("Amazon");
isZos = (osName != null) && osName.toLowerCase().contains("z/os");
isOs400 = (osName != null) && osName.toLowerCase().contains("os/400");

if (isHpUx) {
// remove extra hp-ux suffix for parsing
Expand Down Expand Up @@ -153,7 +155,7 @@ public boolean isJ9VM() {
return isJ9;
}

public boolean isHpUx(){
public boolean isHpUx() {
return isHpUx;
}

Expand All @@ -173,6 +175,10 @@ public boolean isZos() {
return isZos;
}

public boolean isOs400() {
return isOs400;
}

@Override
public String toString() {
return String.format("%s %s %s", javaVersion, javaVmName, javaVmVersion);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ public class AgentInfo {
"com.lmax.disruptor",
"com.dslplatform.json",
"com.googlecode.concurrentlinkedhashmap",
"co.elastic.otel"
"co.elastic.otel",
"codes.rafael.asmjdkbridge"
));

private static final Set<String> agentRootPackages = new HashSet<>(Arrays.asList(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,10 @@ public static synchronized Path extractResourceToDirectory(String resource, Stri
}
}
} catch (FileAlreadyExistsException e) {
try (FileChannel channel = JvmRuntimeInfo.ofCurrentVM().isZos() ?
FileChannel.open(tempFile, READ) :
FileChannel.open(tempFile, READ, NOFOLLOW_LINKS)) {
JvmRuntimeInfo jvmRuntimeInfo = JvmRuntimeInfo.ofCurrentVM();
try (FileChannel channel = (jvmRuntimeInfo.isZos() || jvmRuntimeInfo.isOs400()) ?
FileChannel.open(tempFile, READ) :
FileChannel.open(tempFile, READ, NOFOLLOW_LINKS)) {
// wait until other JVM instances have fully written the file
// multiple JVMs can read the file at the same time
try (FileLock readLock = channel.lock(0, Long.MAX_VALUE, true)) {
Expand Down
7 changes: 1 addition & 6 deletions apm-agent-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>apm-agent-parent</artifactId>
<groupId>co.elastic.apm</groupId>
<version>1.52.1</version>
<version>1.52.2</version>
</parent>

<artifactId>apm-agent-core</artifactId>
Expand Down Expand Up @@ -58,11 +58,6 @@
<artifactId>jctools-core</artifactId>
<version>4.0.5</version>
</dependency>
<dependency>
<groupId>com.googlecode.concurrentlinkedhashmap</groupId>
<artifactId>concurrentlinkedhashmap-lru</artifactId>
<version>1.4.2</version>
</dependency>

<dependency>
<groupId>org.apache.logging.log4j</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ public class IndyBootstrap {
static Method bootstrapLoggingMethod;

private static final CallDepth callDepth = CallDepth.get(IndyBootstrap.class);
private static final CallDepth loggingForNestedCall = CallDepth.get("indy-bootstrap-nested-logging");

private static Logger logger() {
// must not be a static field as it would initialize logging before it's ready
Expand Down Expand Up @@ -430,7 +431,12 @@ private static ConstantCallSite internalBootstrap(MethodHandles.Lookup lookup, S
// avoid re-entrancy and stack overflow errors
// may happen when bootstrapping an instrumentation that also gets triggered during the bootstrap
// for example, adding correlation ids to the thread context when executing logger.debug.
logger().warn("Nested instrumented invokedynamic instruction linkage detected", new Throwable());
if (!loggingForNestedCall.isNestedCallAndIncrement()) {
// We might be unlucky and cause an infinite recurison through logger()
// for this reason we have the loggingForNestedCall in place to prevent this recursion
logger().warn("Nested instrumented invokedynamic instruction linkage detected", new Throwable());
}
loggingForNestedCall.decrement();
return null;
}
String adviceClassName = (String) args[0];
Expand Down Expand Up @@ -498,7 +504,7 @@ private static ConstantCallSite internalBootstrap(MethodHandles.Lookup lookup, S
// When calling findStatic now, the lookup class will be one that is loaded by the plugin class loader
MethodHandle methodHandle = indyLookup.findStatic(adviceInPluginCL, adviceMethodName, adviceMethodType);
return new ConstantCallSite(methodHandle);
} catch (Exception e) {
} catch (Throwable e) {
logger().error(e.getMessage(), e);
return null;
} finally {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,13 @@
import co.elastic.apm.agent.matcher.MethodMatcherValueConverter;
import co.elastic.apm.agent.sdk.logging.Logger;
import co.elastic.apm.agent.sdk.logging.LoggerFactory;
import co.elastic.apm.agent.tracer.configuration.*;
import co.elastic.apm.agent.tracer.configuration.CoreConfiguration;
import co.elastic.apm.agent.tracer.configuration.ListValueConverter;
import co.elastic.apm.agent.tracer.configuration.RegexValidator;
import co.elastic.apm.agent.tracer.configuration.RoundedDoubleConverter;
import co.elastic.apm.agent.tracer.configuration.TimeDuration;
import co.elastic.apm.agent.tracer.configuration.TimeDurationValueConverter;
import co.elastic.apm.agent.tracer.configuration.WildcardMatcherValueConverter;
import org.stagemonitor.configuration.ConfigurationOption;
import org.stagemonitor.configuration.ConfigurationOptionProvider;
import org.stagemonitor.configuration.converter.AbstractValueConverter;
Expand Down Expand Up @@ -696,7 +702,8 @@ public String toSafeString(List<WildcardMatcher> value) {
.key("central_config")
.tags("added[1.8.0]")
.configurationCategory(CORE_CATEGORY)
.description("When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration.")
.description("When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration.\n"
+ "The frequency of the periodic request is driven by the `Cache-Control` header returned from APM Server/Integration, falling back to 5 minutes if not defined.")
.dynamic(true)
.buildWithDefault(true);

Expand Down
Loading
Loading