@@ -23,6 +23,7 @@ const (
2323 Outcome = "outcome"
2424 Succeeded = "succeeded"
2525 Failed = "failed"
26+ APPROVAL_LABEL = "approval"
2627)
2728
2829type MetricsProvider interface {
@@ -153,7 +154,7 @@ var (
153154 Name : "subscription_sync_total" ,
154155 Help : "Monotonic count of subscription syncs" ,
155156 },
156- []string {NAME_LABEL , INSTALLED_LABEL , CHANNEL_LABEL , PACKAGE_LABEL },
157+ []string {NAME_LABEL , INSTALLED_LABEL , CHANNEL_LABEL , PACKAGE_LABEL , APPROVAL_LABEL },
157158 )
158159
159160 csvSucceeded = prometheus .NewGaugeVec (
@@ -188,9 +189,10 @@ var (
188189)
189190
190191type subscriptionSyncLabelValues struct {
191- installedCSV string
192- pkg string
193- channel string
192+ installedCSV string
193+ pkg string
194+ channel string
195+ approvalStrategy string
194196}
195197
196198func RegisterOLM () {
@@ -208,8 +210,8 @@ func RegisterCatalog() {
208210 prometheus .MustRegister (dependencyResolutionSummary )
209211}
210212
211- func CounterForSubscription (name , installedCSV , channelName , packageName string ) prometheus.Counter {
212- return SubscriptionSyncCount .WithLabelValues (name , installedCSV , channelName , packageName )
213+ func CounterForSubscription (name , installedCSV , channelName , packageName , planApprovalStrategy string ) prometheus.Counter {
214+ return SubscriptionSyncCount .WithLabelValues (name , installedCSV , channelName , packageName , planApprovalStrategy )
213215}
214216
215217func DeleteCSVMetric (oldCSV * olmv1alpha1.ClusterServiceVersion ) {
@@ -246,12 +248,13 @@ func EmitSubMetric(sub *olmv1alpha1.Subscription) {
246248 if sub .Spec == nil {
247249 return
248250 }
249- SubscriptionSyncCount .WithLabelValues (sub .GetName (), sub .Status .InstalledCSV , sub .Spec .Channel , sub .Spec .Package ).Inc ()
251+ SubscriptionSyncCount .WithLabelValues (sub .GetName (), sub .Status .InstalledCSV , sub .Spec .Channel , sub .Spec .Package , string ( sub . Spec . InstallPlanApproval ) ).Inc ()
250252 if _ , present := subscriptionSyncCounters [sub .GetName ()]; ! present {
251253 subscriptionSyncCounters [sub .GetName ()] = subscriptionSyncLabelValues {
252- installedCSV : sub .Status .InstalledCSV ,
253- pkg : sub .Spec .Package ,
254- channel : sub .Spec .Channel ,
254+ installedCSV : sub .Status .InstalledCSV ,
255+ pkg : sub .Spec .Package ,
256+ channel : sub .Spec .Channel ,
257+ approvalStrategy : string (sub .Spec .InstallPlanApproval ),
255258 }
256259 }
257260}
@@ -260,25 +263,28 @@ func DeleteSubsMetric(sub *olmv1alpha1.Subscription) {
260263 if sub .Spec == nil {
261264 return
262265 }
263- SubscriptionSyncCount .DeleteLabelValues (sub .GetName (), sub .Status .InstalledCSV , sub .Spec .Channel , sub .Spec .Package )
266+ SubscriptionSyncCount .DeleteLabelValues (sub .GetName (), sub .Status .InstalledCSV , sub .Spec .Channel , sub .Spec .Package , string ( sub . Spec . InstallPlanApproval ) )
264267}
265268
266269func UpdateSubsSyncCounterStorage (sub * olmv1alpha1.Subscription ) {
267270 if sub .Spec == nil {
268271 return
269272 }
270273 counterValues := subscriptionSyncCounters [sub .GetName ()]
274+ approvalStrategy := string (sub .Spec .InstallPlanApproval )
271275
272276 if sub .Spec .Channel != counterValues .channel ||
273277 sub .Spec .Package != counterValues .pkg ||
274- sub .Status .InstalledCSV != counterValues .installedCSV {
278+ sub .Status .InstalledCSV != counterValues .installedCSV ||
279+ approvalStrategy != counterValues .approvalStrategy {
275280
276281 // Delete metric will label values of old Subscription first
277- SubscriptionSyncCount .DeleteLabelValues (sub .GetName (), counterValues .installedCSV , counterValues .channel , counterValues .pkg )
282+ SubscriptionSyncCount .DeleteLabelValues (sub .GetName (), counterValues .installedCSV , counterValues .channel , counterValues .pkg , counterValues . approvalStrategy )
278283
279284 counterValues .installedCSV = sub .Status .InstalledCSV
280285 counterValues .pkg = sub .Spec .Package
281286 counterValues .channel = sub .Spec .Channel
287+ counterValues .approvalStrategy = approvalStrategy
282288
283289 subscriptionSyncCounters [sub .GetName ()] = counterValues
284290 }
0 commit comments