github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/sub/scanner/html.go (about)

     1  package scanner
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  	"time"
     7  
     8  	"github.com/Cloud-Foundations/Dominator/lib/format"
     9  )
    10  
    11  func (fsh *FileSystemHistory) writeHtml(writer io.Writer) {
    12  	fmt.Fprintf(writer, "Scan count: %d<br>\n", fsh.scanCount)
    13  	fmt.Fprintf(writer, "Generation count: %d<br>\n", fsh.generationCount)
    14  	if fsh.scanCount > 0 {
    15  		fmt.Fprintf(writer, "Last scan completed: %s<br>\n", fsh.timeOfLastScan)
    16  		fmt.Fprintf(writer, "Duration of last scan: %s<br>\n",
    17  			fsh.durationOfLastScan)
    18  		fsh.fileSystem.WriteHtml(writer)
    19  		tmp := format.FormatBytes(uint64(float64(
    20  			fsh.fileSystem.TotalDataBytes) / fsh.durationOfLastScan.Seconds()))
    21  		fmt.Fprintf(writer, "Scan rate: %s/s<br>\n", tmp)
    22  	}
    23  	fmt.Fprintf(writer, "Duration of current scan: %s<br>\n",
    24  		time.Since(fsh.timeOfLastScan))
    25  	if fsh.generationCount > 0 {
    26  		fmt.Fprintf(writer, "Last change: %s (%s ago)<br>\n",
    27  			fsh.timeOfLastChange, time.Since(fsh.timeOfLastChange))
    28  	}
    29  }
    30  
    31  func (fs *FileSystem) writeHtml(writer io.Writer) {
    32  	fmt.Fprintf(writer, "Scanned: <a href=\"dumpFileSystem\">%s</a><br>\n",
    33  		format.FormatBytes(fs.TotalDataBytes))
    34  }
    35  
    36  func (configuration *Configuration) writeHtml(writer io.Writer) {
    37  	speed := "unknown"
    38  	ctx := configuration.NetworkReaderContext
    39  	if ctx.MaximumSpeed() > 0 {
    40  		speed = fmt.Sprintf("%s/s (%d%% of %s/s)",
    41  			format.FormatBytes(
    42  				ctx.MaximumSpeed()*uint64(ctx.SpeedPercent())/100),
    43  			ctx.SpeedPercent(), format.FormatBytes(ctx.MaximumSpeed()))
    44  	}
    45  	fmt.Fprintf(writer, "Network Speed: %s<br>\n", speed)
    46  }