Don't emit nor generate the manifest for NativeRuntimeEventSource - #86850

Merged
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127
Jun 30, 2023
Merged

Don't emit nor generate the manifest for NativeRuntimeEventSource#86850
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127

Conversation

@nickyMcDonald

Copy link
Copy Markdown
Contributor

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

@ghostghost added area-System.Diagnostics.Tracing community-contribution Indicates that the PR has been added by a community member labels May 28, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

Author:n77y
Assignees:-
Labels:

area-System.Diagnostics.Tracing, community-contribution

Milestone:-

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being so patient. I took a look and I think it is correct from an implementation point of view, but there are some formatting things I would like you to change.

@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 17, 2023

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this!

@davmason
davmason merged commit 548aafd into dotnet:mainJun 30, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Diagnostics.Tracingcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nickyMcDonald@davmason
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Don't emit nor generate the manifest for NativeRuntimeEventSource - #86850

Merged
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127
Jun 30, 2023
Merged

Don't emit nor generate the manifest for NativeRuntimeEventSource#86850
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127

Conversation

@nickyMcDonald

Copy link
Copy Markdown
Contributor

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

@ghostghost added area-System.Diagnostics.Tracing community-contribution Indicates that the PR has been added by a community member labels May 28, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

Author:n77y
Assignees:-
Labels:

area-System.Diagnostics.Tracing, community-contribution

Milestone:-

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being so patient. I took a look and I think it is correct from an implementation point of view, but there are some formatting things I would like you to change.

@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 17, 2023

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this!

@davmason
davmason merged commit 548aafd into dotnet:mainJun 30, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Diagnostics.Tracingcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nickyMcDonald@davmason
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Don't emit nor generate the manifest for NativeRuntimeEventSource - #86850

Merged
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127
Jun 30, 2023
Merged

Don't emit nor generate the manifest for NativeRuntimeEventSource#86850
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127

Conversation

@nickyMcDonald

Copy link
Copy Markdown
Contributor

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

@ghostghost added area-System.Diagnostics.Tracing community-contribution Indicates that the PR has been added by a community member labels May 28, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

Author:n77y
Assignees:-
Labels:

area-System.Diagnostics.Tracing, community-contribution

Milestone:-

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being so patient. I took a look and I think it is correct from an implementation point of view, but there are some formatting things I would like you to change.

@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 17, 2023

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this!

@davmason
davmason merged commit 548aafd into dotnet:mainJun 30, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Diagnostics.Tracingcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nickyMcDonald@davmason
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Don't emit nor generate the manifest for NativeRuntimeEventSource - #86850

Merged
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127
Jun 30, 2023
Merged

Don't emit nor generate the manifest for NativeRuntimeEventSource#86850
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127

Conversation

@nickyMcDonald

Copy link
Copy Markdown
Contributor

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

@ghostghost added area-System.Diagnostics.Tracing community-contribution Indicates that the PR has been added by a community member labels May 28, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

Author:n77y
Assignees:-
Labels:

area-System.Diagnostics.Tracing, community-contribution

Milestone:-

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being so patient. I took a look and I think it is correct from an implementation point of view, but there are some formatting things I would like you to change.

@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 17, 2023

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this!

@davmason
davmason merged commit 548aafd into dotnet:mainJun 30, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Diagnostics.Tracingcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nickyMcDonald@davmason
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Don't emit nor generate the manifest for NativeRuntimeEventSource - #86850

Merged
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127
Jun 30, 2023
Merged

Don't emit nor generate the manifest for NativeRuntimeEventSource#86850
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127

Conversation

@nickyMcDonald

Copy link
Copy Markdown
Contributor

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

@ghostghost added area-System.Diagnostics.Tracing community-contribution Indicates that the PR has been added by a community member labels May 28, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

Author:n77y
Assignees:-
Labels:

area-System.Diagnostics.Tracing, community-contribution

