Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status Chart: Extract bugChart #4813

Merged
merged 15 commits into from
Jul 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion built/status_chart.mjs

Large diffs are not rendered by default.

146 changes: 69 additions & 77 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
<!-- SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>STL Status Chart</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@primer/[email protected]/dist/primer.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@primer/[email protected]/dist/primitives.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@primer/[email protected]/dist/primer.min.css" />
<script type="importmap">
{ "imports": {
"@kurkle/color": "https://cdn.jsdelivr.net/npm/@kurkle/[email protected]/dist/color.esm.min.js",
Expand All @@ -31,77 +32,39 @@ <h2>Explanation</h2>

<p>This chart is interactive! Click the legend to show/hide lines.</p>

<p>This chart has two vertical axes. For all lines, fewer is better.</p>

<ul>
<li>Right axis:
<ul>
<li><span class="Counter color-bg-severe-emphasis color-fg-on-emphasis">0</span>
C++17 STL features remaining to be implemented. This reached zero when we implemented
<a href="https://www.reddit.com/r/cpp/comments/dgj89g/cppcon_2019_stephan_t_lavavej_floatingpoint/"
rel="nofollow"><code>&lt;charconv&gt;</code>, C++17's final boss</a>.
</li>
<li><span class="Counter color-bg-sponsors-emphasis color-fg-on-emphasis"
id="currentValue-cxx20"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Acxx20">
C++20 STL features remaining to be implemented.</a>
This increased whenever more features were voted into the Working Paper at
<a href="https://isocpp.org/std/meetings-and-participation" rel="nofollow">WG21 meetings</a>.
</li>
<li><span class="Counter color-bg-done-emphasis color-fg-on-emphasis" id="currentValue-cxx23"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Acxx23">
C++23 STL features remaining to be implemented.</a> Also increases after WG21 meetings.
</li>
<li><span class="Counter color-bg-severe-emphasis color-fg-on-emphasis" id="currentValue-cxx26"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Acxx26">
C++26 STL features remaining to be implemented.</a> Also increases after WG21 meetings.
</li>
<li><span class="Counter color-bg-success-emphasis color-fg-on-emphasis" id="currentValue-lwg"></span>
<a
href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3ALWG+-label%3AvNext+-label%3Ablocked">
LWG issue resolutions remaining to be implemented.</a> Also increases after WG21 meetings.
</li>
<li><span class="Counter"
style="background-color:var(--color-fg-default) !important; color: var(--color-canvas-default) !important;"
id="currentValue-pr"></span>
<a href="https://github.com/microsoft/STL/pulls">Open pull requests.</a>
</li>
</ul>
<li><span class="Counter bgColor-severe-emphasis fgColor-onEmphasis">0</span>
C++17 STL features remaining to be implemented. This reached zero when we implemented
<a href="https://www.reddit.com/r/cpp/comments/dgj89g/cppcon_2019_stephan_t_lavavej_floatingpoint/"
rel="nofollow"><code>&lt;charconv&gt;</code>, C++17's final boss</a>.
</li>
<li>Left axis:
<ul>
<li><span class="Counter color-fg-on-emphasis"
style="background-color:var(--color-scale-red-7) !important" id="currentValue-vso"></span>
Active "old bugs" in our Microsoft-internal database. We're keeping them active while
porting them to GitHub, unless they're discovered to be duplicates or already fixed.</li>
<li><span class="Counter color-bg-danger-emphasis color-fg-on-emphasis" id="currentValue-bug"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Abug">
Open GitHub bugs.</a> That is, only GitHub issues that have
<span class="Label Label--danger">bug</span> labels.
</li>
<li><span class="Counter Counter--primary" id="currentValue-issue"></span>
<a
href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+-label%3Acxx20+-label%3Acxx23+-label%3Acxx26+-label%3ALWG">
Open GitHub issues.</a> That is, all GitHub issues including
<span class="Label Label--danger">bug</span>,
<span class="Label Label--accent">performance</span>,
<span class="Label Label--done">throughput</span>, etc. and excluding only
<span class="Label Label--attention">cxx20</span>,
<span class="Label Label--severe">cxx23</span>,
<span class="Label Label--attention">cxx26</span>, and
<span class="Label Label--success">LWG</span> to avoid double-counting.
</li>
<li><span class="Counter color-bg-attention-emphasis color-fg-on-emphasis"
id="currentValue-libcxx"></span>
<a href="https://github.com/microsoft/STL/blob/main/tests/libcxx/expected_results.txt">
Skipped/failing tests in the libcxx test suite.</a> There are many reasons for such tests:
STL bugs, test bugs, compiler bugs, missing STL features, missing compiler features, etc.
To avoid double-counting, this line excludes missing STL features.
</li>
</ul>
<li><span class="Counter bgColor-sponsors-emphasis fgColor-onEmphasis" id="currentValue-cxx20"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Acxx20">
C++20 STL features remaining to be implemented.</a>
</li>
<li><span class="Counter bgColor-done-emphasis fgColor-onEmphasis" id="currentValue-cxx23"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Acxx23">
C++23 STL features remaining to be implemented.</a>
</li>
<li><span class="Counter bgColor-accent-emphasis fgColor-onEmphasis" id="currentValue-cxx26"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Acxx26">
C++26 STL features remaining to be implemented.</a>
</li>
<li><span class="Counter bgColor-success-emphasis fgColor-onEmphasis" id="currentValue-lwg"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3ALWG+-label%3AvNext">
LWG issue resolutions remaining to be implemented.</a>
</li>
<li><span class="Counter bgColor-emphasis fgColor-onEmphasis" id="currentValue-pr"></span>
<a href="https://github.com/microsoft/STL/pulls">Open pull requests.</a>
</li>
</ul>

<p>For all lines, fewer is better.</p>

<p>Features and LWG issue resolutions are regularly voted into the Working Paper at
<a href="https://isocpp.org/std/meetings-and-participation" rel="nofollow">WG21 meetings</a>.
</p>

<p>We don't count "patch papers" as extra work when one paper adds a feature
and another paper modifies that feature before we've implemented it.</p>

Expand All @@ -110,20 +73,49 @@ <h2>Explanation</h2>

<hr />

<h1 id="bug">Bugs, Issues, Skipped Libcxx Tests</h1>
<canvas id="bugChart"></canvas>

<h2>Explanation</h2>
<ul>
<li><span class="Counter bgColor-done-emphasis fgColor-onEmphasis" id="currentValue-vso"></span>
Active "old bugs" in our Microsoft-internal database. We're keeping them active while
porting them to GitHub, unless they're discovered to be duplicates or already fixed.</li>
<li><span class="Counter bgColor-danger-emphasis fgColor-onEmphasis" id="currentValue-bug"></span>
<a href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+label%3Abug">
Open GitHub bugs.</a> That is, only GitHub issues that have
<span class="Label Label--danger">bug</span> labels.
</li>
<li><span class="Counter Counter--primary" id="currentValue-issue"></span>
<a
href="https://github.com/microsoft/STL/issues?q=is%3Aopen+is%3Aissue+-label%3Acxx20+-label%3Acxx23+-label%3Acxx26+-label%3ALWG">
Open GitHub issues.</a> That is, all GitHub issues including
<span class="Label Label--danger">bug</span>,
<span class="Label Label--accent">performance</span>,
<span class="Label Label--done">throughput</span>, etc. and excluding only
<span class="Label Label--attention">cxx20</span>,
<span class="Label Label--severe">cxx23</span>,
<span class="Label Label--attention">cxx26</span>, and
<span class="Label Label--success">LWG</span> to avoid double-counting.
</li>
<li><span class="Counter bgColor-attention-emphasis fgColor-onEmphasis" id="currentValue-libcxx"></span>
<a href="https://github.com/microsoft/STL/blob/main/tests/libcxx/expected_results.txt">
Skipped/failing tests in the libcxx test suite.</a> There are many reasons for such tests:
STL bugs, test bugs, compiler bugs, missing STL features, missing compiler features, etc.
To avoid double-counting, this line excludes missing STL features.
</li>
</ul>

<hr />

<h1 id="age">Pull Request Age</h1>
<canvas id="ageChart"></canvas>

<h2>Explanation</h2>
<ul>
<li>Right axis:
<ul>
<li><span class="Counter"
style="background-color:var(--color-fg-default) !important; color: var(--color-canvas-default) !important;"
id="currentValue-sum_age"></span>
The combined age of open pull requests. The unit is PR-months (like kilowatt-hours);
for example, 5 PRs that were all opened 2 months ago have a combined age of 10 PR-months.</li>
</ul>
</li>
<li><span class="Counter bgColor-emphasis fgColor-onEmphasis" id="currentValue-sum_age"></span>
The combined age of open pull requests. The unit is PR-months (like kilowatt-hours);
for example, 5 PRs that were all opened 2 months ago have a combined age of 10 PR-months.</li>
</ul>

<hr />
Expand All @@ -136,7 +128,7 @@ <h2>Explanation</h2>
and excludes PRs that were closed without being merged, which are rare.</p>

<ul>
<li><span class="Counter color-bg-accent-emphasis color-fg-on-emphasis" id="currentValue-merged"></span>
<li><span class="Counter bgColor-accent-emphasis fgColor-onEmphasis" id="currentValue-merged"></span>
Line: How many PRs have been merged over the past month.
This uses a "30 day" sliding window, with some smoothing:
<ul>
Expand Down
Loading