Skip to content

Commit f4c1eaa

Browse files
committed
[public-api] client metrics
1 parent 67b7dea commit f4c1eaa

File tree

11 files changed

+442
-41
lines changed

11 files changed

+442
-41
lines changed

components/dashboard/craco.config.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ module.exports = {
2727
path: false,
2828
fs: false,
2929
os: false,
30+
http: false,
31+
https: false,
32+
zlib: false,
33+
cluster: false,
34+
v8: false,
3035
},
3136
},
3237
module: {

components/dashboard/package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"version": "0.0.0",
55
"private": true,
66
"dependencies": {
7-
"@bufbuild/connect-web": "^0.2.1",
7+
"@bufbuild/connect-web": "^0.13.0",
88
"@gitpod/gitpod-protocol": "0.1.5",
99
"@gitpod/public-api": "0.1.5",
1010
"@stripe/react-stripe-js": "^1.7.2",
@@ -14,9 +14,11 @@
1414
"@tanstack/react-query-devtools": "^4.29.19",
1515
"@tanstack/react-query-persist-client": "^4.29.19",
1616
"@types/react-datepicker": "^4.8.0",
17+
"buffer": "^4.3.0",
1718
"classnames": "^2.3.1",
1819
"configcat-js": "^6.0.0",
1920
"countries-list": "^2.6.1",
21+
"crypto-browserify": "3.12.0",
2022
"dayjs": "^1.11.5",
2123
"file-saver": "^2.0.5",
2224
"idb-keyval": "^6.2.0",
@@ -25,6 +27,7 @@
2527
"monaco-editor": "^0.25.2",
2628
"p-throttle": "^5.1.0",
2729
"pretty-bytes": "^6.1.0",
30+
"process": "^0.11.10",
2831
"query-string": "^7.1.1",
2932
"react": "^17.0.1",
3033
"react-confetti": "^6.1.0",
@@ -37,16 +40,13 @@
3740
"react-popper": "^2.3.0",
3841
"react-portal": "^4.2.2",
3942
"react-router-dom": "^5.2.0",
40-
"validator": "^13.9.0",
41-
"xterm": "^4.11.0",
42-
"xterm-addon-fit": "^0.5.0",
43-
"crypto-browserify": "3.12.0",
43+
"setimmediate": "^1.0.5",
4444
"stream-browserify": "^2.0.1",
4545
"url": "^0.11.1",
4646
"util": "^0.11.1",
47-
"buffer": "^4.3.0",
48-
"process": "^0.11.10",
49-
"setimmediate": "^1.0.5"
47+
"validator": "^13.9.0",
48+
"xterm": "^4.11.0",
49+
"xterm-addon-fit": "^0.5.0"
5050
},
5151
"devDependencies": {
5252
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",

components/dashboard/src/service/public-api.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,29 @@
44
* See License.AGPL.txt in the project root for license information.
55
*/
66

7-
import { createConnectTransport, createPromiseClient } from "@bufbuild/connect-web";
7+
import { createPromiseClient } from "@bufbuild/connect";
8+
import { createConnectTransport } from "@bufbuild/connect-web";
89
import { Project as ProtocolProject, Team as ProtocolTeam } from "@gitpod/gitpod-protocol/lib/teams-projects-protocol";
910
import { HelloService } from "@gitpod/public-api/lib/gitpod/experimental/v1/dummy_connectweb";
1011
import { TeamsService } from "@gitpod/public-api/lib/gitpod/experimental/v1/teams_connectweb";
1112
import { TokensService } from "@gitpod/public-api/lib/gitpod/experimental/v1/tokens_connectweb";
1213
import { ProjectsService } from "@gitpod/public-api/lib/gitpod/experimental/v1/projects_connectweb";
1314
import { WorkspacesService } from "@gitpod/public-api/lib/gitpod/experimental/v1/workspaces_connectweb";
1415
import { OIDCService } from "@gitpod/public-api/lib/gitpod/experimental/v1/oidc_connectweb";
16+
import { getMetricsInterceptor, MetricsReporter } from "@gitpod/public-api/lib/metrics";
1517
import { Team } from "@gitpod/public-api/lib/gitpod/experimental/v1/teams_pb";
1618
import { TeamMemberInfo, TeamMemberRole } from "@gitpod/gitpod-protocol";
1719
import { TeamMember, TeamRole } from "@gitpod/public-api/lib/gitpod/experimental/v1/teams_pb";
1820
import { Project } from "@gitpod/public-api/lib/gitpod/experimental/v1/projects_pb";
1921

2022
const transport = createConnectTransport({
2123
baseUrl: `${window.location.protocol}//${window.location.host}/public-api`,
24+
interceptors: [getMetricsInterceptor()],
2225
});
2326

27+
const metricsReporter = new MetricsReporter(window.location.host, "dashboard");
28+
metricsReporter.startReporting();
29+
2430
export const helloService = createPromiseClient(HelloService, transport);
2531
export const teamsService = createPromiseClient(TeamsService, transport);
2632
export const personalAccessTokensService = createPromiseClient(TokensService, transport);

components/dashboard/src/teams/NewTeam.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* See License.AGPL.txt in the project root for license information.
55
*/
66

7-
import { ConnectError } from "@bufbuild/connect-web";
7+
import { ConnectError } from "@bufbuild/connect";
88
import { FormEvent, useState } from "react";
99
import { useHistory } from "react-router-dom";
1010
import { Heading1, Heading3, Subheading } from "../components/typography/headings";

components/public-api/typescript/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@
1414
"test:brk": "yarn test --inspect-brk"
1515
},
1616
"dependencies": {
17-
"@bufbuild/connect-web": "^0.2.1",
17+
"@bufbuild/connect": "^0.13.0",
1818
"@bufbuild/protobuf": "^0.1.1",
1919
"@bufbuild/protoc-gen-connect-web": "^0.2.1",
20-
"@bufbuild/protoc-gen-es": "^0.1.1"
20+
"@bufbuild/protoc-gen-es": "^0.1.1",
21+
"prom-client": "^14.2.0"
2122
},
2223
"devDependencies": {
2324
"@testdeck/mocha": "0.1.2",

0 commit comments

Comments
 (0)