Skip to content

Logs Interface for Senior Devs

Wilson Kurniawan edited this page Aug 3, 2021 · 3 revisions
  • Priority: High
  • Knowledge required: Full-stack development/testing, E2E testing
  • Status: Completed

One of the restrictions in TEAMMATES development is that developers are not allowed to view application logs and database contents as they contain confidential user information. This is a valid restriction and must be kept in place.

However, in following the said restriction, developers (even the most senior ones) are kept away from all data/metrics of the production system, even those that do not have confidential user information in them. This results in the developer team to be highly distanced from the application’s health and is not a good sign of healthy project day-to-day operation.

We want to allow some form of application running data to be opened to senior developers, which includes application logs after encrypting/removing the confidential data.

Ideally, senior developers should be able to:

  • View sufficient information about incoming HTTP requests, including but not limited to latency, action being performed, error rate, response status.
    • At the same time, all potential confidential data (e.g. HTTP query parameters) must be hidden/encrypted when viewed by senior developers.
  • Query logs by different criteria, similar to how it is done in GCP logs console. We can also create own commands as wrappers to the Cloud Logging library.
  • List down all the log lines included in one HTTP request (based on trace ID).
    • Furthermore, this can be displayed in a waterfall/time series graph to show the chronology of the log lines.

In addition, we can also make use of Cloud Monitoring library to fetch and display relevant monitoring data to senior developers.