-
Notifications
You must be signed in to change notification settings - Fork 15
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
Make more refinements #24
Merged
Merged
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
josh-127
force-pushed
the
multi/final-touches
branch
3 times, most recently
from
July 24, 2020 20:35
5b322e1
to
d65cc59
Compare
AgentLoader is now serving many different tracers, so it makes sense to decouple this class from the method tracer. This organizes the project into a small and tidy tree of package dependencies.
* Autocomplete for `untrace` will now only display classes that are currently or have previously been traced. * Added wildcard (`*`) autocomplete suggestion.
There were two partial tracing bugs. ---------- Steps to reproduce the first bug: 1. Open up method tracer 2. Run "trace count tracer" Result: Tracer will also trace wall time, even though only we only intended to trace call count. Cause: traceAndRetransform on exact methods will always call TracerConfig.trace will TracepointFlags.TRACE_ALL as the parameter. Fix: Added a flags parameter to traceAndRetransform ---------- Steps to reproduce the second bug: 1. Open up method tracer 2. Run "trace count tracer" Result: Tracer will corrupt the wall time value. Cause: CallTreeBuilder::buildAndReset accumulated wall time values regardless of tracepoint flag values. Fix: Checked tracepoint flags before accumulating wall time values.
Pressing the up arrow recalls the previously ran command, while the down arrow key recalls the next.
josh-127
force-pushed
the
multi/final-touches
branch
from
July 28, 2020 15:27
8ad131c
to
12c761d
Compare
josh-127
force-pushed
the
multi/final-touches
branch
from
July 29, 2020 16:31
15670bb
to
ac3b8f1
Compare
gharrma
reviewed
Jul 30, 2020
src/main/java/com/google/idea/perf/methodtracer/MethodTracerController.kt
Show resolved
Hide resolved
src/main/java/com/google/idea/perf/methodtracer/MethodTracerController.kt
Show resolved
Hide resolved
* Fixed key binding for recalling next command * Fixed all methods getting traced when tracing the same method twice. * Fixed instrumentation getting initialized more than once
josh-127
force-pushed
the
multi/final-touches
branch
from
July 30, 2020 16:37
ca07b7b
to
434bc8e
Compare
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.
Description
This pull request includes various improvements, bug fixes, and refactorings.
Additions
Added command history
Pressing the up arrow recalls the previously ran command, while the down arrow key recalls the next.
Changes
Decoupled
AgentLoader
from method tracerAgentLoader
is now serving many different tracers, it makes sense to decouple this class from the method tracer. This keep the project organized into a small and tidy tree of package dependencies.Replaced global fuzzy searcher function with local instances
This was just a small tweak, and it was made to reduce the API surface area of
Matcher.kt
.Improved method tracer autocomplete
untrace
will now only display classees that are currently or have previously been traced.*
) autocomplete suggestion.Replace CLI enter key hack with a proper solution
TextFieldWithCompletion
instances now use one line mode and can respond to enter key events. This will be useful later on for command history, which requires listening to the up and down arrow keys.Bug Fixes
Fix partial tracing not working on exact methods
Fix partial tracing corrupting wall time values
Fix parameter value tracing corner case
f(2)
is 15 milliseconds:MethodCall
, whereMethodCall
consists of a tracepoint and a list of arguments.ArgSet
s have been removed.