Skip to content

Commit 28cafbe

Browse files
authored
Disk usage upgrades (#433)
* feat(vscode-disk-usage): log tenant plan * feat: disk usage monitor more sub-folders
1 parent d2b59ca commit 28cafbe

File tree

6 files changed

+71
-3
lines changed

6 files changed

+71
-3
lines changed

.changeset/odd-dingos-rhyme.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"vscode-disk-usage": minor
3+
---
4+
5+
additional sub-folders and pack info

packages/vscode-disk-usage/src/flows/run-reports.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import type { DiskUsageReport } from "../types";
2-
import { getTenantPlan, getWsID } from "../helper-logic/constants";
2+
import {
3+
getTenantPlan,
4+
getTenantPack,
5+
getWsID,
6+
} from "../helper-logic/constants";
37
import { knownTechnicalFoldersReport } from "../reports/known-home-folders";
48
import { allVscodeJavaRedHatReport } from "../reports/all-vscode-java-redhat";
59
import { allNodeModulesReport } from "../reports/all-node-modules";
@@ -17,6 +21,7 @@ async function runReports(homeFolder: string): Promise<DiskUsageReport> {
1721
timestamp: new Date().getTime(),
1822
workspaceId: getWsID(),
1923
tenantPlan: getTenantPlan(),
24+
tenantPack: getTenantPack(),
2025
allJavaRedHat: allJavaRedHat,
2126
allNodeModules: allNodeModules,
2227
allNoneHidden: allNoneHidden,

packages/vscode-disk-usage/src/helper-logic/constants.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
export { HOME_DIR, DISK_USAGE_TIMESTAMP, getWsID, getTenantPlan };
1+
export {
2+
HOME_DIR,
3+
DISK_USAGE_TIMESTAMP,
4+
getWsID,
5+
getTenantPlan,
6+
getTenantPack,
7+
};
28

39
// "~" did not work perfectly for all shell commands
410
// using `/` is safe as this extension is only meant to run under linux
@@ -16,3 +22,9 @@ function getTenantPlan(): string {
1622
const plan = tenantPlanRaw ? tenantPlanRaw.replace("plan-", "") : "unknown";
1723
return plan;
1824
}
25+
26+
function getTenantPack(): string {
27+
const tenantPackRaw = process.env.TENANT_PACK;
28+
const pack = tenantPackRaw ? tenantPackRaw : "unknown";
29+
return pack;
30+
}

packages/vscode-disk-usage/src/reports/known-home-folders.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,25 @@ async function knownTechnicalFoldersReport(
1717
dot: -1,
1818
projects: -1,
1919
dot_ui5: -1,
20+
// this `/` is safe because this code is only meant to run on linux
21+
"dot_ui5/framework": -1,
2022
dot_continue: -1,
2123
dot_m2: -1,
24+
dot_npm: -1,
2225
dot_node_modules_global: -1,
26+
dot_asdf: -1,
2327
"dot_asdf-inst": -1,
2428
dot_nvm: -1,
2529
"dot_vscode-server": -1,
30+
dot_vscode: -1,
2631
dot_fioritools: -1,
2732
dot_yarn: -1,
33+
dot_hanatools: -1,
34+
dot_cache: -1,
35+
dot_mscan: -1,
36+
dot_hdb: -1,
37+
dot_local: -1,
38+
dot_notary: -1,
2839
};
2940

3041
for (const [reportFolderKey] of Object.entries(report)) {

packages/vscode-disk-usage/src/types.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export type DiskUsageReport = {
88
timestamp: number;
99
workspaceId: string;
1010
tenantPlan: string;
11+
tenantPack: string;
1112
// Size (recursive) of all `node_modules` folders in the home folder:
1213
allNodeModules: number;
1314
// Size of none hidden (dot) folders in `home/user`
@@ -24,12 +25,22 @@ export type KnownHomeFoldersReport = {
2425
dot: number;
2526
projects: number;
2627
dot_ui5: number;
28+
"dot_ui5/framework": number;
2729
dot_continue: number;
2830
dot_m2: number;
31+
dot_npm: number;
2932
dot_node_modules_global: number;
33+
dot_asdf: number;
3034
"dot_asdf-inst": number;
3135
dot_nvm: number;
3236
"dot_vscode-server": number;
37+
dot_vscode: number;
3338
dot_fioritools: number;
3439
dot_yarn: number;
40+
dot_hanatools: number;
41+
dot_cache: number;
42+
dot_mscan: number;
43+
dot_hdb: number;
44+
dot_local: number;
45+
dot_notary: number;
3546
};

packages/vscode-disk-usage/test/helper-logic/constants.spec.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import { expect } from "chai";
2-
import { getWsID, getTenantPlan } from "../../src/helper-logic/constants";
2+
import {
3+
getWsID,
4+
getTenantPlan,
5+
getTenantPack,
6+
} from "../../src/helper-logic/constants";
37

48
describe("Constants module", () => {
59
context("getWsID function", () => {
@@ -41,4 +45,24 @@ describe("Constants module", () => {
4145
expect(getTenantPlan()).to.equal("abc123");
4246
});
4347
});
48+
49+
context("getTenantPack function", () => {
50+
const orgTenantPlan = process.env["TENANT_PACK"];
51+
before(() => {
52+
delete process.env["TENANT_PACK"];
53+
});
54+
55+
after(() => {
56+
process.env["TENANT_PACK"] = orgTenantPlan;
57+
});
58+
59+
it("should return `unknown` pack when no `TENANT_PACK` env variable set", () => {
60+
expect(getTenantPack()).to.equal("unknown");
61+
});
62+
63+
it("should return the actual pack when `TENANT_PACK` env variable is set", () => {
64+
process.env["TENANT_PACK"] = "pack-abc123";
65+
expect(getTenantPack()).to.equal("pack-abc123");
66+
});
67+
});
4468
});

0 commit comments

Comments
 (0)