@@ -21,6 +21,7 @@ import (
2121
2222 porchv1alpha2 "github.com/kptdev/porch/api/porch/v1alpha2"
2323 "github.com/kptdev/porch/controllers/functionconfigs"
24+ "github.com/kptdev/porch/internal/telemetry"
2425 "github.com/kptdev/porch/pkg/repository"
2526 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2627 "k8s.io/apimachinery/pkg/runtime"
@@ -160,7 +161,9 @@ func (r *PackageRevisionReconciler) reconcileLifecycle(ctx context.Context, pr *
160161
161162 log .Info ("lifecycle transition" , "name" , pr .Name , "current" , current , "desired" , desired )
162163
164+ start := time .Now ()
163165 updated , err := r .ContentCache .UpdateLifecycle (ctx , repoKey , pr .Spec .PackageName , pr .Spec .WorkspaceName , desired )
166+ telemetry .RecordControllerOperation (telemetry .ResourcePackageRevision , "UPDATE" , start )
164167 if err != nil {
165168 log .Error (err , "lifecycle transition failed" )
166169 r .updateStatus (ctx , pr , nil , "" , readyCondition (pr .Generation , metav1 .ConditionFalse , porchv1alpha2 .ReasonFailed , err .Error ()))
@@ -201,6 +204,8 @@ func (r *PackageRevisionReconciler) reconcileSource(ctx context.Context, pr *por
201204 log := log .FromContext (ctx )
202205 log .Info ("applying source" , "type" , creationSource , "name" , pr .Name )
203206
207+ start := time .Now ()
208+
204209 // TODO: CreateNewDraft always receives lifecycle=Draft — consider removing the lifecycle parameter from the interface.
205210 draft , err := r .ContentCache .CreateNewDraft (ctx , repoKey , pr .Spec .PackageName , pr .Spec .WorkspaceName , string (porchv1alpha2 .PackageRevisionLifecycleDraft ))
206211 if err != nil {
@@ -230,6 +235,8 @@ func (r *PackageRevisionReconciler) reconcileSource(ctx context.Context, pr *por
230235 )
231236 r .ensureLatestRevisionLabel (ctx , pr )
232237
238+ telemetry .RecordControllerOperation (telemetry .ResourcePackageRevision , "CREATE" , start )
239+
233240 result := ctrl.Result {Requeue : true }
234241 return & result , nil
235242}
0 commit comments