Skip to content

Commit

Permalink
Merging from develop
Browse files Browse the repository at this point in the history
  • Loading branch information
raulssorban committed Oct 22, 2023
2 parents 8d5418d + c860f16 commit 7b447fe
Show file tree
Hide file tree
Showing 19 changed files with 60 additions and 123 deletions.
62 changes: 0 additions & 62 deletions .github/workflows/branch-merge.yml

This file was deleted.

8 changes: 4 additions & 4 deletions .github/workflows/edge-build.yml
Expand Up @@ -71,8 +71,8 @@ jobs:
shell: bash
run: |
export VERSION=${{ needs.bootstrap.outputs.version }}
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix "" "edge_build"
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix "" "edge_build"
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -109,8 +109,8 @@ jobs:
shell: cmd
run: |
set VERSION=${{ needs.bootstrap.outputs.version }}
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug . edge_build
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal . edge_build
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/preview-build.yml
Expand Up @@ -83,8 +83,8 @@ jobs:
shell: bash
run: |
export VERSION=${{ needs.bootstrap.outputs.version }}
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix "" "preview_build"
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix "" "preview_build"
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -129,8 +129,8 @@ jobs:
shell: cmd
run: |
set VERSION=${{ needs.bootstrap.outputs.version }}
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug . preview_build
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal . preview_build
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/production-build.yml
Expand Up @@ -76,8 +76,8 @@ jobs:
shell: bash
run: |
export VERSION=${{ needs.bootstrap.outputs.version }}
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh ReleaseUnix
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh ReleaseUnix "" "production_build"
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix "" "production_build"
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -116,8 +116,8 @@ jobs:
shell: cmd
run: |
set VERSION=${{ needs.bootstrap.outputs.version }}
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Release
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Release . production_build
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal . production_build
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/rust-aux01-build.yml
Expand Up @@ -80,8 +80,8 @@ jobs:
shell: bash
run: |
export VERSION=${{ needs.bootstrap.outputs.version }}
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX01
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX01
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX01 "rustbeta_aux01"
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX01 "rustbeta_aux01"
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -125,8 +125,8 @@ jobs:
shell: cmd
run: |
set VERSION=${{ needs.bootstrap.outputs.version }}
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX01
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX01
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX01 rustbeta_aux01
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX01 rustbeta_aux01
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/rust-aux02-build.yml
Expand Up @@ -80,8 +80,8 @@ jobs:
shell: bash
run: |
export VERSION=${{ needs.bootstrap.outputs.version }}
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX02
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX02
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix AUX02 "rustbeta_aux02"
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix AUX02 "rustbeta_aux02"
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -125,8 +125,8 @@ jobs:
shell: cmd
run: |
set VERSION=${{ needs.bootstrap.outputs.version }}
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX02
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX02
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug AUX02 rustbeta_aux02
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal AUX02 rustbeta_aux02
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/rust-staging-build.yml
Expand Up @@ -80,8 +80,8 @@ jobs:
shell: bash
run: |
export VERSION=${{ needs.bootstrap.outputs.version }}
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix STAGING
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix STAGING
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh DebugUnix STAGING "rustbeta_staging"
${GITHUB_WORKSPACE}/Tools/Build/linux/build.sh MinimalUnix STAGING "rustbeta_staging"
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -125,8 +125,8 @@ jobs:
shell: cmd
run: |
set VERSION=${{ needs.bootstrap.outputs.version }}
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug STAGING
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal STAGING
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Debug STAGING rustbeta_staging
call %GITHUB_WORKSPACE%\Tools\Build\win\build.bat Minimal STAGING rustbeta_staging
- name: ⬆️ Upload the artifacts
uses: actions/upload-artifact@v3
Expand Down
2 changes: 1 addition & 1 deletion Carbon.Core/Carbon.Components/Carbon.Bootstrap
2 changes: 1 addition & 1 deletion Carbon.Core/Carbon.Core.sln
Expand Up @@ -21,7 +21,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Carbon.Components", "Carbon
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Carbon.Compat", "Carbon.Components\Carbon.Compat\Carbon.Compat.csproj", "{30B4B72A-9E9A-422D-9FDE-98DDD677B1AE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Carbon.Modules", "Carbon.Components\Carbon.Modules\Carbon.Modules\Carbon.Modules.csproj", "{8FF370BD-7F23-4E47-8757-7197305E555D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Carbon.Modules", "Carbon.Components\Carbon.Modules\Carbon.Modules.csproj", "{8FF370BD-7F23-4E47-8757-7197305E555D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Carbon.Hooks", "Carbon.Hooks", "{F89EDA47-1AE3-4F86-9F6D-578BB3E307E8}"
EndProject
Expand Down
30 changes: 13 additions & 17 deletions Carbon.Core/Carbon/src/Hooks/HookCallerInternal.cs
Expand Up @@ -24,7 +24,7 @@ public class HookCallerInternal : HookCallerCommon
{
internal static List<Conflict> _conflictCache = new(10);

public override void AppendHookTime(uint hook, int time)
public override void AppendHookTime(uint hook, double time)
{
if(!_hookTimeBuffer.ContainsKey(hook))
{
Expand Down Expand Up @@ -153,7 +153,6 @@ public override object CallHook<T>(T hookable, uint hookId, BindingFlags flags,
Profiler.StartHookCall(hookable, hookId);
#endif

var beforeTicks = Environment.TickCount;
hookable.TrackStart();
var beforeMemory = hookable.TotalMemoryUsed;

Expand All @@ -167,34 +166,33 @@ public override object CallHook<T>(T hookable, uint hookId, BindingFlags flags,
}

hookable.TrackEnd();
var afterTicks = Environment.TickCount;
var afterHookTime = hookable.CurrentHookTime;
var afterMemory = hookable.TotalMemoryUsed;
var totalTicks = afterTicks - beforeTicks;
var totalMemory = afterMemory - beforeMemory;

#if DEBUG
Profiler.EndHookCall(hookable);
#endif

AppendHookTime(hookId, totalTicks);
AppendHookTime(hookId, afterHookTime);

if (cachedHook != null)
{
cachedHook.HookTime += totalTicks;
cachedHook.HookTime += afterHookTime;
cachedHook.MemoryUsage += totalMemory;
}

if (afterTicks > beforeTicks + 100 && afterTicks > beforeTicks)
if (afterHookTime > 100)
{
if (hookable is Plugin basePlugin && !basePlugin.IsCorePlugin)
{
Carbon.Logger.Warn($" {hookable.Name} hook '{readableHook}' took longer than 100ms [{totalTicks:0}ms]{(hookable.HasGCCollected ? " [GC]" : string.Empty)}");
Carbon.Logger.Warn($" {hookable.Name} hook '{readableHook}' took longer than 100ms [{afterHookTime:0}ms]{(hookable.HasGCCollected ? " [GC]" : string.Empty)}");
Community.Runtime.Analytics.LogEvent("plugin_time_warn",
segments: Community.Runtime.Analytics.Segments,
metrics: new Dictionary<string, object>
{
{ "name", $"{readableHook} ({basePlugin.Name} v{basePlugin.Version} by {basePlugin.Author})" },
{ "time", $"{totalTicks.RoundUpToNearestCount(50)}ms" },
{ "time", $"{afterHookTime.RoundUpToNearestCount(50)}ms" },
{ "memory", $"{ByteEx.Format(totalMemory, shortName: true).ToLower()}" },
{ "hasgc", hookable.HasGCCollected }
});
Expand Down Expand Up @@ -265,39 +263,37 @@ object DoCall(CachedHook hook)
Profiler.StartHookCall(hookable, hookId);
#endif

var beforeTicks = Environment.TickCount;
var result2 = (object)default;
hookable.TrackStart();
var beforeMemory = hookable.TotalMemoryUsed;

result2 = hook.Method.Invoke(hookable, args);

hookable.TrackEnd();
var afterTicks = Environment.TickCount;
var totalTicks = afterTicks - beforeTicks;
var afterHookTime = hookable.CurrentHookTime;
var afterMemory = hookable.TotalMemoryUsed;
var totalMemory = afterMemory - beforeMemory;

AppendHookTime(hookId, totalTicks);
AppendHookTime(hookId, afterHookTime);

if (hook != null)
{
hook.HookTime += totalTicks;
hook.HookTime += afterHookTime;
hook.MemoryUsage += totalMemory;
}

if (afterTicks > beforeTicks + 100 && afterTicks > beforeTicks)
if (afterHookTime > 100)
{
if (hookable is Plugin basePlugin && !basePlugin.IsCorePlugin)
{
var readableHook = HookStringPool.GetOrAdd(hookId);
Carbon.Logger.Warn($" {hookable.Name} hook '{readableHook}' took longer than 100ms [{totalTicks:0}ms]{(hookable.HasGCCollected ? " [GC]" : string.Empty)}");
Carbon.Logger.Warn($" {hookable.Name} hook '{readableHook}' took longer than 100ms [{afterHookTime:0}ms]{(hookable.HasGCCollected ? " [GC]" : string.Empty)}");
Community.Runtime.Analytics.LogEvent("plugin_time_warn",
segments: Community.Runtime.Analytics.Segments,
metrics: new Dictionary<string, object>
{
{ "name", $"{readableHook} ({basePlugin.Name} v{basePlugin.Version} by {basePlugin.Author})" },
{ "time", $"{totalTicks.RoundUpToNearestCount(50)}ms" },
{ "time", $"{afterHookTime.RoundUpToNearestCount(50)}ms" },
{ "memory", $"{ByteEx.Format(totalMemory, shortName: true).ToLower()}" },
{ "hasgc", hookable.HasGCCollected }
});
Expand Down
4 changes: 2 additions & 2 deletions Tools/Build/branch_merge.bat
Expand Up @@ -28,11 +28,11 @@ if "%TO_BRANCH%" EQU "" (

echo Merging %FROM_BRANCH% into %TO_BRANCH%..

FOR %%P IN (Carbon.Core/Carbon.Components/Carbon.Bootstrap Carbon.Core/Carbon.Components/Carbon.Common Carbon.Core/Carbon.Components/Carbon.Common.Client Carbon.Core/Carbon.Components/Carbon.Compat Carbon.Core/Carbon.Components/Carbon.Modules Carbon.Core/Carbon.Components/Carbon.Preloader Carbon.Core/Carbon.Components/Carbon.SDK Carbon.Core/Carbon.Extensions/Carbon.Ext.Discord Carbon.Core/Carbon.Hooks/Carbon.Hooks.Base Carbon.Core/Carbon.Hooks/Carbon.Hooks.Oxide Carbon.Core/Carbon.Hooks/Carbon.Hooks.Community) DO (
FOR %%P IN (Carbon.Core/Carbon.Components/Carbon.Bootstrap Carbon.Core/Carbon.Components/Carbon.Common Carbon.Core/Carbon.Components/Carbon.Common.Client Carbon.Core/Carbon.Components/Carbon.Compat Carbon.Core/Carbon.Components/Carbon.Modules Carbon.Core/Carbon.Components/Carbon.Preloader Carbon.Core/Carbon.Components/Carbon.SDK Carbon.Core/Carbon.Extensions/Carbon.Ext.Discord Carbon.Core/Carbon.Hooks/Carbon.Hooks.Base Carbon.Core/Carbon.Hooks/Carbon.Hooks.Oxide Carbon.Core/Carbon.Hooks/Carbon.Hooks.Community .) DO (
echo ** Merging '%%P'
cd %BOOTSTRAP_ROOT%/%%P
git checkout %TO_BRANCH% > NUL
git merge origin/%FROM_BRANCH% -m "Merging %FROM_BRANCH% into %TO_BRANCH%" --no-ff > NUL
git merge origin/%FROM_BRANCH% -m "Merging from %FROM_BRANCH%" --no-ff > NUL
git push --set-upstream origin %TO_BRANCH% > NUL
echo done.
)
Expand Down
4 changes: 2 additions & 2 deletions Tools/Build/linux/bootstrap.sh
Expand Up @@ -28,9 +28,9 @@ echo Handling component submodules..
for TOOL in Carbon.Core/Carbon.Components/Carbon.Bootstrap Carbon.Core/Carbon.Components/Carbon.Common Carbon.Core/Carbon.Components/Carbon.Compat Carbon.Core/Carbon.Components/Carbon.Modules Carbon.Core/Carbon.Components/Carbon.Preloader Carbon.Core/Carbon.Components/Carbon.SDK Carbon.Core/Carbon.Extensions/Carbon.Ext.Discord Carbon.Core/Carbon.Hooks/Carbon.Hooks.Base Carbon.Core/Carbon.Hooks/Carbon.Hooks.Oxide Carbon.Core/Carbon.Hooks/Carbon.Hooks.Community; do
echo Updating ${TOOL}
cd ${ROOT}/${TOOL}
git clean -fd > /dev/null
git checkout ${CURRENT_BRANCH} > /dev/null
git pull . ${CURRENT_BRANCH} > /dev/null
git fetch > /dev/null
git pull > /dev/null
echo done.
done
echo Finished - handling component submodules.
Expand Down
2 changes: 1 addition & 1 deletion Tools/Build/linux/build.sh
Expand Up @@ -10,7 +10,7 @@ echo "** Get the base path of the script"
BASE="$(cd -- "$(dirname "$0")" >/dev/null 2>&1; pwd -P)"
ROOT="$(realpath "${BASE}/../../../")"

"${BASE}/publish_git.sh"
"${BASE}/publish_git.sh" ${3}

TARGET=${1:-Debug}
echo "** Set the build target config to ${TARGET}"
Expand Down
9 changes: 7 additions & 2 deletions Tools/Build/linux/publish_git.sh
Expand Up @@ -41,8 +41,13 @@ echo "** Comment done."
git log -1 --format="%ci" HEAD > .gitdate
echo "** Date done."

git describe --tags > .gittag
echo "** Tag done."
if [ -z "$1" ]; then
git describe --tags > .gittag
echo "** Tag done."
else
echo "$1" > .gittag
echo "** Tag done."
fi

git remote get-url origin > .giturl
echo "** URL done."
Expand Down
4 changes: 2 additions & 2 deletions Tools/Build/win/bootstrap.bat
Expand Up @@ -30,9 +30,9 @@ echo * Handling component submodules..
FOR %%P IN (Carbon.Core/Carbon.Components/Carbon.Bootstrap Carbon.Core/Carbon.Components/Carbon.Common Carbon.Core/Carbon.Components/Carbon.Common.Client Carbon.Core/Carbon.Components/Carbon.Compat Carbon.Core/Carbon.Components/Carbon.Modules Carbon.Core/Carbon.Components/Carbon.Preloader Carbon.Core/Carbon.Components/Carbon.SDK Carbon.Core/Carbon.Extensions/Carbon.Ext.Discord Carbon.Core/Carbon.Hooks/Carbon.Hooks.Base Carbon.Core/Carbon.Hooks/Carbon.Hooks.Oxide Carbon.Core/Carbon.Hooks/Carbon.Hooks.Community) DO (
echo ** Updating '%%P'
cd %BOOTSTRAP_ROOT%/%%P
git clean -fd > NUL
git pull . %CURRENT_BRANCH% > NUL
git checkout %CURRENT_BRANCH% > NUL
git fetch > NUL
git pull > NUL
echo done.
)
echo * Finished - handling component submodules.
Expand Down
2 changes: 0 additions & 2 deletions Tools/Build/win/publish_git.bat
Expand Up @@ -47,8 +47,6 @@ if "%1" EQU "" (
echo ** Tag done.
)



git remote get-url origin > .giturl
echo ** URL done.

Expand Down

0 comments on commit 7b447fe

Please sign in to comment.