Skip to content

Commit ea54fe7

Browse files
committed
instrument cloud/services/container
1 parent 1b98f8e commit ea54fe7

File tree

3 files changed

+103
-0
lines changed

3 files changed

+103
-0
lines changed

cloud/services/container/clusters/kubeconfig.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"k8s.io/client-go/tools/clientcmd"
3333
"k8s.io/client-go/tools/clientcmd/api"
3434
infrav1exp "sigs.k8s.io/cluster-api-provider-gcp/exp/api/v1beta1"
35+
"sigs.k8s.io/cluster-api-provider-gcp/util/telemetry"
3536
"sigs.k8s.io/cluster-api/util/kubeconfig"
3637
"sigs.k8s.io/cluster-api/util/secret"
3738
)
@@ -42,6 +43,11 @@ const (
4243
)
4344

4445
func (s *Service) reconcileKubeconfig(ctx context.Context, cluster *containerpb.Cluster, log *logr.Logger) error {
46+
ctx, span := telemetry.Tracer().Start(
47+
ctx, "clusters.Services.reconcileKubeconfig",
48+
)
49+
defer span.End()
50+
4551
log.Info("Reconciling kubeconfig")
4652
clusterRef := types.NamespacedName{
4753
Name: s.scope.Cluster.Name,
@@ -72,6 +78,11 @@ func (s *Service) reconcileKubeconfig(ctx context.Context, cluster *containerpb.
7278
}
7379

7480
func (s *Service) reconcileAdditionalKubeconfigs(ctx context.Context, cluster *containerpb.Cluster, log *logr.Logger) error {
81+
ctx, span := telemetry.Tracer().Start(
82+
ctx, "clusters.Services.reconcileAdditionalKubeconfigs",
83+
)
84+
defer span.End()
85+
7586
log.Info("Reconciling additional kubeconfig")
7687
clusterRef := types.NamespacedName{
7788
Name: s.scope.Cluster.Name + "-user",
@@ -99,6 +110,11 @@ func (s *Service) reconcileAdditionalKubeconfigs(ctx context.Context, cluster *c
99110
}
100111

101112
func (s *Service) createUserKubeconfigSecret(ctx context.Context, cluster *containerpb.Cluster, clusterRef *types.NamespacedName) error {
113+
ctx, span := telemetry.Tracer().Start(
114+
ctx, "clusters.Services.createUserKubeconfigSecret",
115+
)
116+
defer span.End()
117+
102118
controllerOwnerRef := *metav1.NewControllerRef(s.scope.GCPManagedControlPlane, infrav1exp.GroupVersion.WithKind("GCPManagedControlPlane"))
103119

104120
contextName := s.getKubeConfigContextName(false)
@@ -137,6 +153,11 @@ func (s *Service) createUserKubeconfigSecret(ctx context.Context, cluster *conta
137153
}
138154

139155
func (s *Service) createCAPIKubeconfigSecret(ctx context.Context, cluster *containerpb.Cluster, clusterRef *types.NamespacedName, log *logr.Logger) error {
156+
ctx, span := telemetry.Tracer().Start(
157+
ctx, "clusters.Services.createCAPIKubeconfigSecret",
158+
)
159+
defer span.End()
160+
140161
controllerOwnerRef := *metav1.NewControllerRef(s.scope.GCPManagedControlPlane, infrav1exp.GroupVersion.WithKind("GCPManagedControlPlane"))
141162

142163
contextName := s.getKubeConfigContextName(false)
@@ -174,6 +195,11 @@ func (s *Service) createCAPIKubeconfigSecret(ctx context.Context, cluster *conta
174195
}
175196

176197
func (s *Service) updateCAPIKubeconfigSecret(ctx context.Context, configSecret *corev1.Secret) error {
198+
ctx, span := telemetry.Tracer().Start(
199+
ctx, "clusters.Services.updateCAPIKubeconfigSecret",
200+
)
201+
defer span.End()
202+
177203
data, ok := configSecret.Data[secret.KubeconfigDataName]
178204
if !ok {
179205
return errors.Errorf("missing key %q in secret data", secret.KubeconfigDataName)
@@ -241,6 +267,11 @@ func (s *Service) createBaseKubeConfig(contextName string, cluster *containerpb.
241267
}
242268

243269
func (s *Service) generateToken(ctx context.Context) (string, error) {
270+
ctx, span := telemetry.Tracer().Start(
271+
ctx, "clusters.Services.generateToken",
272+
)
273+
defer span.End()
274+
244275
req := &credentialspb.GenerateAccessTokenRequest{
245276
Name: fmt.Sprintf("projects/-/serviceAccounts/%s", s.scope.GetCredential().ClientEmail),
246277
Scope: []string{

cloud/services/container/clusters/reconcile.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ import (
3030
"google.golang.org/grpc/codes"
3131
infrav1exp "sigs.k8s.io/cluster-api-provider-gcp/exp/api/v1beta1"
3232
"sigs.k8s.io/cluster-api-provider-gcp/util/reconciler"
33+
"sigs.k8s.io/cluster-api-provider-gcp/util/telemetry"
3334
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
3435
"sigs.k8s.io/cluster-api/util/conditions"
3536
ctrl "sigs.k8s.io/controller-runtime"
@@ -38,6 +39,11 @@ import (
3839

3940
// Reconcile reconcile GKE cluster.
4041
func (s *Service) Reconcile(ctx context.Context) (ctrl.Result, error) {
42+
ctx, span := telemetry.Tracer().Start(
43+
ctx, "clusters.Services.Reconcile",
44+
)
45+
defer span.End()
46+
4147
log := log.FromContext(ctx).WithValues("service", "container.clusters")
4248
log.Info("Reconciling cluster resources")
4349

@@ -177,6 +183,11 @@ func (s *Service) Reconcile(ctx context.Context) (ctrl.Result, error) {
177183

178184
// Delete delete GKE cluster.
179185
func (s *Service) Delete(ctx context.Context) (ctrl.Result, error) {
186+
ctx, span := telemetry.Tracer().Start(
187+
ctx, "clusters.Services.Delete",
188+
)
189+
defer span.End()
190+
180191
log := log.FromContext(ctx).WithValues("service", "container.clusters")
181192
log.Info("Deleting cluster resources")
182193

@@ -221,6 +232,11 @@ func (s *Service) Delete(ctx context.Context) (ctrl.Result, error) {
221232
}
222233

223234
func (s *Service) describeCluster(ctx context.Context, log *logr.Logger) (*containerpb.Cluster, error) {
235+
ctx, span := telemetry.Tracer().Start(
236+
ctx, "clusters.Services.describeCluster",
237+
)
238+
defer span.End()
239+
224240
getClusterRequest := &containerpb.GetClusterRequest{
225241
Name: s.scope.ClusterFullName(),
226242
}
@@ -240,6 +256,11 @@ func (s *Service) describeCluster(ctx context.Context, log *logr.Logger) (*conta
240256
}
241257

242258
func (s *Service) createCluster(ctx context.Context, log *logr.Logger) error {
259+
ctx, span := telemetry.Tracer().Start(
260+
ctx, "clusters.Services.createCluster",
261+
)
262+
defer span.End()
263+
243264
nodePools, machinePools, _ := s.scope.GetAllNodePools(ctx)
244265

245266
log.V(2).Info("Running pre-flight checks on machine pools before cluster creation")
@@ -282,6 +303,11 @@ func (s *Service) createCluster(ctx context.Context, log *logr.Logger) error {
282303
}
283304

284305
func (s *Service) updateCluster(ctx context.Context, updateClusterRequest *containerpb.UpdateClusterRequest, log *logr.Logger) error {
306+
ctx, span := telemetry.Tracer().Start(
307+
ctx, "clusters.Services.updateCluster",
308+
)
309+
defer span.End()
310+
285311
_, err := s.scope.ManagedControlPlaneClient().UpdateCluster(ctx, updateClusterRequest)
286312
if err != nil {
287313
log.Error(err, "Error updating GKE cluster", "name", s.scope.ClusterName())
@@ -292,6 +318,11 @@ func (s *Service) updateCluster(ctx context.Context, updateClusterRequest *conta
292318
}
293319

294320
func (s *Service) deleteCluster(ctx context.Context, log *logr.Logger) error {
321+
ctx, span := telemetry.Tracer().Start(
322+
ctx, "clusters.Services.deleteCluster",
323+
)
324+
defer span.End()
325+
295326
deleteClusterRequest := &containerpb.DeleteClusterRequest{
296327
Name: s.scope.ClusterFullName(),
297328
}

cloud/services/container/nodepools/reconcile.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323

2424
"sigs.k8s.io/cluster-api-provider-gcp/cloud"
2525
"sigs.k8s.io/cluster-api-provider-gcp/util/resourceurl"
26+
"sigs.k8s.io/cluster-api-provider-gcp/util/telemetry"
2627

2728
"google.golang.org/api/iterator"
2829
"google.golang.org/grpc/codes"
@@ -45,6 +46,11 @@ import (
4546

4647
// Reconcile reconcile GKE node pool.
4748
func (s *Service) Reconcile(ctx context.Context) (ctrl.Result, error) {
49+
ctx, span := telemetry.Tracer().Start(
50+
ctx, "nodepools.Services.Reconcile",
51+
)
52+
defer span.End()
53+
4854
log := log.FromContext(ctx)
4955
log.Info("Reconciling node pool resources")
5056

@@ -180,6 +186,11 @@ func (s *Service) Reconcile(ctx context.Context) (ctrl.Result, error) {
180186

181187
// Delete delete GKE node pool.
182188
func (s *Service) Delete(ctx context.Context) (ctrl.Result, error) {
189+
ctx, span := telemetry.Tracer().Start(
190+
ctx, "nodepools.Services.Delete",
191+
)
192+
defer span.End()
193+
183194
log := log.FromContext(ctx)
184195
log.Info("Deleting node pool resources")
185196

@@ -223,6 +234,11 @@ func (s *Service) Delete(ctx context.Context) (ctrl.Result, error) {
223234
}
224235

225236
func (s *Service) describeNodePool(ctx context.Context, log *logr.Logger) (*containerpb.NodePool, error) {
237+
ctx, span := telemetry.Tracer().Start(
238+
ctx, "nodepools.Services.describeNodePool",
239+
)
240+
defer span.End()
241+
226242
getNodePoolRequest := &containerpb.GetNodePoolRequest{
227243
Name: s.scope.NodePoolFullName(),
228244
}
@@ -242,6 +258,11 @@ func (s *Service) describeNodePool(ctx context.Context, log *logr.Logger) (*cont
242258
}
243259

244260
func (s *Service) getInstances(ctx context.Context, nodePool *containerpb.NodePool) ([]*computepb.ManagedInstance, error) {
261+
ctx, span := telemetry.Tracer().Start(
262+
ctx, "nodepools.Services.getInstances",
263+
)
264+
defer span.End()
265+
245266
instances := []*computepb.ManagedInstance{}
246267

247268
for _, url := range nodePool.InstanceGroupUrls {
@@ -271,6 +292,11 @@ func (s *Service) getInstances(ctx context.Context, nodePool *containerpb.NodePo
271292
}
272293

273294
func (s *Service) createNodePool(ctx context.Context, log *logr.Logger) error {
295+
ctx, span := telemetry.Tracer().Start(
296+
ctx, "nodepools.Services.createNodePool",
297+
)
298+
defer span.End()
299+
274300
log.V(2).Info("Running pre-flight checks on machine pool before creation")
275301
if err := shared.ManagedMachinePoolPreflightCheck(s.scope.GCPManagedMachinePool, s.scope.MachinePool, s.scope.Region()); err != nil {
276302
return fmt.Errorf("preflight checks on machine pool before creating: %w", err)
@@ -291,6 +317,11 @@ func (s *Service) createNodePool(ctx context.Context, log *logr.Logger) error {
291317
}
292318

293319
func (s *Service) updateNodePoolVersionOrImage(ctx context.Context, updateNodePoolRequest *containerpb.UpdateNodePoolRequest) error {
320+
ctx, span := telemetry.Tracer().Start(
321+
ctx, "nodepools.Services.updateNodePoolVersionOrImage",
322+
)
323+
defer span.End()
324+
294325
_, err := s.scope.ManagedMachinePoolClient().UpdateNodePool(ctx, updateNodePoolRequest)
295326
if err != nil {
296327
return err
@@ -300,6 +331,11 @@ func (s *Service) updateNodePoolVersionOrImage(ctx context.Context, updateNodePo
300331
}
301332

302333
func (s *Service) updateNodePoolAutoscaling(ctx context.Context, setNodePoolAutoscalingRequest *containerpb.SetNodePoolAutoscalingRequest) error {
334+
ctx, span := telemetry.Tracer().Start(
335+
ctx, "nodepools.Services.updateNodePoolAutoScaling",
336+
)
337+
defer span.End()
338+
303339
_, err := s.scope.ManagedMachinePoolClient().SetNodePoolAutoscaling(ctx, setNodePoolAutoscalingRequest)
304340
if err != nil {
305341
return err
@@ -309,6 +345,11 @@ func (s *Service) updateNodePoolAutoscaling(ctx context.Context, setNodePoolAuto
309345
}
310346

311347
func (s *Service) updateNodePoolSize(ctx context.Context, setNodePoolSizeRequest *containerpb.SetNodePoolSizeRequest) error {
348+
ctx, span := telemetry.Tracer().Start(
349+
ctx, "nodepools.Services.updateNodePoolSize",
350+
)
351+
defer span.End()
352+
312353
_, err := s.scope.ManagedMachinePoolClient().SetNodePoolSize(ctx, setNodePoolSizeRequest)
313354
if err != nil {
314355
return err

0 commit comments

Comments
 (0)