Skip to content

Commit 5c84263

Browse files
committed
adding tracing
1 parent a20d949 commit 5c84263

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

components/server/src/workspace/gitpod-server-impl.ts

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,8 +1738,9 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
17381738
}
17391739

17401740
public async getSuggestedRepositories(ctx: TraceContext, organizationId: string): Promise<SuggestedRepository[]> {
1741+
traceAPIParams(ctx, { organizationId });
1742+
17411743
const user = await this.checkAndBlockUser("getSuggestedRepositories");
1742-
await this.guardWithFeatureFlag("includeProjectsOnCreateWorkspace", user, organizationId);
17431744

17441745
if (!uuidValidate(organizationId)) {
17451746
throw new ApplicationError(ErrorCodes.BAD_REQUEST, "organizationId must be a valid UUID");
@@ -1752,33 +1753,32 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
17521753
lastUse?: string;
17531754
};
17541755

1755-
const fetchExampleRepos = async (): Promise<SuggestedRepositoryWithSorting[]> => {
1756-
const repos = await this.getFeaturedRepositories(ctx);
1757-
1758-
return repos.map((repo) => ({
1759-
url: repo.url,
1760-
priority: 0,
1761-
}));
1762-
};
1763-
17641756
const fetchProjects = async (): Promise<SuggestedRepositoryWithSorting[]> => {
1757+
const span = TraceContext.startSpan("getSuggestedRepositories.fetchProjects", ctx);
17651758
const projects = await this.projectsService.getProjects(user.id, organizationId);
17661759

1767-
return projects.map((project) => ({
1760+
const projectRepos = projects.map((project) => ({
17681761
url: project.cloneUrl.replace(/\.git$/, ""),
17691762
projectId: project.id,
17701763
projectName: project.name,
17711764
priority: 1,
17721765
}));
1766+
1767+
span.finish();
1768+
1769+
return projectRepos;
17731770
};
17741771

17751772
// Load user repositories (from Git hosts directly)
17761773
const fetchUserRepos = async (): Promise<SuggestedRepositoryWithSorting[]> => {
1774+
const span = TraceContext.startSpan("getSuggestedRepositories.fetchUserRepos", ctx);
17771775
const authProviders = await this.getAuthProviders(ctx);
17781776

17791777
const providerRepos = await Promise.all(
17801778
authProviders.map(async (p): Promise<SuggestedRepositoryWithSorting[]> => {
17811779
try {
1780+
span.setTag("host", p.host);
1781+
17821782
const hostContext = this.hostContextProvider.get(p.host);
17831783
const services = hostContext?.services;
17841784
if (!services) {
@@ -1799,10 +1799,14 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
17991799
}),
18001800
);
18011801

1802+
span.finish();
1803+
18021804
return providerRepos.flat();
18031805
};
18041806

18051807
const fetchRecentRepos = async (): Promise<SuggestedRepositoryWithSorting[]> => {
1808+
const span = TraceContext.startSpan("getSuggestedRepositories.fetchRecentRepos", ctx);
1809+
18061810
const workspaces = await this.getWorkspaces(ctx, { organizationId });
18071811
const recentRepos: SuggestedRepositoryWithSorting[] = [];
18081812

@@ -1826,11 +1830,12 @@ export class GitpodServerImpl implements GitpodServerWithTracing, Disposable {
18261830
}
18271831
}
18281832

1833+
span.finish();
1834+
18291835
return recentRepos;
18301836
};
18311837

18321838
const repoResults = await Promise.allSettled([
1833-
fetchExampleRepos().catch((e) => log.error(logCtx, "Could not fetch example repositories", e)),
18341839
fetchProjects().catch((e) => log.error(logCtx, "Could not fetch projects", e)),
18351840
fetchUserRepos().catch((e) => log.error(logCtx, "Could not fetch user repositories", e)),
18361841
fetchRecentRepos().catch((e) => log.error(logCtx, "Could not fetch recent repositories", e)),

0 commit comments

Comments
 (0)