GoogleCloudPlatform / GoogleCloudPlatform/microservices-demo

Increment profiler version at release time

Open
#641 6 comments 0 reactions 0 assignees View on GitHub
priority: p3 type: process
Dominant language
Go
Stars
20.9k
Forks
10.5k
Avg merge
3d 4h
Merged PRs (30d)
20

Description

### Describe request or inquiry
The `@google-cloud/profiler` is used in our services to produce profiling information and to track issue when something is noticed. The profiler is always initialized with a version. This version needs to be updated and maintained with releases of the applications so that whenever we notice a sudden issue with the latest release, we can compare profiling information against previous version.

Since the first release of the sample app, the profiler version has never been updated. (see [currencyservice](https://github.com/GoogleCloudPlatform/microservices-demo/blob/master/src/currencyservice/server.js#L25), [paymentservice](https://github.com/GoogleCloudPlatform/microservices-demo/blob/master/src/paymentservice/index.js#L22) and [frontend](https://github.com/GoogleCloudPlatform/microservices-demo/blob/master/src/frontend/main.go#L106) as examples) . This version should match sample application release version.

Thus, we must add steps in the release process documentation to instruct the `release-owner` to manually create PRs for updating the `profiler version` on the release branches. We should then later add automation to update these versions automatically during the release process.

Doing this will ensure that we can filter through [profiler data](https://pantheon.corp.google.com/profiler;timespan=10m;end=2021-11-25T17:35:00.000Z/paymentservice;type=HEAP/space?project=onlineboutique-ci) by release version and compare them to see where resource utilization has changed over time. This enables tracking down issues like #538 easier.

### What purpose/environment will this feature serve?
- Troubleshooting and debugging issues with the app in newer releases
- Identifying adverse effects of new code changes and feature inclusions

Contributor guide

Open the contributing guide

Research direction

Start with the profiler version references in src/currencyservice/server.js, src/paymentservice/index.js, and src/frontend/main.go, then locate the release process documentation. Document the release-owner steps for creating PRs that update profiler versions on release branches, ensuring they match the sample application release version.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, google-cloud, javascript
Domain
backend, documentation, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.