| @ -0,0 +1,46 @@ | |||||
| We have found the function which is raising the exception | |||||
| and have determined it doesn't need to cause our application | |||||
| to fail. Let us update the code to reflect our desired changes. | |||||
| Open `frontend/frontend/utils.py`. | |||||
| Add `@tracer.wrap()` decorator to the `def get_customer_data()` function. | |||||
| We should have: | |||||
| ```python | |||||
| @tracer.wrap() | |||||
| def get_customer_data(): | |||||
| current_app.logger.info('Fetching customer data') | |||||
| ``` | |||||
| This will add a span for this function so we can track when it fails. | |||||
| Next, open `frontend/frontend/sensors.py`. | |||||
| Edit `def get_sensor_data` and remove the `raise` call from the `try/except` block. | |||||
| As well, we can change the log line to be `current_app.logger.warn` instead of `exception`. | |||||
| We should end up with: | |||||
| ```python | |||||
| def get_sensor_data(): | |||||
| try: | |||||
| get_customer_data() | |||||
| except Exception: | |||||
| current_app.logger.warn('Failed to fetch customer data') | |||||
| current_app.logger.info('Simulating refresh of sensor data') | |||||
| resp = requests.get('http://sensors:5002/refresh_sensors', headers=get_request_headers()) | |||||
| resp.raise_for_status() | |||||
| return resp.json() | |||||
| ``` | |||||
| `restart-services`{{execute interrupt}} to continue. | |||||
| Open the `frontend` service page to continue. | |||||
| https://app.datadoghq.com/apm/service/frontend | |||||