Skip to content

Commit

Permalink
feat: include healthz endpoint (#6)
Browse files Browse the repository at this point in the history
#### Features

- include healthz endpoint

Signed-off-by: Prashant Shahi <[email protected]>
  • Loading branch information
prashant-shahi authored Sep 11, 2024
1 parent e270399 commit 7f34f1d
Showing 1 changed file with 4 additions and 13 deletions.
17 changes: 4 additions & 13 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
from opentelemetry.sdk.resources import Resource
from opentelemetry.sdk.trace import TracerProvider
import random
import string
import time
import json
import os
Expand All @@ -40,15 +39,12 @@
exporter = OTLPLogExporter(endpoint=os.getenv("OTLP_ENDPOINT", "localhost:4317"), insecure=json.loads(os.getenv("INSECURE", "true").lower()))
exporterspan = OTLPSpanExporter(endpoint=os.getenv("OTLP_ENDPOINT", "localhost:4317"), insecure=json.loads(os.getenv("INSECURE", "true").lower()))


# add the batch processors to the trace provider
logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter))
trace.get_tracer_provider().add_span_processor(
BatchSpanProcessor(exporterspan)
)



handler = LoggingHandler(level=logging.DEBUG,logger_provider=logger_provider)
# Attach OTLP handler to root logger
# logging.getLogger().addHandler(handler)
Expand All @@ -60,18 +56,17 @@
logger2.addHandler(handler)
logger2.setLevel(logging.DEBUG)


tracer = trace.get_tracer(__name__)


app = Flask(__name__)

app.logger.addHandler(handler)


def get_random_time():
return random.randint(100, 1500) / 1000.0

@app.route("/healthz")
def health_check():
return jsonify({"status": "ok"})

@app.route('/', methods = ['GET', 'POST'])
def home():
Expand All @@ -87,22 +82,18 @@ def home():
time.sleep(get_random_time())
with tracer.start_as_current_span("authenticate_check_db"):
time.sleep(get_random_time())

with tracer.start_as_current_span("check_request limit"):
time.sleep(get_random_time())

with tracer.start_as_current_span("get_cart"):
logger2.debug(metadata + '"message": "getting cart for user: '+ user +'"}')
with tracer.start_as_current_span("check cart in cache"):
time.sleep(get_random_time())
with tracer.start_as_current_span("check cart in db"):
logger2.debug(metadata + '"message": "checking cart from db for : '+ user +'"}')
time.sleep(get_random_time())

logger2.info(metadata + '"method":"GET", "status": 200, "level": "info", "message": "completed request for user: '+ user +'"}', extra={"method": "GET", "status": 200, "level": "info"})
return "Hello " + user



# driver function
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5002)
Expand Down

0 comments on commit 7f34f1d

Please sign in to comment.