elastic / elastic/apm-agent-java

Sampling profiler - adding configuration to select target directory for profiling files

Offen
#1,950 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
agent-java enhancement
Vorherrschende Sprache
Java
Sterne
593
Forks
337
Ø Merge
1 T. 13 Std.
Gemergte PRs (30 T.)
25

Beschreibung

## Is your feature request related to a problem?

Our sampling profiler creates both JFR and activation-events files as part of its execution process.
By default, these files are created in the default tmp file directory, but there may be cases where this may cause issues.
In one known case, a `java.nio.file.FileSystemException` was encountered when using the sampling profiler on a system that uses Azure file share. This may be related to I/O rate limiting when using such systems with the sampling profiler (which can be I/O intensive), or some other unknown issue like improper support for writing to such file shares through direct byte buffers.
## Describe the solution you'd like

Adding a config option to select alternative directory for the Sampling Profiler files.
## Describe alternatives you've considered

Catch errors and try alternative directories, e.g. a subdirectory in the agent installation directory.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Im Issue werden keine Dateien oder Tests genannt. Beginne damit, den Code des Sampling-Profilers zu finden, der JFR- und activation-events-Dateien erstellt, und verfolge anschließend, wie seine Konfiguration definiert und verwendet wird. Als abgeschlossen gilt die Aufgabe, wenn Benutzer ein alternatives Verzeichnis für beide Profiling-Dateitypen auswählen können und das bestehende Standardverhalten erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
observability-sre
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.