usereport-rs 0.1.4

Collect system information for the first 60 seconds of a performance analysis
Documentation
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
          integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <title>Use Report - {{context.hostname}} on {{rfc2822 context.date_time}}</title>
</head>
<body>
<div class="container-fluid">
    <h1>Use Report - {{context.hostname}} on {{rfc2822 context.date_time}}</h1>
    <p>
    <ul class="list-group">
        <li class="list-group-item">Date: <code>{{rfc2822 context.date_time}}</code></li>
        <li class="list-group-item">Hostname: <code>{{context.hostname}}</code></li>
        <li class="list-group-item">Host OS: <code>{{context.uname}}</code></li->
    </ul>
    </p>
    <h2>Run Configuration</h2>
    <p>
    <ul class="list-group">
        {{#each context.more}}
            <li class="list-group-item">{{@key}}: {{this}}</li>{{/each}}
        <li class="list-group-item">Repetitions: {{repetitions}}</li>
        <li class="list-group-item">Parallelism: {{max_parallel_commands}}</li>
    </ul>
    </p>

    <div>
        <h2>Host Information</h2>
        <ul class="list-group">
            {{#each hostinfo_results as |result|}}
                <li class="list-group-item">
                    {{~#if result.Success}}
                        {{~#with result.Success}}
                            <h3>{{#if this.command.title}}{{this.command.title}}{{else}}{{this.command.name}}{{/if}}</h3>
                            <div class="border border-secondary rounded">
                                <pre>{{this.stdout}}</pre>
                            </div>
                            <p>
                            <small>
                                {{~#with this.command}}
                                    {{#if this.description}}
                                        <p>{{escape "\n" "<br/>" this.description}}</p>
                                    {{/if}}
                                    Command: <code>{{this.command}}</code> [{{../run_time_ms}} ms]<br/>
                                    {{#each this.links as |link|}}[<a href="{{link.url}}">{{link.name}}</a>] {{/each}}
                                {{~/with}}
                            </small>
                            </p>
                        {{/with}}
                    {{~/if}}

                    {{~#if result.Failed}}
                        {{~#with result.Failed}}
                            <h3 class="text-warning">{{#if this.command.title}}{{this.command.title}}{{else}}{{this.command.name}}{{/if}}: Failed</h3>
                            <div class="border border-secondary rounded">
                                <pre>{{this.stdout}}</pre>
                            </div>
                            <p>
                            <small>
                                {{~#with this.command}}
                                    {{#if this.description}}
                                        <p>{{escape "\n" "<br/>" this.description}}</p>
                                    {{/if}}
                                    Command: <code>{{this.command}}</code> [{{../run_time_ms}} ms]<br/>
                                    {{#each this.links as |link|}}[<a href="{{link.url}}">{{link.name}}</a>] {{/each}}
                                {{~/with}}
                            </small>
                            </p
                        {{/with}}
                    {{~/if}}

                    {{~#if result.Timeout}}
                        {{~#with result.Timeout}}
                            <h3 class="text-danger">{{#if
                                    this.command.title}}{{this.command.title}}{{else}}{{this.command.name}}{{/if}}:
                                Timed out</h3>
                            <p>
                                <small>
                                    Command: <code>{{this.command.command}}</code> [{{this.run_time_ms}} ms]<br/>
                                </small>
                            </p>
                        {{/with}}
                    {{~/if}}

                    {{~#if result.Error}}
                        {{~#with result.Error}}
                            <h3 class="text-danger">{{#if this.command.title}}{{this.command.title}}{{else}}{{this.command.name}}{{/if}}: Error</h3>
                            <p>
                                Reason: {{this.reason}}<br/>
                                <small>
                                    Command: <code>{{this.command.command}}</code> [{{this.run_time_ms}} ms]<br/>
                                </small>
                            </p>
                        {{/with}}
                    {{~/if}}
                </li>
            {{~/each}}
        </ul>
    </div>

    <hr/>

    {{#each command_results as |run|}}
        <h2>Command Results - Run {{inc @index}}</h2>
        <ul class="list-group">
            {{#each run as |result|}}
                <li class="list-group-item">
                    {{~#if result.Success}}
                        {{~#with result.Success}}
                            <h3>{{#if this.command.title}}{{this.command.title}}{{else}}{{this.command.name}}{{/if}}</h3>
                            <div class="border border-secondary rounded">
                                <pre>{{this.stdout}}</pre>
                            </div>
                        <p>
                        <small>
                            {{~#with this.command}}
                                {{#if this.description}}
                                    <p>{{escape "\n" "<br/>" this.description}}</p>
                                {{/if}}
                                Command: <code>{{this.command}}</code> [{{../run_time_ms}} ms]<br/>
                                {{#each this.links as |link|}}[<a href="{{link.url}}">{{link.name}}</a>] {{/each}}
                            {{~/with}}
                            </small>
                            </p>
                        {{/with}}
                    {{~/if}}

                    {{~#if result.Failed}}
                        {{~#with result.Failed}}
                            <h3 class="text-warning">{{#if this.command.title}}{{this.command.title}}{{else}}{{this.command.name}}{{/if}}: Failed</h3>
                            <div class="border border-secondary rounded">
                                <pre>{{this.stdout}}</pre>
                            </div>
                        <p>
                        <small>
                            {{~#with this.command}}
                                {{#if this.description}}
                                    <p>{{escape "\n" "<br/>" this.description}}</p>
                                {{/if}}
                                Command: <code>{{this.command}}</code> [{{../run_time_ms}} ms]<br/>
                                {{#each this.links as |link|}}[<a href="{{link.url}}">{{link.name}}</a>] {{/each}}
                            {{~/with}}
                            </small>
                            </p
                        {{/with}}
                    {{~/if}}

                    {{~#if result.Timeout}}
                        {{~#with result.Timeout}}
                            <h3 class="text-danger">{{#if
                                    this.command.title}}{{this.command.title}}{{else}}{{this.command.name}}{{/if}}:
                                Timed out</h3>
                            <p>
                                <small>
                                    Command: <code>{{this.command.command}}</code> [{{this.run_time_ms}} ms]<br/>
                                </small>
                            </p>
                        {{/with}}
                    {{~/if}}

                    {{~#if result.Error}}
                        {{~#with result.Error}}
                            <h3 class="text-danger">{{#if this.command.title}}{{this.command.title}}{{else}}{{this.command.name}}{{/if}}: Error</h3>
                            <p>
                                Reason: {{this.reason}}<br/>
                                <small>
                                    Command: <code>{{this.command.command}}</code> [{{this.run_time_ms}} ms]<br/>
                                </small>
                            </p>
                        {{/with}}
                    {{~/if}}
                </li>
            {{~/each}}

        </ul>
    {{/each}}

    <hr/>

    <small>Please see <a
            href="https://medium.com/netflix-techblog/linux-performance-analysis-in-60-000-milliseconds-accc10403c55">Linux
        Performance Analysis in 60,000 Milliseconds</a> for details about the individual reports.</small>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
        integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
        crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
        integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
        crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
        integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
        crossorigin="anonymous"></script>
</body>
</html>