File tree Expand file tree Collapse file tree 9 files changed +42
-0
lines changed Expand file tree Collapse file tree 9 files changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ import (
21
21
"flag"
22
22
"fmt"
23
23
"net/http"
24
+ _ "net/http/pprof"
24
25
"os"
25
26
"os/signal"
26
27
"regexp"
84
85
internalFSSNamespace = flag .String ("fss-namespace" , "" , "Namespace of the feature state switch configmap" )
85
86
periodicSyncIntervalInMin = flag .Duration ("storagequota-sync-interval" , 30 * time .Minute ,
86
87
"Periodic sync interval in Minutes" )
88
+ enableProfileServer = flag .Bool ("enable-profile-server" , false , "Enable profiling endpoint for the syncer." )
87
89
)
88
90
89
91
// main for vsphere syncer.
@@ -98,6 +100,16 @@ func main() {
98
100
ctx , log := logger .GetNewContextWithLogger ()
99
101
log .Infof ("Version : %s" , syncer .Version )
100
102
103
+ if * enableProfileServer {
104
+ go func () {
105
+ log .Info ("Starting the http server to expose profiling metrics.." )
106
+ err := http .ListenAndServe (":9501" , nil )
107
+ if err != nil {
108
+ log .Fatalf ("Unable to start profiling server: %s" , err )
109
+ }
110
+ }()
111
+ }
112
+
101
113
// Set CO agnostic init params.
102
114
clusterFlavor , err := config .GetClusterFlavor (ctx )
103
115
if err != nil {
Original file line number Diff line number Diff line change @@ -20,6 +20,8 @@ import (
20
20
"context"
21
21
"flag"
22
22
"fmt"
23
+ "net/http"
24
+ _ "net/http/pprof"
23
25
"os"
24
26
"os/signal"
25
27
"syscall"
41
43
"Namespace of the feature state switch configmap in supervisor cluster" )
42
44
internalFSSName = flag .String ("fss-name" , "" , "Name of the feature state switch configmap" )
43
45
internalFSSNamespace = flag .String ("fss-namespace" , "" , "Namespace of the feature state switch configmap" )
46
+ enableProfileServer = flag .Bool ("enable-profile-server" , false , "Enable profiling endpoint for the controller." )
44
47
)
45
48
46
49
// main is ignored when this package is built as a go plug-in.
@@ -55,6 +58,16 @@ func main() {
55
58
ctx , log := logger .GetNewContextWithLogger ()
56
59
log .Infof ("Version : %s" , service .Version )
57
60
61
+ if * enableProfileServer {
62
+ go func () {
63
+ log .Info ("Starting the http server to expose profiling metrics.." )
64
+ err := http .ListenAndServe (":9500" , nil )
65
+ if err != nil {
66
+ log .Fatalf ("Unable to start profiling server: %s" , err )
67
+ }
68
+ }()
69
+ }
70
+
58
71
// Set CO Init params.
59
72
clusterFlavor , err := csiconfig .GetClusterFlavor (ctx )
60
73
if err != nil {
Original file line number Diff line number Diff line change @@ -200,6 +200,7 @@ spec:
200
200
- " --supervisor-fss-namespace=$(CSI_NAMESPACE)"
201
201
- " --fss-name=internal-feature-states.csi.vsphere.vmware.com"
202
202
- " --fss-namespace=$(CSI_NAMESPACE)"
203
+ - " --enable-profile-server=false"
203
204
imagePullPolicy : " IfNotPresent"
204
205
ports :
205
206
- containerPort : 2112
@@ -270,6 +271,7 @@ spec:
270
271
- " --supervisor-fss-namespace=$(CSI_NAMESPACE)"
271
272
- " --fss-name=internal-feature-states.csi.vsphere.vmware.com"
272
273
- " --fss-namespace=$(CSI_NAMESPACE)"
274
+ - " --enable-profile-server=false"
273
275
imagePullPolicy : " IfNotPresent"
274
276
ports :
275
277
- containerPort : 2113
Original file line number Diff line number Diff line change @@ -200,6 +200,7 @@ spec:
200
200
- " --supervisor-fss-namespace=$(CSI_NAMESPACE)"
201
201
- " --fss-name=internal-feature-states.csi.vsphere.vmware.com"
202
202
- " --fss-namespace=$(CSI_NAMESPACE)"
203
+ - " --enable-profile-server=false"
203
204
imagePullPolicy : " IfNotPresent"
204
205
ports :
205
206
- containerPort : 2112
@@ -270,6 +271,7 @@ spec:
270
271
- " --supervisor-fss-namespace=$(CSI_NAMESPACE)"
271
272
- " --fss-name=internal-feature-states.csi.vsphere.vmware.com"
272
273
- " --fss-namespace=$(CSI_NAMESPACE)"
274
+ - " --enable-profile-server=false"
273
275
imagePullPolicy : " IfNotPresent"
274
276
ports :
275
277
- containerPort : 2113
Original file line number Diff line number Diff line change @@ -200,6 +200,7 @@ spec:
200
200
- " --supervisor-fss-namespace=$(CSI_NAMESPACE)"
201
201
- " --fss-name=internal-feature-states.csi.vsphere.vmware.com"
202
202
- " --fss-namespace=$(CSI_NAMESPACE)"
203
+ - " --enable-profile-server=false"
203
204
imagePullPolicy : " IfNotPresent"
204
205
ports :
205
206
- containerPort : 2112
@@ -270,6 +271,7 @@ spec:
270
271
- " --supervisor-fss-namespace=$(CSI_NAMESPACE)"
271
272
- " --fss-name=internal-feature-states.csi.vsphere.vmware.com"
272
273
- " --fss-namespace=$(CSI_NAMESPACE)"
274
+ - " --enable-profile-server=false"
273
275
imagePullPolicy : " IfNotPresent"
274
276
ports :
275
277
- containerPort : 2113
Original file line number Diff line number Diff line change @@ -375,6 +375,8 @@ spec:
375
375
name : socket-dir
376
376
- name : vsphere-csi-controller
377
377
image : localhost:5000/vmware/vsphere-csi:<vsphere_csi_ver>
378
+ args :
379
+ - " --enable-profile-server=false"
378
380
ports :
379
381
- containerPort : 2112
380
382
name : prometheus
@@ -446,6 +448,7 @@ spec:
446
448
- " --leader-election-retry-period=30s"
447
449
- " --storagequota-sync-interval=10m"
448
450
- " --webhook-client-cert-verification"
451
+ - " --enable-profile-server=false"
449
452
env :
450
453
- name : CLUSTER_FLAVOR
451
454
value : " WORKLOAD"
Original file line number Diff line number Diff line change @@ -382,6 +382,8 @@ spec:
382
382
name : socket-dir
383
383
- name : vsphere-csi-controller
384
384
image : localhost:5000/vmware/vsphere-csi:<vsphere_csi_ver>
385
+ args :
386
+ - " --enable-profile-server=false"
385
387
ports :
386
388
- containerPort : 2112
387
389
name : prometheus
@@ -453,6 +455,7 @@ spec:
453
455
- " --leader-election-retry-period=30s"
454
456
- " --storagequota-sync-interval=10m"
455
457
- " --webhook-client-cert-verification"
458
+ - " --enable-profile-server=false"
456
459
env :
457
460
- name : CLUSTER_FLAVOR
458
461
value : " WORKLOAD"
Original file line number Diff line number Diff line change @@ -382,6 +382,8 @@ spec:
382
382
name : socket-dir
383
383
- name : vsphere-csi-controller
384
384
image : localhost:5000/vmware/vsphere-csi:<vsphere_csi_ver>
385
+ args :
386
+ - " --enable-profile-server=false"
385
387
ports :
386
388
- containerPort : 2112
387
389
name : prometheus
@@ -453,6 +455,7 @@ spec:
453
455
- " --leader-election-retry-period=30s"
454
456
- " --storagequota-sync-interval=10m"
455
457
- " --webhook-client-cert-verification"
458
+ - " --enable-profile-server=false"
456
459
env :
457
460
- name : CLUSTER_FLAVOR
458
461
value : " WORKLOAD"
Original file line number Diff line number Diff line change @@ -282,6 +282,7 @@ spec:
282
282
args :
283
283
- " --fss-name=internal-feature-states.csi.vsphere.vmware.com"
284
284
- " --fss-namespace=$(CSI_NAMESPACE)"
285
+ - " --enable-profile-server=false"
285
286
imagePullPolicy : " Always"
286
287
env :
287
288
- name : CSI_ENDPOINT
@@ -346,6 +347,7 @@ spec:
346
347
- " --leader-election-retry-period=10s"
347
348
- " --fss-name=internal-feature-states.csi.vsphere.vmware.com"
348
349
- " --fss-namespace=$(CSI_NAMESPACE)"
350
+ - " --enable-profile-server=false"
349
351
imagePullPolicy : " Always"
350
352
ports :
351
353
- containerPort : 2113
You can’t perform that action at this time.
0 commit comments