Skip to content
Snippets Groups Projects
  1. Jul 26, 2018
  2. Jul 12, 2018
  3. Jun 01, 2018
  4. Apr 06, 2018
  5. Mar 14, 2018
  6. Mar 07, 2018
  7. Mar 06, 2018
  8. Mar 05, 2018
  9. Mar 01, 2018
  10. Feb 26, 2018
  11. Feb 23, 2018
    • Pawel Chojnacki's avatar
    • Pawel Chojnacki's avatar
      Squashed commit of the following: · 57de968a
      Pawel Chojnacki authored
      commit 22e1cb8f4b98f71d21026f69aa3e68d79946d6ae
      Merge: 766a42a9639 e966c6ae
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Fri Feb 23 21:30:46 2018 +0100
      
          Merge remote-tracking branch 'upstream/master' into 38783-add-cluster-metrics.yml
      
          # Conflicts:
          #	app/controllers/projects/prometheus/metrics_controller.rb
          #	app/controllers/projects/prometheus_controller.rb
          #	app/models/project_services/prometheus_service.rb
          #	lib/gitlab/prometheus/queries/query_additional_metrics.rb
          #	spec/controllers/projects/prometheus/metrics_controller_spec.rb
          #	spec/models/project_services/prometheus_service_spec.rb
      
      commit 766a42a96393f502d439c1f0beb0b6cfb2c228d4
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Fri Feb 23 17:58:45 2018 +0100
      
          Move prometheus adapter to app/models/concerns
      
      commit ca84eed49811cf3064a2e5ea611af1c947c590d7
      Merge: 66702099586 cb504cedc2a
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Fri Feb 23 15:36:03 2018 +0100
      
          Merge remote-tracking branch 'upstream/backport_custom_metrics_ce_components' into 38783-add-cluster-metrics.yml
      
          + fix failing tests
      
          # Conflicts:
          #	app/controllers/projects/prometheus_controller.rb
          #	app/models/project_services/prometheus_service.rb
          #	lib/gitlab/prometheus/queries/query_additional_metrics.rb
          #	spec/models/project_services/prometheus_service_spec.rb
      
      commit cb504cedc2a6e353ffb56833334681e3da09fc14
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Fri Feb 23 14:46:15 2018 +0100
      
          Fix prometheus_service found by find_or_initialize_service
      
      commit 928b84c72c2c4c46e1785b9a943c1822a137de16
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 22 23:15:11 2018 +0100
      
          additional metrics and backported tests
      
      commit 41291383b4b6976af94eaf9e1a7b2e2a172310e7
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 22 21:57:45 2018 +0100
      
          Introduce Metrics controller and retire prometheus controller
      
      commit 6e7492e4c7ffa9d8621f09198071bc14be875976
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 22 21:46:37 2018 +0100
      
          Backport PrometheusClient::Error and all->common_metrics rename
      
      commit 66702099586c864a7f78970a0ee0dd9f3c2beeef
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 22 20:23:03 2018 +0100
      
          fix failing tests
      
      commit ce921ea723cde61b2441ba98c9aca97606c719c8
      Author: Mike Greiling <mike@pixelcog.com>
      Date:   Wed Feb 21 23:47:30 2018 -0600
      
          add labels to cluster metrics
      
      commit 993830c6892e4fbf53d3f72da00002d642c7e9b2
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 22 01:20:49 2018 +0100
      
          Fix formatting probelms and few small tests
      
      commit 66ee65d8e3f747c90d986bc3056178422156bc8e
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 22 01:08:03 2018 +0100
      
          stop using in deployment tests environment.id
      
      commit 62c91978d15f0369988521363dae24bd7510d68d
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 22 01:06:33 2018 +0100
      
          fix prometheus_controller and adapter tests
      
      commit 977b1d34c1d03c7233582e8328f85caf634895ed
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 22 00:19:39 2018 +0100
      
          finish up active? -> can_query? rename
      
      commit e614f7daee58a9758d83ba3efe1649c8b80bc1e2
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Wed Feb 21 23:51:33 2018 +0100
      
          deployment prometheus adapter tests fix
      
      commit ebd726c114a6026fef0adf3eba6ee1972530148a
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Wed Feb 21 21:40:40 2018 +0100
      
          Move environment dependant tests to environment
      
      commit 6d31311cd3729c29233283dded70e03a4a9a3c97
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Wed Feb 21 20:40:24 2018 +0100
      
          update monitoring service and move adding dpeloyment_time to deployment model
      
      commit 60b6bf391ab36846dce122bc6b0c5196a186267c
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Wed Feb 21 20:15:46 2018 +0100
      
          adjust deployment spec and prometheus specs
      
      commit 6681662cf1c028aff2ff94aa0501732cb7119ba1
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 22:30:20 2018 +0100
      
          Revert changes to reactive caching
      
      commit e282f86c45a056889f57d3f7fd23a81c88efff6a
      Merge: 5751c73df59 6844a2df
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 22:08:17 2018 +0100
      
          Merge remote-tracking branch 'upstream/master' into 38783-add-cluster-metrics.yml
      
      commit 5751c73df59d0a03840a1b4b71b0637670f971a6
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 22:07:43 2018 +0100
      
          rename active? to can_query? and cleanup environment prometheus router
      
      commit 3f3c6e1d33dcd9315979daf26a95f2aab83a7de9
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 21:51:43 2018 +0100
      
          Fix tests, and only use prometheus service if its active
      
      commit 6345838bac584c213b665d334252ccab202cb271
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 16:24:27 2018 +0100
      
          Fix typo
      
      commit 7a585d32afe8da050b5615b1d036a550e06479f5
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 15:29:40 2018 +0100
      
          Cluster id is not required
      
      commit e6af62afb11fa380f6aff1c31a81bcc9bab3b1eb
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 15:15:46 2018 +0100
      
          Result transformation support
      
      commit f3b1bd7c67894f44efe33591ddb70093bd620c03
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 15:07:07 2018 +0100
      
          Fix rubocop warning and exten cluster query timeframe
      
      commit be77947cea64261a4d3dead33c3c57f413a9880c
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 14:42:47 2018 +0100
      
          Fix additional metrics test
      
      commit eb3922e16221abe16f59fae1c38122f227643343
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 14:34:44 2018 +0100
      
          rename prometheus adapter methods
      
      commit 045476cd08b21593818b274ae8a44d19b705523f
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 13:19:36 2018 +0100
      
          Make prometheus adapter a module
      
      commit f2daf050d8c689f72c4c61207930bc53c331f12e
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 20 12:00:44 2018 +0100
      
          refactoring wip
      
      commit 52e4ef5587794e811dc10a0f2dca522342a865da
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Sun Feb 18 20:25:55 2018 +0100
      
          cleanup prometheus adapter concept
      
      commit 3887365faab9dfcd9c00bcfc501d09ac62431a03
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Sun Feb 18 19:22:11 2018 +0100
      
          Refactor out deployment id, Rename PrometheusQuerier to PrometheusAdapter
      
      commit aa2fc2df57bd72c9a5e94f66d1f1e23990be6c3f
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Fri Feb 16 23:59:54 2018 +0100
      
          Refactor prometheus client
      
      commit e43c1ca9d9874d6cf1569f40fa1aca158d9d5d91
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 15 20:24:45 2018 +0100
      
          Use initial version of cluster_metrics.yml
      
      commit 867821ce0b2609ebf8994220aa8e3a94d66a01e0
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 15 05:24:14 2018 +0100
      
          Fix querying cluster metrics
      
      commit 1601e002a064cbb10ffe110a19433c5662858f1d
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 15 04:49:03 2018 +0100
      
          Queues for unicersal querier
      
      commit 5db198fdc925c0223be24939b76da1d544dd569c
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 15 03:35:17 2018 +0100
      
          refactor reactive caching and prometheus querying
      
      commit b0fc00e8c9d21e961ef44b0129103e2a62928b52
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Thu Feb 15 00:12:03 2018 +0100
      
          Add generic query additional metrics
      
      commit ffe76e6a9ba196bccff22c4880e0384959ad5e48
      Author: Pawel Chojnacki <pawel@chojnacki.ws>
      Date:   Tue Feb 13 15:40:15 2018 +0100
      
          Cluster Metric yml initial
      
      + Remove cluster query
      
      + remove cluster_metrics.yml
      
      + Prometheus adapter tests
      57de968a
  12. Feb 20, 2018
  13. Jan 31, 2018
  14. Jan 04, 2018
  15. Jan 02, 2018
  16. Nov 28, 2017
  17. Nov 06, 2017
  18. Nov 02, 2017
  19. Oct 23, 2017
    • Stan Hu's avatar
      Fix the writing of invalid environment refs · 3bff85a4
      Stan Hu authored
      Environment names that contained a space would cause an error
      in GitLab 10.1 because a new guard clause was introduced in
      Repository#write_ref to prevent such references from
      existing. Use the slug instead to ensure that the name
      is valid.
      
      Closes #39182
      3bff85a4
  20. Sep 18, 2017
  21. Sep 13, 2017
    • Yorick Peterse's avatar
      Constrain environment deployments to project IDs · f04094a4
      Yorick Peterse authored
      When querying the deployments of an environment the query Rails produces
      will be along the lines of the following:
      
          SELECT *
          FROM deployments
          WHERE environment_id = X
      
      For queries such as this (or queries that use this as their base and add
      more conditions) there is no meaningful index that can be used as long
      as deployments.project_id is not part of a WHERE clause.
      
      To work around this we change that "has_many :deployments" relation to
      always add a "WHERE project_id = X" condition. This means that queries
      filtering deployments can make better use of the existing indexes. For
      example, when filtering by deployments.iid this will result in the
      following query:
      
          SELECT *
          FROM deployments
          WHERE environment_id = X
          AND project_id = Y
          AND iid = Z
      
      This means PostgreSQL can use the existing index on
      (project_id, environment_id, iid) instead of having to use a different
      index (or none at all) and having to scan over a large amount of data.
      
      Query plan wise this means that instead of this query and plan:
      
          EXPLAIN (BUFFERS, ANALYZE)
          SELECT deployments.*
          FROM deployments
          WHERE deployments.environment_id = 5
          AND deployments.iid = 225;
      
          Index Scan using index_deployments_on_project_id_and_iid on deployments  (cost=0.42..14465.75 rows=1 width=117) (actual time=6.394..38.048 rows=1 loops=1)
            Index Cond: (iid = 225)
            Filter: (environment_id = 5)
            Rows Removed by Filter: 839
            Buffers: shared hit=4534
          Planning time: 0.076 ms
          Execution time: 38.073 ms
      
      We produce the following query and plan:
      
          EXPLAIN (BUFFERS, ANALYZE)
          SELECT deployments.*
          FROM deployments
          WHERE deployments.environment_id = 5
          AND deployments.iid = 225
          AND deployments.project_id = 1292351;
      
          Index Scan using index_deployments_on_project_id_and_iid on deployments  (cost=0.42..4.45 rows=1 width=117) (actual time=0.018..0.018 rows=1 loops=1)
            Index Cond: ((project_id = 1292351) AND (iid = 225))
            Filter: (environment_id = 5)
            Buffers: shared hit=4
          Planning time: 0.088 ms
          Execution time: 0.039 ms
      
      On GitLab.com these changes result in a (roughly) 11x improvement in SQL
      timings for the CI environment status endpoint.
      
      Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/36877
      Verified
      f04094a4
  22. Sep 08, 2017
  23. Aug 25, 2017
  24. Jul 06, 2017
    • Yorick Peterse's avatar
      Added Cop to blacklist the use of `dependent:` · 8fbbf41e
      Yorick Peterse authored
      This is allowed for existing instances so we don't end up 76 offenses
      right away, but for new code one should _only_ use this if they _have_
      to remove non database data. Even then it's usually better to do this in
      a service class as this gives you more control over how to remove the
      data (e.g. in bulk).
      Verified
      8fbbf41e
  25. Jul 05, 2017
  26. Jun 27, 2017
    • Z.J. van de Weg's avatar
      Add in_review_folder to usage ping · e7d12a70
      Z.J. van de Weg authored
      As its hard to reliably check how many review apps there are on the
      clients machine, we start by checking where the type is `review`. This
      means the folder is called that way. This will lead to a seq
      scan on the table. However, this is done once a week, so the benefit of
      adding an index seems not to apply here.
      e7d12a70
  27. Jun 21, 2017
  28. Jun 16, 2017
  29. Jun 12, 2017
  30. Jun 07, 2017
  31. Jun 06, 2017
  32. May 31, 2017
  33. May 25, 2017
  34. May 22, 2017
    • Z.J. van de Weg's avatar
      Use etag caching for environments JSON · ebede2b3
      Z.J. van de Weg authored
      For the index view, the environments can now be requested every 15
      seconds. Any transition state of a projects environments will trigger a
      cache invalidation action.
      
      Fixes gitlab-org/gitlab-ce#31701
      ebede2b3
  35. May 12, 2017
    • Z.J. van de Weg's avatar
      Use etag caching for environments JSON · 4535d520
      Z.J. van de Weg authored
      For the index view, the environments can now be requested every 15
      seconds. Any transition state of a projects environments will trigger a
      cache invalidation action.
      
      Fixes gitlab-org/gitlab-ce#31701
      4535d520
  36. May 11, 2017
    • Pawel Chojnacki's avatar
      Custom queries for prometheus · 4f824d2a
      Pawel Chojnacki authored
      - Tests for prometheus queries
      
      - fix rubocop warnings
      
      - Remove unused method. Add more queries to deployment queries.
      
      - Wrap BaseQuery in module hierarchy
      
      Renname Prometheus class to PrometheusClient
      4f824d2a
  37. May 10, 2017
Loading