Skip to content

Commit

Permalink
Status Chart: Extract bugChart (#4813)
Browse files Browse the repository at this point in the history
  • Loading branch information
StephanTLavavej authored Jul 7, 2024
1 parent 8cb6524 commit e171096
Show file tree
Hide file tree
Showing 6 changed files with 403 additions and 265 deletions.
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

0 comments on commit e171096

Please sign in to comment.