Skip to content

Commit ef15387

Browse files
authored
feat: add pprof debug option (#2083)
* feat: add pprof debug option * refactor: change pprof port flag to address flag * chore: add pprof options to helm config * chore: add pprof configuration options for docker compose * chore: update pprof configuration * chore: disable pprof and update address to localhost
1 parent e2164fd commit ef15387

File tree

12 files changed

+67
-1
lines changed

12 files changed

+67
-1
lines changed

docker-compose/compose.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ services:
143143
- BUCKETEER_WEB_AUTOOPS_SERVICE=nginx:443
144144
- BUCKETEER_WEB_CODE_REFERENCE_SERVICE=nginx:443
145145
- BUCKETEER_WEB_DATA_WAREHOUSE_CONFIG_PATH=/usr/local/datawarehouse-config/datawarehouse.yaml
146+
# pprof settings
147+
- BUCKETEER_WEB_ENABLE_PPROF=${BUCKETEER_WEB_ENABLE_PPROF:-false}
148+
- BUCKETEER_WEB_PPROF_ADDR=${BUCKETEER_WEB_PPROF_ADDR:-127.0.0.1:6060}
146149
volumes:
147150
- ../tools/dev/cert/tls.crt:/usr/local/certs/service/tls.crt:ro
148151
- ../tools/dev/cert/tls.key:/usr/local/certs/service/tls.key:ro
@@ -205,6 +208,9 @@ services:
205208
- BUCKETEER_API_PROFILE=false
206209
- BUCKETEER_API_GCP_TRACE_ENABLED=false
207210
- BUCKETEER_API_TRACE_SAMPLING_PROBABILITY=0.0
211+
# pprof settings
212+
- BUCKETEER_API_ENABLE_PPROF=${BUCKETEER_API_ENABLE_PPROF:-false}
213+
- BUCKETEER_API_PPROF_ADDR=${BUCKETEER_API_PPROF_ADDR:-127.0.0.1:6060}
208214
volumes:
209215
- ../tools/dev/cert/tls.crt:/usr/local/certs/service/tls.crt:ro
210216
- ../tools/dev/cert/tls.key:/usr/local/certs/service/tls.key:ro
@@ -274,6 +280,9 @@ services:
274280
- BUCKETEER_BATCH_STAN_MODEL_ID=y3qsnd7m
275281
- BUCKETEER_BATCH_STAN_HOST=httpstan
276282
- BUCKETEER_BATCH_STAN_PORT=8080
283+
# pprof settings
284+
- BUCKETEER_BATCH_ENABLE_PPROF=${BUCKETEER_BATCH_ENABLE_PPROF:-false}
285+
- BUCKETEER_BATCH_PPROF_ADDR=${BUCKETEER_BATCH_PPROF_ADDR:-127.0.0.1:6060}
277286
volumes:
278287
- ../tools/dev/cert/tls.crt:/usr/local/certs/service/tls.crt:ro
279288
- ../tools/dev/cert/tls.key:/usr/local/certs/service/tls.key:ro
@@ -337,6 +346,9 @@ services:
337346
- BUCKETEER_SUBSCRIBER_ON_DEMAND_SUBSCRIBER_CONFIG=/usr/local/conf/onDemandSubscribers.json
338347
- BUCKETEER_SUBSCRIBER_PROCESSORS_CONFIG=/usr/local/conf/processors.json
339348
- BUCKETEER_SUBSCRIBER_ON_DEMAND_PROCESSORS_CONFIG=/usr/local/conf/onDemandProcessors.json
349+
# pprof settings
350+
- BUCKETEER_SUBSCRIBER_ENABLE_PPROF=${BUCKETEER_SUBSCRIBER_ENABLE_PPROF:-false}
351+
- BUCKETEER_SUBSCRIBER_PPROF_ADDR=${BUCKETEER_SUBSCRIBER_PPROF_ADDR:-127.0.0.1:6060}
340352
volumes:
341353
- ../tools/dev/cert/tls.crt:/usr/local/certs/service/tls.crt:ro
342354
- ../tools/dev/cert/tls.key:/usr/local/certs/service/tls.key:ro

docker-compose/env.default

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,14 @@ export BUCKETEER_VERSION=localenv
1515
# export BUCKETEER_WEB_VERSION=localenv
1616
# export BUCKETEER_API_VERSION=localenv
1717
# export BUCKETEER_BATCH_VERSION=localenv
18-
# export BUCKETEER_SUBSCRIBER_VERSION=localenv
18+
# export BUCKETEER_SUBSCRIBER_VERSION=localenv
19+
20+
# Uncomment and modify to use different on/off and addresses for specific services
21+
# export BUCKETEER_API_ENABLE_PPROF=false
22+
# export BUCKETEER_API_PPROF_ADDR=127.0.0.1:6060
23+
# export BUCKETEER_WEB_ENABLE_PPROF=false
24+
# export BUCKETEER_WEB_PPROF_ADDR=127.0.0.1:6060
25+
# export BUCKETEER_BATCH_ENABLE_PPROF=false
26+
# export BUCKETEER_BATCH_PPROF_ADDR=127.0.0.1:6060
27+
# export BUCKETEER_SUBSCRIBER_ENABLE_PPROF=false
28+
# export BUCKETEER_SUBSCRIBER_PPROF_ADDR=127.0.0.1:6060

manifests/bucketeer/charts/api/templates/deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ spec:
111111
value: "{{ .Values.env.metricsPort }}"
112112
- name: BUCKETEER_API_LOG_LEVEL
113113
value: "{{ .Values.env.logLevel }}"
114+
- name: BUCKETEER_API_ENABLE_PPROF
115+
value: "{{ .Values.env.enablePprof }}"
116+
- name: BUCKETEER_API_PPROF_ADDR
117+
value: "{{ .Values.env.pprofAddr }}"
114118
- name: BUCKETEER_API_TRACE_SAMPLING_PROBABILITY
115119
value: "{{ .Values.env.traceSamplingProbability }}"
116120
- name: BUCKETEER_API_PUBSUB_TYPE

manifests/bucketeer/charts/api/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ env:
77
project:
88
gcpEnabled: true
99
profile: true
10+
enablePprof: false
11+
pprofAddr: 127.0.0.1:6060
1012
pubsubEmulatorHost:
1113
goalTopic:
1214
evaluationTopic:

manifests/bucketeer/charts/batch/templates/deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ spec:
119119
value: "{{ .Values.env.webURL }}"
120120
- name: BUCKETEER_BATCH_LOG_LEVEL
121121
value: "{{ .Values.env.logLevel }}"
122+
- name: BUCKETEER_BATCH_ENABLE_PPROF
123+
value: "{{ .Values.env.enablePprof }}"
124+
- name: BUCKETEER_BATCH_PPROF_ADDR
125+
value: "{{ .Values.env.pprofAddr }}"
122126
- name: BUCKETEER_BATCH_REFRESH_INTERVAL
123127
value: "{{ .Values.env.refreshInterval }}"
124128
- name: BUCKETEER_BATCH_GRPC_GATEWAY_PORT

manifests/bucketeer/charts/batch/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ env:
1010
project:
1111
profile: true
1212
gcpEnabled: true
13+
enablePprof: false
14+
pprofAddr: 127.0.0.1:6060
1315
mysqlUser:
1416
mysqlPass:
1517
mysqlHost:

manifests/bucketeer/charts/subscriber/templates/deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,10 @@ spec:
105105
value: "{{ .Values.env.webURL }}"
106106
- name: BUCKETEER_SUBSCRIBER_LOG_LEVEL
107107
value: "{{ .Values.env.logLevel }}"
108+
- name: BUCKETEER_SUBSCRIBER_ENABLE_PPROF
109+
value: "{{ .Values.env.enablePprof }}"
110+
- name: BUCKETEER_SUBSCRIBER_PPROF_ADDR
111+
value: "{{ .Values.env.pprofAddr }}"
108112
- name: BUCKETEER_SUBSCRIBER_REFRESH_INTERVAL
109113
value: "{{ .Values.env.refreshInterval }}"
110114
- name: BUCKETEER_SUBSCRIBER_PORT

manifests/bucketeer/charts/subscriber/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ env:
99
project:
1010
profile: true
1111
gcpEnabled: true
12+
enablePprof: false
13+
pprofAddr: 127.0.0.1:6060
1214
mysqlUser:
1315
mysqlPass:
1416
mysqlHost:

manifests/bucketeer/charts/web/templates/deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,10 @@ spec:
163163
value: "{{ .Values.env.metricsPort }}"
164164
- name: BUCKETEER_WEB_LOG_LEVEL
165165
value: "{{ .Values.env.logLevel }}"
166+
- name: BUCKETEER_WEB_ENABLE_PPROF
167+
value: "{{ .Values.env.enablePprof }}"
168+
- name: BUCKETEER_WEB_PPROF_ADDR
169+
value: "{{ .Values.env.pprofAddr }}"
166170
- name: BUCKETEER_WEB_PUBSUB_TYPE
167171
value: "{{ .Values.global.pubsub.type }}"
168172
- name: BUCKETEER_WEB_PUBSUB_REDIS_SERVER_NAME

manifests/bucketeer/charts/web/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ env:
99
bucketeerTestEnabled:
1010
demoSiteEnabled: false
1111
gcpEnabled: true
12+
enablePprof: false
13+
pprofAddr: 127.0.0.1:6060
1214
bigqueryQuerierEmulatorHost:
1315
pubsubEmulatorHost:
1416
project:

0 commit comments

Comments
 (0)