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
path: root/lib/peek
AgeCommit message (Collapse)Author
2023-11-10Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2023-08-25Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2023-08-03Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2023-03-21Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2023-01-18Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2022-09-06Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2022-03-17Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2022-02-24Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-09-21Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-08-06Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-07-28Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-06-04Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-05-26Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-05-12Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-03-24Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-03-05Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-02-10Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-01-29Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2021-01-22Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-10-05Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-09-30Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-07-15Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-06-16Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-06-04Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-05-28Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-05-22Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-05-21Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2020-03-24Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-12-27Add latest changes from gitlab-org/gitlab@masterGitLab Bot
2019-09-03Fix performance bar thresholdsSean McGivern
These were written in seconds but are supposed to be in milliseconds. The total Gitaly time was wrong for the same reason.
2019-09-02Merge branch 'fix-peek-on-puma' into 'master'Rémy Coutable
Fix Peek on Puma Closes #66528 See merge request gitlab-org/gitlab-ce!32213
2019-08-28Make performance bar enabled checks consistentSean McGivern
Previously, we called the `peek_enabled?` method like so: prepend_before_action :set_peek_request_id, if: :peek_enabled? Now we don't have a `set_peek_request_id` method, so we don't need that line. However, the `peek_enabled?` part had a side-effect: it would also populate the request store cache for whether the performance bar was enabled for the current request or not. This commit makes that side-effect explicit, and replaces all uses of `peek_enabled?` with the more explicit `Gitlab::PerformanceBar.enabled_for_request?`. There is one spec that still sets `SafeRequestStore[:peek_enabled]` directly, because it is contrasting behaviour with and without a request store enabled. The upshot is: 1. We still set the value in one place. We make it more explicit that that's what we're doing. 2. Reading that value uses a consistent method so it's easier to find in future.
2019-08-28Return warnings for performance bar from backendSean McGivern
For each DetailedView subclass, we add a `warnings` array to: 1. The top-level response. 2. Each individual call under the `details` key. We use the `.thresholds` hash on the DetailedView to determine what's a warning. If that hash is empty (the default), then the warnings array will always be empty.
2019-08-03Only track Redis calls if Peek is enabledStan Hu
In dev environments, Sidekiq was encountering the message: Circular dependency detected while autoloading constant Gitlab::Profiler This saves some overhead during normal usage.
2019-08-01Fix SystemStackError when Peek bar is active with Rugged callsStan Hu
Peek attempts to serialize results with `to_json`, which calls `ActiveSupport::JSON`. If an object is passed to `to_json` that contains instance variables, `ActiveSupport` will attempt to recursively traverse all variables. The problem is that we can get into an infinite loop if the instance references to an instance that references to something else that points back to the same instance. To avoid this mess, we just call `to_s` on the object. It appears only `Gitlab::Git::Repository` and `::Repository` are the culprits here. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65404
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-24Use a base class for Peek viewsStan Hu
Introduce a `DetailedView` base class, which is inherited by the Gitaly, Redis, and Rugged views. This reduces code duplication.
2019-07-24Hide Rugged data if it doesn't existStan Hu
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-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-09Perform more redactions in Redis performance bar tracesStan Hu
HMSET and AUTH commands were not properly redacted. This commit does that and adds a test. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/64309
2019-07-03Add Redis call details in Peek performance barStan Hu
Since Redis timings appear to be increasing in production, this change makes it easier to see what exactly which queries are being called and where. This is done by prepending modules in peek-redis to store the call details. This commit redact values for all SET commands (e.g. HMSET, GETSET, etc.).
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-11-20Fix bug where ID is not setZeger-Jan van de Weg
On HEAD~ we remove the ID from the class, which created a bug. Given we don't need the ID anymore, it has been removed and simplified.
2018-10-15Merge branch '52421-show-canary-no-canary-in-the-performance-bar' into 'master'Sean McGivern
Resolve "Show canary / no-canary in the performance bar" Closes #52421 See merge request gitlab-org/gitlab-ce!22222
2018-10-12Show if the host is a canary host in the perf barSean McGivern
If the request came from a canary host, show this in the performance bar by: 1. Adding a bird emoji. 2. Colouring the hostname yellow.
2018-10-08Enable even more frozen string in lib/**/*.rbgfyoung
Enables frozen string for the following files: * lib/generators/**/*.rb * lib/gitaly/**/*.rb * lib/google_api/**/*.rb * lib/haml_lint/**/*.rb * lib/json_web_token/**/*.rb * lib/mattermost/**/*.rb * lib/microsoft_teams/**/*.rb * lib/object_storage/**/*.rb * lib/omni_auth/**/*.rb * lib/peek/**/*.rb * lib/rouge/**/*.rb * lib/rspec_flaky/**/*.rb * lib/system_check/**/*.rb Partially addresses #47424.
2018-06-14Resolve "Performance bar Gitaly modal is hard to read"Annabel Gray