-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
ci: Bootstrap initial AppMap archive #130
Conversation
AppMap configuration reportSuccess! Your project has been successfully configured to record AppMaps when The following sections contain detailed information about the AppMap integration with your project.
|
Number of AppMaps | Type of recording |
---|---|
42 | minitest |
Code recording settings
Your appmap.yml configuration file specifies all the code that you want AppMap to instrument and record.
By default, sub-modules of any requested code are recorded as well. In this project, the packages specified
in appmap.yml are:
- path: app
- path: lib
By applying this configuration to your ruby project, AppMap has recorded the
following packages and modules:
app/views
Web service API profile
When you record AppMaps that include HTTP server requests, AppMap automatically generates OpenAPI definitions
based on the observed data.
43% of the AppMaps in this project contain at least one HTTP server request.
43% of the AppMaps in this project contain more than one HTTP server request.
Here's a summary of the web service routes that are provided by this project:
/assets
/basic_command
/tests
/tests/method
/tests/{id}
And here are the different content types served by the API:
Response Content Type | Number of Routes |
---|
As you change your code and tests, AppMap will automatically update the OpenAPI definitions.
You'll see a summary of the REST API changes in each pull request.
SQL profile
When your code makes a SQL query, AppMap records the SQL query in detail. It even parses the queries
to figure out which tables your app is using, and how it's using them.
90% of the AppMaps in this project contain at least one SQL query.
90% of the AppMaps in this project contain more than one SQL query.
Here are the SQL tables that are present in the observed queries:
sqlite_master
sqlite_temp_master
users
Large AppMaps
Some tests can produce large AppMaps, because they exercise longer or highly repeated code paths.
AppMap runtime code review is optimized for AppMaps that
are less than 10 MB in size. You may want to consider disabling AppMap for tests that produce
large AppMaps, since they can slow down your CI job and they are hard to analyze. Also, note that
AppMaps greater than 50 MB in size will not be analyzed at all.
You can disable recording of a test case by adding a code comment or annotation to the test case file.
Learn how by visiting the
reference documentation for appmap-ruby
.
Here are the largest AppMaps that are greater than 1 MB:
Size | Location | Test name | AppMap path |
---|---|---|---|
3.98 MB | test/system/tests/drivers/window_test.rb:27 | Drivers_window command that ALLOWS the rails controller action to perform | tmp/appmap/minitest/Drivers_window_command_that_ALLOWS_the_rails_controller_action_to_perform.appmap.json |
3.24 MB | test/system/basic_commands/decrement_no_frame_test.rb:23 | Decrement_no_frame decrement 3 times | tmp/appmap/minitest/Decrement_no_frame_decrement_3_times.appmap.json |
2.3 MB | test/system/basic_commands/increment_frame_test.rb:23 | Increment_frame increment 3 times | tmp/appmap/minitest/Increment_frame_increment_3_times.appmap.json |
2.3 MB | test/system/basic_commands/increment_no_frame_test.rb:23 | Increment_no_frame increment 3 times | tmp/appmap/minitest/Increment_no_frame_increment_3_times.appmap.json |
2.3 MB | test/system/basic_commands/decrement_frame_test.rb:23 | Decrement_frame decrement 3 times | tmp/appmap/minitest/Decrement_frame_decrement_3_times.appmap.json |
2.29 MB | test/system/tests/drivers/frame_test.rb:27 | Drivers_frame command that ALLOWS the rails controller action to perform | tmp/appmap/minitest/Drivers_frame_command_that_ALLOWS_the_rails_controller_action_to_perform.appmap.json |
2.29 MB | test/system/tests/drivers/method_test.rb:27 | Drivers_method command that ALLOWS the rails controller action to perform | tmp/appmap/minitest/Drivers_method_command_that_ALLOWS_the_rails_controller_action_to_perform.appmap.json |
2.25 MB | test/system/tests/drivers/form_test.rb:8 | Drivers_form command that PREVENTS the rails controller action from performing | tmp/appmap/minitest/Drivers_form_command_that_PREVENTS_the_rails_controller_action_from_performing.appmap.json |
2.22 MB | test/system/tests/drivers/window_test.rb:8 | Drivers_window command that PREVENTS the rails controller action from performing | tmp/appmap/minitest/Drivers_window_command_that_PREVENTS_the_rails_controller_action_from_performing.appmap.json |
2.19 MB | test/system/tests/drivers/method_test.rb:8 | Drivers_method command that PREVENTS the rails controller action from performing | tmp/appmap/minitest/Drivers_method_command_that_PREVENTS_the_rails_controller_action_from_performing.appmap.json |
2.18 MB | test/system/tests/drivers/frame_test.rb:8 | Drivers_frame command that PREVENTS the rails controller action from performing | tmp/appmap/minitest/Drivers_frame_command_that_PREVENTS_the_rails_controller_action_from_performing.appmap.json |
2.13 MB | test/system/tests/drivers/form_test.rb:27 | Drivers_form command that ALLOWS the rails controller action to perform | tmp/appmap/minitest/Drivers_form_command_that_ALLOWS_the_rails_controller_action_to_perform.appmap.json |
1.87 MB | test/system/basic_commands/decrement_no_frame_test.rb:8 | Decrement_no_frame decrement once | tmp/appmap/minitest/Decrement_no_frame_decrement_once.appmap.json |
1.87 MB | test/system/basic_commands/increment_frame_test.rb:8 | Increment_frame increment once | tmp/appmap/minitest/Increment_frame_increment_once.appmap.json |
1.87 MB | test/system/basic_commands/increment_no_frame_test.rb:8 | Increment_no_frame increment once | tmp/appmap/minitest/Increment_no_frame_increment_once.appmap.json |
1.86 MB | test/system/basic_commands/decrement_frame_test.rb:8 | Decrement_frame decrement once | tmp/appmap/minitest/Decrement_frame_decrement_once.appmap.json |
1.68 MB | test/system/turbo_boost_globals_test.rb:6 | Turbo_boost_globals turbo boost commands loaded and configured | tmp/appmap/minitest/Turbo_boost_globals_turbo_boost_commands_loaded_and_configured.appmap.json |
1.66 MB | test/system/turbo_boost_globals_test.rb:25 | Turbo_boost_globals turbo boost state | tmp/appmap/minitest/Turbo_boost_globals_turbo_boost_state.appmap.json |
Frequently recorded functions
The AppMap configuration file appmap.yml specifies which functions to record.
Some functions may be called very frequently, adding little to the understandability of the code
while adding a lot of overhead to the AppMap recording process.
Note that some functions are automatically added to the recording by
the AppMap agent. For example, the AppMap agent automatically records functions that are
relevant to detecting security flaws and performance problems. If you disable recording of these
functions, then some problems may become undetectable.
You can disable recording of a class or function by updating the appmap.yml configuration file.
Learn how by visiting the
reference documentation for appmap-ruby
.
Here are some of the most frequently recorded functions in this project:
Number of occurrences | Function name | Source location |
---|---|---|
5482 | String#unpack1 | <internal:pack>:280 |
5092 | JSON::Ext::Parser#parse | JSON::Ext::Parser#parse |
4044 | Logger::LogDevice#write | /opt/hostedtoolcache/Ruby/3.0.6/x64/lib/ruby/3.0.0/logger/log_device.rb:31 |
3615 | ActionView::Resolver#find_all | vendor/bundle/ruby/3.0.0/gems/actionview-7.1.3.2/lib/action_view/template/resolver.rb:63 |
3236 | Array#pack | <internal:pack>:133 |
2309 | String#unpack | <internal:pack>:256 |
2199 | JSON::Ext::Generator::State#generate | JSON::Ext::Generator::State#generate |
1548 | ActiveSupport::Callbacks::CallbackSequence#invoke_before | vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.3.2/lib/active_support/callbacks.rb:597 |
1548 | ActiveSupport::Callbacks::CallbackSequence#invoke_after | vendor/bundle/ruby/3.0.0/gems/activesupport-7.1.3.2/lib/active_support/callbacks.rb:601 |
Learn more
To learn more about AppMap, visit
appmap.io/docs.
AppMap project summaryAppMap runtime code review scans the AppMaps for security flaws, performance AppMap didn't detect any flaws or problems in the runtime code review of your project. Note that AppMap runtime code review is optimized for projects that use SQL databases, If your project doesn't do any of these things, then AppMap runtime code review will be primarily
|
AppMap runtime code review
|
No description provided.