-
Notifications
You must be signed in to change notification settings - Fork 205
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 profiler auto instrumentation #1534
Merged
russcam
merged 42 commits into
elastic:master
from
russcam:feature/profiler-auto-instrumentation
Nov 4, 2021
Merged
Add profiler auto instrumentation #1534
russcam
merged 42 commits into
elastic:master
from
russcam:feature/profiler-auto-instrumentation
Nov 4, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This commit adds profiler auto instrumentation to the Elastic APM .NET agent solution. Profiler auto instrumentation uses the CLR profiling APIs to instrument methods of interest at runtime, by signalling to the runtime to load an unmanaged profiler into the process using profiling environment variables. The approach comprises: 1. A CLR profiler written in Rust 2. Supporting managed assemblies containing methods that will be inserted into rewritten IL and called, to start and end transactions and spans. Initial integrations are available for common ADO.NET providers and Kafka, with more to follow in the future. The profiler auto instrumentation approach is currently an alpha release, as indicated by the version number in src/elastic_apm_profiler/Cargo.toml. Closes elastic#1522
💔 Build Failed
Expand to view the summary
Build stats
Test stats 🧪
Steps errors
Expand to view the steps failures
|
CI is not currently using the linux dockerfile defined in the project
Includes fixes from fork
Build the test projects when running tests
Not needed
The full framework tests are only run on Windows. This removes a compiler warning
/test |
/test |
gregkalapos
approved these changes
Nov 3, 2021
This was referenced Nov 4, 2021
Closed
Closed
4 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit adds profiler auto instrumentation to the
Elastic APM .NET agent solution.
Profiler auto instrumentation uses the CLR profiling APIs
to instrument methods of interest at runtime, by signalling
to the runtime to load an unmanaged profiler into the process
using profiling environment variables.
The approach comprises:
that will be inserted into rewritten IL and called, to start
and end transactions and spans.
Initial integrations are available for common ADO.NET providers
and Kafka, with more to follow in the future.
The profiler auto instrumentation approach is currently
an alpha release, as indicated by the version number
in src/elastic_apm_profiler/Cargo.toml.
Closes #1522