kennel 1.126.0 → 1.128.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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