mirror of
https://github.com/LukeHagar/stats-action.git
synced 2025-12-06 04:21:26 +00:00
Add performance logging to index.ts
This commit is contained in:
52
src/index.ts
52
src/index.ts
@@ -261,6 +261,7 @@ const NOT_LANGUAGES_OBJ = Object.fromEntries(
|
|||||||
);
|
);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
const setup1 = performance.now();
|
||||||
const token = process.env["GITHUB_TOKEN"];
|
const token = process.env["GITHUB_TOKEN"];
|
||||||
if (!token) core.error("GITHUB_TOKEN is not present");
|
if (!token) core.error("GITHUB_TOKEN is not present");
|
||||||
|
|
||||||
@@ -292,7 +293,14 @@ try {
|
|||||||
|
|
||||||
const fetchedAt = Date.now();
|
const fetchedAt = Date.now();
|
||||||
|
|
||||||
|
const setup2 = performance.now();
|
||||||
|
|
||||||
|
console.log(`Setup time: ${setup2 - setup1}ms`);
|
||||||
|
|
||||||
|
const main1 = performance.now();
|
||||||
|
|
||||||
const userDetails = await octokit.rest.users.getAuthenticated();
|
const userDetails = await octokit.rest.users.getAuthenticated();
|
||||||
|
|
||||||
const username = userDetails.data.login;
|
const username = userDetails.data.login;
|
||||||
const [userData, repoData, totalCommits, contributionsCollection] =
|
const [userData, repoData, totalCommits, contributionsCollection] =
|
||||||
await Promise.all([
|
await Promise.all([
|
||||||
@@ -302,6 +310,10 @@ try {
|
|||||||
getContributionCollection(octokit, userDetails.data.created_at),
|
getContributionCollection(octokit, userDetails.data.created_at),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const main2 = performance.now();
|
||||||
|
|
||||||
|
console.log(`Main time: ${main2 - main1}ms`);
|
||||||
|
|
||||||
const viewCountPromises = [];
|
const viewCountPromises = [];
|
||||||
let starCount = 0;
|
let starCount = 0;
|
||||||
let forkCount = 0;
|
let forkCount = 0;
|
||||||
@@ -310,6 +322,9 @@ try {
|
|||||||
|
|
||||||
const repos = repoData.user.repositories.nodes;
|
const repos = repoData.user.repositories.nodes;
|
||||||
|
|
||||||
|
const promisesCreate1 = performance.now();
|
||||||
|
const promisesResolve1 = performance.now();
|
||||||
|
|
||||||
for (const repo of repos) {
|
for (const repo of repos) {
|
||||||
let repoOwner, repoName;
|
let repoOwner, repoName;
|
||||||
|
|
||||||
@@ -331,8 +346,20 @@ try {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const promisesCreate2 = performance.now();
|
||||||
|
|
||||||
|
console.log(`Promises create time: ${promisesCreate2 - promisesCreate1}ms`);
|
||||||
|
|
||||||
const repoContribStatsResps = await Promise.all(contribStatsPromises);
|
const repoContribStatsResps = await Promise.all(contribStatsPromises);
|
||||||
|
|
||||||
|
const promisesResolve2 = performance.now();
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
`Promises resolve time: ${promisesResolve2 - promisesResolve1}ms`
|
||||||
|
);
|
||||||
|
|
||||||
|
const parseRepoPromises1 = performance.now();
|
||||||
|
|
||||||
for (const resp of repoContribStatsResps) {
|
for (const resp of repoContribStatsResps) {
|
||||||
if (!resp) {
|
if (!resp) {
|
||||||
continue;
|
continue;
|
||||||
@@ -355,6 +382,14 @@ try {
|
|||||||
contributorStats.push(...repoContribStats.weeks);
|
contributorStats.push(...repoContribStats.weeks);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const parseRepoPromises2 = performance.now();
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
`Parse repo promises time: ${parseRepoPromises2 - parseRepoPromises1}ms`
|
||||||
|
);
|
||||||
|
|
||||||
|
const parseLines1 = performance.now();
|
||||||
|
|
||||||
let linesOfCodeChanged = 0;
|
let linesOfCodeChanged = 0;
|
||||||
let addedLines = 0;
|
let addedLines = 0;
|
||||||
let deletedLines = 0;
|
let deletedLines = 0;
|
||||||
@@ -378,6 +413,12 @@ try {
|
|||||||
linesOfCodeChanged += (week.a || 0) + (week.d || 0) + (week.c || 0);
|
linesOfCodeChanged += (week.a || 0) + (week.d || 0) + (week.c || 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const parseLines2 = performance.now();
|
||||||
|
|
||||||
|
console.log(`Parse lines time: ${parseLines2 - parseLines1}ms`);
|
||||||
|
|
||||||
|
const parseViews1 = performance.now();
|
||||||
|
|
||||||
const viewCounts = await Promise.all(viewCountPromises);
|
const viewCounts = await Promise.all(viewCountPromises);
|
||||||
|
|
||||||
let repoViews = 0;
|
let repoViews = 0;
|
||||||
@@ -385,6 +426,12 @@ try {
|
|||||||
repoViews += viewCount.data.count;
|
repoViews += viewCount.data.count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const parseViews2 = performance.now();
|
||||||
|
|
||||||
|
console.log(`Parse views time: ${parseViews2 - parseViews1}ms`);
|
||||||
|
|
||||||
|
const parseLang1 = performance.now();
|
||||||
|
|
||||||
const topLanguages: Language[] = [];
|
const topLanguages: Language[] = [];
|
||||||
let codeByteTotal = 0;
|
let codeByteTotal = 0;
|
||||||
|
|
||||||
@@ -412,6 +459,10 @@ try {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const parseLang2 = performance.now();
|
||||||
|
|
||||||
|
console.log(`Parse languages time: ${parseLang2 - parseLang1}ms`);
|
||||||
|
|
||||||
const tableData = [
|
const tableData = [
|
||||||
["Name", userDetails.data.name || ""],
|
["Name", userDetails.data.name || ""],
|
||||||
["Username", username],
|
["Username", username],
|
||||||
@@ -443,6 +494,7 @@ try {
|
|||||||
JSON.stringify(
|
JSON.stringify(
|
||||||
{
|
{
|
||||||
name: userDetails.data.name || "",
|
name: userDetails.data.name || "",
|
||||||
|
avatarUrl: userDetails.data.avatar_url,
|
||||||
username,
|
username,
|
||||||
repoViews,
|
repoViews,
|
||||||
linesOfCodeChanged,
|
linesOfCodeChanged,
|
||||||
|
|||||||
Reference in New Issue
Block a user