-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Inferred spans extension #47
Conversation
@@ -0,0 +1,396 @@ | |||
/* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file has also been copied unchaged.
|
||
void clear(); | ||
|
||
public static <T extends Recyclable> ObjectPool<T> createRecyclable( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method was the only change/addition in the pooling
package, all other classes have been copied unchanged.
import java.security.NoSuchAlgorithmException; | ||
import java.util.EnumSet; | ||
|
||
public class ResourceExtractionUtil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This class also has been copied unchanged from the elastic apm agent
Related apm-data PR: apm-data/pull/185 |
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/InferredSpansProcessor.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/InferredSpansProcessor.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/NanoClock.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/ProfilingActivationListener.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/SpanAnchoredNanoClock.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/StackFrame.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/asyncprofiler/AsyncProfiler.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/collections/LongHashSet.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/main/java/co/elastic/apm/otel/profiler/pooling/AbstractObjectPool.java
Outdated
Show resolved
Hide resolved
Multiple copyright headers
result.fail(); | ||
} | ||
}); | ||
// TODO: Replace with co.elastic.otel.util.ExecutorUtils |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[minor] why not do the change right now ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ExecutorUtils
is not yet visible from here, because it is in the custom
subproject. We'll need to move ExecutorUtils
to a common project first.
inferred-spans/src/main/java/co/elastic/otel/profiler/collections/LongHashSet.java
Outdated
Show resolved
Hide resolved
inferred-spans/src/test/java/co/elastic/otel/profiler/asyncprofiler/AsyncProfilerUpgrader.java
Outdated
Show resolved
Hide resolved
Co-authored-by: SylvainJuge <[email protected]>
# Conflicts: # gradle/libs.versions.toml
Adds the inferred spans feature from the previous elastic-apm-agent as a standalone OTel-extension.
Closes #23. Autoconfiguration and a
README.md
as documentation will be added with #29 .The initial commit of this PR is an unchanged copy of all the files from the original profiling plugin, reformatted with
spotless
. This should allow you to ignore this commit when reviewing to focus on the more relevant remainign diff.Below is a sample application on how this extension can be used and tested.
I've also used this example application to manually verify that the
backup diagnostic files
feature works and the diagnostic files can be replayed.Sample app