Skip to content
Snippets Groups Projects
  1. Sep 19, 2019
  2. Aug 28, 2019
    • Andrew Newdigate's avatar
      Rename Labkit::Tracing::GRPCInterceptor to GRPC::ClientInterceptor · e369dee8
      Andrew Newdigate authored and Nick Thomas's avatar Nick Thomas committed
      The original name has been deprecated
      e369dee8
    • Sean McGivern's avatar
      Make performance bar enabled checks consistent · f9c456bd
      Sean McGivern authored
      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.
      f9c456bd
  3. Aug 23, 2019
  4. Aug 09, 2019
    • Stan Hu's avatar
      Add Gitaly and Rugged call timing in Sidekiq logs · a74396dc
      Stan Hu authored
      This will help identify Sidekiq jobs that invoke excessive number of
      filesystem access.
      
      The timing data is stored in `RequestStore`, but this is only active
      within the middleware and is not directly accessible to the Sidekiq
      logger. However, it is possible for the middleware to modify the job
      hash to pass this data along to the logger.
      a74396dc
  5. Jul 30, 2019
  6. Jul 19, 2019
  7. Jul 16, 2019
  8. Jul 15, 2019
  9. Jul 10, 2019
  10. Jul 09, 2019
  11. Jul 05, 2019
  12. Jun 18, 2019
  13. Jun 03, 2019
  14. May 07, 2019
  15. May 05, 2019
  16. Apr 29, 2019
  17. Apr 18, 2019
  18. Apr 17, 2019
    • Stan Hu's avatar
      Add backtrace to Gitaly performance bar · fbb3fd13
      Stan Hu authored
      This adds the backtrace to a table to show exactly where the Gitaly call
      was made to make it easier to understand where the call originated.
      
      This change also collapses the details in the same row to improve the
      usability when there is a backtrace.
      fbb3fd13
  19. Mar 28, 2019
  20. Mar 27, 2019
    • Stan Hu's avatar
      Guard against nested allows with ref name caching · 7a2325e4
      Stan Hu authored
      This avoids the case:
      
      ```
      allow_ref_name_caching do
        allow_ref_name_caching do
          # using-feature
        end
      end
      ```
      7a2325e4
    • Stan Hu's avatar
      Allow ref name caching CommitService#find_commit · db759c5d
      Stan Hu authored
      For a given merge request, it's quite common to see duplicate FindCommit
      Gitaly requests because the Gitaly CommitService caches the request by
      the commit SHA, not by the ref name. However, most of the duplicate
      requests use the ref name, so the cache is never actually used in
      practice. This leads to unnecessary requests that slow performance.
      
      This commit allows certain callers to bypass the ref name to
      OID conversion in the cache. We don't do this by default because it's
      possible the tip of the branch changes during the commit, which
      would cause the caller to get stale data.
      
      This commit also forces the Ci::Pipeline to use the full ref name
      so that caching can work for merge requests.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/57083
      db759c5d
    • Stan Hu's avatar
      Log Gitaly RPC duration to api_json.log and production_json.log · 74ff33a3
      Stan Hu authored
      This makes it easier to debug Gitaly performance issues in the field.
      
      This commit also makes the tracking of query time thread-safe via
      RequestStore.
      74ff33a3
  21. Mar 13, 2019
  22. Mar 11, 2019
    • Mark Lapierre's avatar
      Add feature flag to enforce gitaly request limits · b3f54b3d
      Mark Lapierre authored
      We typically don't want to enforce request limits in production
      However, we have some production-like test environments, i.e., ones
      where `Rails.env.production?` returns `true`. We do want to be able
      to check if the limit is being exceeded while testing in those
      environments.
      b3f54b3d
  23. Mar 06, 2019
  24. Mar 05, 2019
  25. Feb 28, 2019
  26. Feb 22, 2019
    • Zeger-Jan van de Weg's avatar
      Only allow 30 RPCs per test case to Gitaly · c00a1ec0
      Zeger-Jan van de Weg authored and James Lopez's avatar James Lopez committed
      Prior to this change, 35 Gitaly RPCs were allowed. But recently there's
      been a renewed interest in performance. By lowering the number of
      calls new N + 1's will pop up.
      
      Later commits will add blocks to ignore the raised errors, followed by
      an issue for each to be fixed.
      c00a1ec0
  27. Jan 25, 2019
  28. Jan 22, 2019
    • Andrew Newdigate's avatar
      Adds inter-service OpenTracing propagation · ca464b60
      Andrew Newdigate authored
      This change allows the GitLab rails and sidekiq components to receive
      tracing spans from upstream services such as Workhorse and pass these
      spans on to downstream services including Gitaly and Sidekiq.
      
      This change will also emit traces for incoming and outgoing requests
      using the propagated trace information. This will allow operators and
      engineers to view traces across the Workhorse, GitLab Rails, Sidekiq and
      Gitaly components.
      
      Additional intra-service instrumentation will be added in future
      changes.
      ca464b60
  29. Dec 20, 2018
  30. Dec 19, 2018
  31. Dec 17, 2018
  32. Dec 11, 2018
  33. Dec 07, 2018
  34. Dec 06, 2018
Loading