Moved Profiler init to a function
This commit is contained in:
parent
0e827b380b
commit
e865a5aa53
3 changed files with 38 additions and 13 deletions
|
@ -1,19 +1,23 @@
|
|||
FROM python:3-slim as base
|
||||
|
||||
FROM base as builder
|
||||
FROM base as final
|
||||
|
||||
RUN apt-get -qq update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
wget g++
|
||||
g++
|
||||
|
||||
# get packages
|
||||
COPY requirements.txt .
|
||||
RUN pip install -r requirements.txt
|
||||
|
||||
FROM base as final
|
||||
# Enable unbuffered logging
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
RUN apt-get -qq update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
wget
|
||||
|
||||
# Download the grpc health probe
|
||||
RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \
|
||||
wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \
|
||||
|
|
|
@ -144,13 +144,24 @@ def start(dummy_mode):
|
|||
except KeyboardInterrupt:
|
||||
server.stop(0)
|
||||
|
||||
def InitProfiler():
|
||||
for retry in range(3):
|
||||
try:
|
||||
googlecloudprofiler.start(service='email_server', service_version='1.0.0', verbose=0)
|
||||
logger.info("Successfully started Stackdriver Profiler.")
|
||||
return
|
||||
except (BaseException) as exc:
|
||||
logger.info("Unable to start Stackdriver Profiler Python agent in email_server.py.\n" + str(exc))
|
||||
if (retry < 3):
|
||||
logger.info("Sleeping %d to retry initializing Stackdriver Profiler"%(retry*10))
|
||||
time.sleep (retry *10)
|
||||
else:
|
||||
logger.warning("could not initialize stackdriver profiler after retrying, giving up")
|
||||
return
|
||||
|
||||
if __name__ == '__main__':
|
||||
logger.info('starting the email service in dummy mode.')
|
||||
# Start the Stackdriver Profiler Python agent
|
||||
try:
|
||||
googlecloudprofiler.start(service='email_server', service_version='1.0.1', verbose=0)
|
||||
except (ValueError, NotImplementedError) as exc:
|
||||
logger.info("Unable to start Stackdriver Profiler Python agent in email_server.py.\n" + str(exc))
|
||||
# Start the Stackdriver Profiler Python agent
|
||||
InitProfiler()
|
||||
|
||||
start(dummy_mode = True)
|
||||
|
|
|
@ -37,6 +37,21 @@ from logger import getJSONLogger
|
|||
logger = getJSONLogger('recommendationservice-server')
|
||||
|
||||
|
||||
def InitProfiler():
|
||||
for retry in xrange(3):
|
||||
try:
|
||||
googlecloudprofiler.start(service='recommendation_server', service_version='1.0.0', verbose=0)
|
||||
logger.info("Successfully started Stackdriver Profiler.")
|
||||
return
|
||||
except (BaseException) as exc:
|
||||
logger.info("Unable to start Stackdriver Profiler Python agent in recommendation_server.py.\n" + str(exc))
|
||||
if (retry < 3):
|
||||
logger.info("Sleeping %d to retry initializing Stackdriver Profiler"%(retry*10))
|
||||
time.sleep (retry*10)
|
||||
else:
|
||||
logger.warning("Could not initialize Stackdriver Profiler after retrying, giving up")
|
||||
return
|
||||
|
||||
class RecommendationService(demo_pb2_grpc.RecommendationServiceServicer):
|
||||
def ListRecommendations(self, request, context):
|
||||
max_responses = 5
|
||||
|
@ -65,12 +80,7 @@ if __name__ == "__main__":
|
|||
logger.info("initializing recommendationservice")
|
||||
|
||||
# Start the Stackdriver Profiler Python agent
|
||||
try:
|
||||
googlecloudprofiler.start(service='recommendation_server', service_version='1.0.0', verbose=0)
|
||||
except (ValueError, NotImplementedError) as exc:
|
||||
logger.info("Unable to start Stackdriver Profiler Python agent in recommendation_server.py.\n" +
|
||||
str(exc))
|
||||
|
||||
InitProfiler()
|
||||
|
||||
try:
|
||||
sampler = always_on.AlwaysOnSampler()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue