kennel 1.126.0 → 1.128.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8254e03670c1874a6f9b85da5fe453200cdcd9aabe2f82dafc424a6301d8416
4
- data.tar.gz: 2d1c0b444762941f79fcba893f5cddc9d0119138c5cf0fc04d6fc871f2caf7a8
3
+ metadata.gz: d27f0b47987630640f1d58181bc98360714dc4b39827ea7282d1445496e3d315
4
+ data.tar.gz: a2dbe1c762943b8859134772f39e3f0af0f4e7e2c5c1a60c2de980574de84714
5
5
  SHA512:
6
- metadata.gz: 32c9cbe7957e0f0652180d9b743e4498f3624231e96907f2aaafe5889b9d2f5cfcac98b21dce058c7e06cd6b719ae21b91d01b478eb21028a333b6e0383732a1
7
- data.tar.gz: '068566cb8e89e9c9d993ed451cd174a301ce3976c2240aa8c12c1ebf20b602b9cf245b0eb28267dc9263930ad4659163cb75fee67af1d9c1094a649129fb7e17'
6
+ metadata.gz: 6c16b16c0914e6c436424c431eec9b5b0ff5dcb92195096973e1807c75375e34f16094c4935c28de6a0797ebb8d5cc5a8e86a9c38f4a778df65598ede58ad348
7
+ data.tar.gz: d885678eb185f3fa404d8c42c64f3c7f22250da1537ecec556d5f9728fe9a6aa7d7fb889f9c8d637c4f29787864f05ec5a51c5abb90023fde1c71a0110a24dd5
data/lib/kennel/tasks.rb CHANGED
@@ -101,10 +101,12 @@ namespace :kennel do
101
101
  end
102
102
 
103
103
  # also generate parts so users see and commit updated generated automatically
104
+ # (generate must run after plan to enable parallel .download+.generate inside of .plan)
104
105
  desc "show planned datadog changes (scope with PROJECT=name)"
105
106
  task plan: :environment do
106
- Kennel::Tasks.kennel.plan
107
+ Kennel::Tasks.kennel.preload
107
108
  Kennel::Tasks.kennel.generate
109
+ Kennel::Tasks.kennel.plan
108
110
  end
109
111
 
110
112
  desc "update datadog (scope with PROJECT=name)"
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Kennel
3
- VERSION = "1.126.0"
3
+ VERSION = "1.128.0"
4
4
  end
data/lib/kennel.rb CHANGED
@@ -58,8 +58,13 @@ module Kennel
58
58
 
59
59
  attr_accessor :strict_imports
60
60
 
61
+ # start generation and download in parallel to make planning faster
62
+ def preload
63
+ Utils.parallel([:generated, :definitions]) { |m| send m, plain: true }
64
+ end
65
+
61
66
  def generate
62
- parts = generated(plain: false)
67
+ parts = generated
63
68
  parts_serializer.write(parts) if ENV["STORE"] != "false" # quicker when debugging
64
69
  parts
65
70
  end
@@ -75,23 +80,14 @@ module Kennel
75
80
 
76
81
  private
77
82
 
78
- def download_definitions
79
- Progress.progress("Downloading definitions", plain: true) do
80
- Utils.parallel(Models::Record.subclasses) do |klass|
81
- results = api.list(klass.api_resource, with_downtimes: false) # lookup monitors without adding unnecessary downtime information
82
- results.each { |a| Utils.inline_resource_metadata(a, klass) }
83
- end.flatten(1)
84
- end
85
- end
86
-
87
83
  def filter
88
84
  @filter ||= Filter.new
89
85
  end
90
86
 
91
87
  def syncer
92
88
  @syncer ||= begin
93
- expected, actual = Utils.parallel([:generated, :download_definitions]) { |m| send m }
94
- Syncer.new(api, expected, actual, kennel: self, project_filter: filter.project_filter, tracking_id_filter: filter.tracking_id_filter)
89
+ preload
90
+ Syncer.new(api, generated, definitions, kennel: self, project_filter: filter.project_filter, tracking_id_filter: filter.tracking_id_filter)
95
91
  end
96
92
  end
97
93
 
@@ -107,9 +103,9 @@ module Kennel
107
103
  @parts_serializer ||= PartsSerializer.new(filter: filter)
108
104
  end
109
105
 
110
- def generated(plain: true)
106
+ def generated(**kwargs)
111
107
  @generated ||= begin
112
- parts = Progress.progress "Finding parts", plain: plain do
108
+ parts = Progress.progress "Finding parts", **kwargs do
113
109
  projects = projects_provider.projects
114
110
  projects = filter.filter_projects projects
115
111
 
@@ -135,5 +131,14 @@ module Kennel
135
131
  parts
136
132
  end
137
133
  end
134
+
135
+ def definitions(**kwargs)
136
+ @definitions ||= Progress.progress("Downloading definitions", **kwargs) do
137
+ Utils.parallel(Models::Record.subclasses) do |klass|
138
+ results = api.list(klass.api_resource, with_downtimes: false) # lookup monitors without adding unnecessary downtime information
139
+ results.each { |a| Utils.inline_resource_metadata(a, klass) }
140
+ end.flatten(1)
141
+ end
142
+ end
138
143
  end
139
144
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kennel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.126.0
4
+ version: 1.128.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-05 00:00:00.000000000 Z
11
+ date: 2022-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: diff-lcs