Milestone:-

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being so patient. I took a look and I think it is correct from an implementation point of view, but there are some formatting things I would like you to change.

@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 17, 2023

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this!

@davmason
davmason merged commit 548aafd into dotnet:mainJun 30, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Diagnostics.Tracingcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nickyMcDonald@davmason
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Don't emit nor generate the manifest for NativeRuntimeEventSource - #86850

Merged
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127
Jun 30, 2023
Merged

Don't emit nor generate the manifest for NativeRuntimeEventSource#86850
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127

Conversation

@nickyMcDonald

Copy link
Copy Markdown
Contributor

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

@ghostghost added area-System.Diagnostics.Tracing community-contribution Indicates that the PR has been added by a community member labels May 28, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

Author:n77y
Assignees:-
Labels:

area-System.Diagnostics.Tracing, community-contribution

Milestone:-

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being so patient. I took a look and I think it is correct from an implementation point of view, but there are some formatting things I would like you to change.

@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 17, 2023

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this!

@davmason
davmason merged commit 548aafd into dotnet:mainJun 30, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Diagnostics.Tracingcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nickyMcDonald@davmason
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Don't emit nor generate the manifest for NativeRuntimeEventSource - #86850

Merged
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127
Jun 30, 2023
Merged

Don't emit nor generate the manifest for NativeRuntimeEventSource#86850
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127

Conversation

@nickyMcDonald

Copy link
Copy Markdown
Contributor

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

@ghostghost added area-System.Diagnostics.Tracing community-contribution Indicates that the PR has been added by a community member labels May 28, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

Author:n77y
Assignees:-
Labels:

area-System.Diagnostics.Tracing, community-contribution

Milestone:-

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being so patient. I took a look and I think it is correct from an implementation point of view, but there are some formatting things I would like you to change.

@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 17, 2023

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this!

@davmason
davmason merged commit 548aafd into dotnet:mainJun 30, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Diagnostics.Tracingcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nickyMcDonald@davmason
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Don't emit nor generate the manifest for NativeRuntimeEventSource - #86850

Merged
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127
Jun 30, 2023
Merged

Don't emit nor generate the manifest for NativeRuntimeEventSource#86850
davmason merged 4 commits into
dotnet:mainfrom
nickyMcDonald:dev/n77y/fix83127

Conversation

@nickyMcDonald

Copy link
Copy Markdown
Contributor

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

@ghostghost added area-System.Diagnostics.Tracing community-contribution Indicates that the PR has been added by a community member labels May 28, 2023
@ghost

Copy link
Copy Markdown

Tagging subscribers to this area: @tarekgh, @tommcdon, @pjanotti
See info in area-owners.md if you want to be subscribed.

Issue Details

In issue #83127@devmason requests that the manifest for NativeRuntimeEventSource i.e., Microsoft-Windows-DotNETRuntime no longer be generated.

This PR intends to rectify that issue by adding optional functionality to the ManifestBuilder to continue with all its checks, however at a much lower memory cost. And have the NativeRuntimeEventSource utilize this functionality.

After building and testing the runtime changes in DotNet7 here are some results.

We can see that there are far fewer string and char[] allocations and no big byte[] allocation which makes sense considering that was the intent.

DotNet7 no changes:
OldNet7Screenshot 2023-05-28 110155

DotNet7 with changes:
NewNET7Screenshot 2023-05-28 105813

Author:n77y
Assignees:-
Labels:

area-System.Diagnostics.Tracing, community-contribution

Milestone:-

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for being so patient. I took a look and I think it is correct from an implementation point of view, but there are some formatting things I would like you to change.

@ghostghost added needs-author-action An issue or pull request that requires more info or actions from the author. and removed needs-author-action An issue or pull request that requires more info or actions from the author. labels Jun 17, 2023

@davmasondavmason left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sticking with this!

@davmason
davmason merged commit 548aafd into dotnet:mainJun 30, 2023
@ghostghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Diagnostics.Tracingcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@nickyMcDonald@davmason