Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-28Add top-level warnings key to performance bar responseSean McGivern
This key is useful to reduce the amount of logic needed on the frontend: if `has_warnings` is true, then the frontend knows that the request in question has warnings for some metric.
2019-08-06Remove GC metrics from performance barSean McGivern
These were disabled in production mode, but that also broke the rest of the performance bar. As they were only enabled in development mode, we can just remove them for now.
2019-08-02Call `GC::Profiler.clear` only in one placeAleksei Lipniagov
Previously, both InfluxSampler and RubySampler were relying on the `GC::Profiler.total_time` data which is the sum over the list of captured GC events. Also, both samplers asynchronously called `GC::Profiler.clear` which led to incorrect metric data because each sampler has the wrong assumption it is the only object who calls `GC::Profiler.clear` and thus could rely on the gathered results between such calls. We should ensure that `GC::Profiler.total_time` is called only in one place making it possible to rely on accumulated data between such wipes. Also, we need to track the amount of profiler reports we lost.
2019-07-30Remove line profiler from performance barSean McGivern
1. The output isn't great. It can be hard to find hotspots and, even when you do find them, to find why those are hotspots. 2. It uses some jQuery-specific frontend code which we can remove now that we don't have this any more. 3. It's only possible to profile the initial request, not any subsequent AJAX requests.
2019-07-26Replace peek-pg with our own implementationSean McGivern
This uses an ActiveRecord subscriber to get queries and calculate the total query time from that. This means that the total will always be consistent with the queries in the table. It does however mean that we could potentially miss some queries that don't go through ActiveRecord. Making this change also allows us to unify the response JSON a little bit, making the frontend slightly simpler as a result.
2019-07-24Add Rugged calls to performance barStan Hu
This will help diagnose the source of excessive I/O from Rugged calls. To implement this, we need to obtain the full list of arguments sent to each request method.
2019-07-23Remove dead MySQL codeNick Thomas
None of this code can be reached any more, so it can all be removed
2019-07-18Fix inconsistency in Redis performance bar statsStan Hu
peek-redis resets its counters at the start of an ActionController notification (`start_processing.action_controller`), which causes it to miss some Redis queries that precede it, such as the database load balancer and Rack Attack queries. This produces inconsistencies in the performance bar between the number of calls and their durations with the actual calls in the detailed view. We fix this by getting rid of peek-redis in favor of consolidating all logic into the `RedisDetailed` view, which tracks Redis queries using `RequestStore`. This has the nice property of removing thread-specific counters as well. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/64707
2019-07-03Only save Peek session in Redis when Peek is enabledRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2019-05-03Include all queries in the performance bar summarySean McGivern
Rails 5.1's `exec_no_cache` doesn't call `async_exec` any more, but `exec_params`: https://github.com/rails/rails/pull/33188 This means that the DB summary in the performance bar was wrong. The individual query details were still correct (we subscribe to ActiveRecord events for those). We can remove this once the upstream PR to peek-pg is in a release and we update to use that release.
2019-04-18Migrate correlation and tracing code to LabKitAndrew Newdigate
This change is a fairly straightforward refactor to extract the tracing and correlation-id code from the gitlab rails codebase into the new LabKit-Ruby project. The corresponding import into LabKit-Ruby was in https://gitlab.com/gitlab-org/labkit-ruby/merge_requests/1 The code itself remains very similar for now. Extracting it allows us to reuse it in other projects, such as Gitaly-Ruby. This will give us the advantages of correlation-ids and distributed tracing in that project too.
2019-02-08Provide a performance bar link to the Jaeger UIAndrew Newdigate
Jaeger is a distributed tracing tool. This change adds a "Tracing" link to the performance bar to directly link to a current request in Jaeger. This is useful for two reasons: 1 - it provides affordance to developers that the distributed tracing tool is available, so that it can quickly be discovered. 2 - it allows developers to quickly find a specific trace without having to manually navigate to a second user-interface.
2018-09-12Remove peek-sidekiqJan Provaznik
The reason for removing this gem is that it's not being maintained anymore. It uses `alias_method_chain` which is deprecated in rails 5 (and removed in 5.1), the issue is pending upstream (including a fix) - https://github.com/suranyami/peek-sidekiq/issues/3 for a while. Peek-sidekiq is used in performance bar for displaying sidekiq statistics.
2018-04-26remove peek performance_barPirate Praveen
Signed-off-by: Rémy Coutable <remy@rymai.me>
2018-03-13Make Gitaly more prominent in the performance barSean McGivern
This is as important as SQL timings, and much more important most of the time than GC, Redis, or Sidekiq.
2018-01-30Don't assume postgresql in two initializersNick Thomas
2018-01-11Adds Rubocop rule for line break around conditionals🙈 jacopo beschi 🙉
2017-12-22Use gitlab-stylesRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-10-23Add Gitaly data to the Peek performance barZeger-Jan van de Weg
2017-07-18Bump peek-performance_bar to 1.3.0 and get rid of a monkey-patchRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-07-11Support multiple Redis instances based on queue typePaul Charlton
2017-06-09Ensure peek-performance_bar doesn't break existing functionalitiesRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-09Fix linting, route, and specsRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-09Fix Rubocop offenses, improve SQL duration format and changelog entryRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-09Small adjustmentsRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-09Display queries duration in performance bar queries modalRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-09Don't use Pygment,rb, use Rouge instead, and put peek-pg in the :postgres groupRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-09Store Sherlock::Query in Peek adapterRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-06-09New performance bar that can be enabled with the `p b` shortcutRémy Coutable
Signed-off-by: Rémy Coutable <remy@rymai.me>