Skip to content

[code-browser] extensions observabiilty #12539

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 5, 2022

Conversation

akosyakov
Copy link
Member

@akosyakov akosyakov commented Aug 31, 2022

Description

This PR adds RED metrics for queries to the extension gallery and user operations to manage extensions like install and uninstall from user perspective. It allows unambiguously gauge impact of a situation when open-vsx.org is unavailable, i.e. whether our caches are helpful.

VC Code extensions observability - Watch Video

A supporting PR in openvsscode-server: gitpod-io/openvscode-server#422

Related Issue(s)

Fixes #11608

How to test

Release Notes

NONE

Documentation

Werft options:

  • /werft with-preview
  • /werft analytics=segment|TEZnsG4QbLSxLfHfNieLYGF4cDwyFWoe

@akosyakov
Copy link
Member Author

akosyakov commented Aug 31, 2022

/werft run

👍 started the job as gitpod-build-akosyakov-code-browser-observability-11608.4
(with .werft/ from main)

@werft-gitpod-dev-com
Copy link

started the job as gitpod-build-akosyakov-code-browser-observability-11608.6 because the annotations in the pull request description changed
(with .werft/ from main)

@akosyakov akosyakov force-pushed the akosyakov/code-browser-observability-11608 branch 14 times, most recently from a38fcea to 0f4d5dc Compare September 2, 2022 12:13
@akosyakov akosyakov marked this pull request as ready for review September 2, 2022 12:46
@akosyakov akosyakov requested a review from a team September 2, 2022 12:46
@akosyakov akosyakov changed the title [code-browser] collect extension operation metrics [code-browser] extensions observabiilty Sep 2, 2022
@akosyakov akosyakov force-pushed the akosyakov/code-browser-observability-11608 branch 2 times, most recently from 13f804c to a034b6d Compare September 2, 2022 13:07
@filiptronicek
Copy link
Member

@akosyakov is an extension uninstall considered as an "operation"?

@akosyakov
Copy link
Member Author

@akosyakov is an extension uninstall considered as an "operation"?

yes [1], you can filter them out if you are not interested to see

@akosyakov
Copy link
Member Author

Please ignore failed build, prev envs should be good to use. It is something funny with werft job check, see https://gitpod.slack.com/archives/C032A46PWR0/p1662128693010439

Copy link
Member

@filiptronicek filiptronicek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested as per testing steps and seems to work well, tried installing, uninstalling and also installing via Settings Sync. Everything good, filtering by operation in Grafana also shows the events are correctly named.

Updating extensions, although not pictured below are working as well.

Grafana screenshot

Thanks Anton! 🧡✅

/hold

--plugin=protoc-gen-grpc-web=/tmp/protoc-gen-grpc-web \
--js_out=import_style=commonjs:lib \
--grpc-web_out=import_style=commonjs+dts,mode=grpcweb:lib \
--plugin="protoc-gen-ts=$DIR/node_modules/.bin/protoc-gen-ts" \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember there has some reason cause I was not able to use this library, maybe this one is not supported optional value?, or it's don't typescript?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

improbable-eng/grpc-web does not support it, but it is also fine we default that everything is optional by default in other places

Copy link
Contributor

@andreafalzetti andreafalzetti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

amazing work, tested and works as expected.

/hold

@akosyakov
Copy link
Member Author

akosyakov commented Sep 5, 2022

/werft run

👍 started the job as gitpod-build-akosyakov-code-browser-observability-11608.25
(with .werft/ from main)

@akosyakov akosyakov force-pushed the akosyakov/code-browser-observability-11608 branch from a034b6d to 345ccc3 Compare September 5, 2022 06:44
@akosyakov
Copy link
Member Author

/unhold

@easyCZ
Copy link
Member

easyCZ commented Sep 5, 2022

Build failed. Adding hold to unblock merge queue.

/hold

@akosyakov
Copy link
Member Author

akosyakov commented Sep 5, 2022

@easyCZ
Copy link
Member

easyCZ commented Sep 5, 2022

I think a race happened. Github points to https://werft.gitpod-dev.com/job/gitpod-build-akosyakov-code-browser-observability-11608.26 while there's a newer one (.27). I think a re-run should fix this for you.

@akosyakov
Copy link
Member Author

akosyakov commented Sep 5, 2022

/werft run

👍 started the job as gitpod-build-akosyakov-code-browser-observability-11608.28
(with .werft/ from main)

@mads-hartmann
Copy link
Contributor

mads-hartmann commented Sep 5, 2022

I think a race happened. Github points to https://werft.gitpod-dev.com/job/gitpod-build-akosyakov-code-browser-observability-11608.26 while there's a newer one (.27). I think a re-run should fix this for you.

@easyCZ there's a short thread here were I explain the cause ☺️

@mads-hartmann
Copy link
Contributor

mads-hartmann commented Sep 5, 2022

@akosyakov It still has the hold label, so it's not being merged automatically yet ☺️

@akosyakov
Copy link
Member Author

/unhold

@roboquat roboquat merged commit dc9fbe4 into main Sep 5, 2022
@roboquat roboquat deleted the akosyakov/code-browser-observability-11608 branch September 5, 2022 10:35
@roboquat roboquat added deployed: IDE IDE change is running in production deployed Change is completely running in production labels Sep 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deployed: IDE IDE change is running in production deployed Change is completely running in production release-note-none size/XXL team: IDE
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[code-browser] observability of extension installations and seach
7 participants