func reportHumanFormat()

in internal/benchrunner/runners/system/report.go [101:219]


func reportHumanFormat(r *report) []byte {
	var report strings.Builder
	report.WriteString(renderBenchmarkTable(
		"info",
		"benchmark", r.Info.Benchmark,
		"description", r.Info.Description,
		"run ID", r.Info.RunID,
		"package", r.Info.Package,
		"start ts (s)", r.Info.StartTs,
		"end ts (s)", r.Info.EndTs,
		"duration", r.Info.Duration,
		"generated corpora file", r.Info.GeneratedCorporaFile,
	) + "\n")

	pkvs := []interface{}{
		"package version", r.Parameters.PackageVersion,
		"input", r.Parameters.Input,
	}

	for k, v := range r.Parameters.Vars {
		pkvs = append(pkvs, fmt.Sprintf("vars.%s", k), v)
	}

	pkvs = append(pkvs, "data_stream.name", r.Parameters.DataStream.Name)

	for k, v := range r.Parameters.DataStream.Vars {
		pkvs = append(pkvs, fmt.Sprintf("data_stream.vars.%s", k), v)
	}

	pkvs = append(pkvs,
		"warmup time period", r.Parameters.WarmupTimePeriod,
		"benchmark time period", r.Parameters.BenchmarkTimePeriod,
		"wait for data timeout", r.Parameters.WaitForDataTimeout,
	)

	if r.Parameters.Corpora.Generator != nil {
		pkvs = append(pkvs,
			"corpora.generator.total_events", r.Parameters.Corpora.Generator.TotalEvents,
			"corpora.generator.template.path", r.Parameters.Corpora.Generator.Template.Path,
			"corpora.generator.template.raw", r.Parameters.Corpora.Generator.Template.Raw,
			"corpora.generator.template.type", r.Parameters.Corpora.Generator.Template.Type,
			"corpora.generator.config.path", r.Parameters.Corpora.Generator.Config.Path,
			"corpora.generator.config.raw", r.Parameters.Corpora.Generator.Config.Raw,
			"corpora.generator.fields.path", r.Parameters.Corpora.Generator.Fields.Path,
			"corpora.generator.fields.raw", r.Parameters.Corpora.Generator.Fields.Raw,
		)
	}

	if r.Parameters.Corpora.InputService != nil {
		pkvs = append(pkvs,
			"corpora.input_service.name", r.Parameters.Corpora.InputService.Name,
			"corpora.input_service.signal", r.Parameters.Corpora.InputService.Signal,
		)
	}

	report.WriteString(renderBenchmarkTable("parameters", pkvs...) + "\n")

	report.WriteString(renderBenchmarkTable(
		"cluster info",
		"name", r.ClusterName,
		"nodes", r.Nodes,
	) + "\n")

	report.WriteString(renderBenchmarkTable(
		"data stream stats",
		"data stream", r.DataStreamStats.DataStream,
		"approx total docs ingested", r.TotalHits,
		"backing indices", r.DataStreamStats.BackingIndices,
		"store size bytes", r.DataStreamStats.StoreSizeBytes,
		"maximum ts (ms)", r.DataStreamStats.MaximumTimestamp,
	) + "\n")

	for index, du := range r.DiskUsage {
		adu := du.AllFields
		report.WriteString(renderBenchmarkTable(
			fmt.Sprintf("disk usage for index %s (for all fields)", index),
			"total", humanize.Bytes(adu.TotalInBytes),
			"inverted_index.total", humanize.Bytes(adu.InvertedIndex.TotalInBytes),
			"inverted_index.stored_fields", humanize.Bytes(adu.StoredFieldsInBytes),
			"inverted_index.doc_values", humanize.Bytes(adu.DocValuesInBytes),
			"inverted_index.points", humanize.Bytes(adu.PointsInBytes),
			"inverted_index.norms", humanize.Bytes(adu.NormsInBytes),
			"inverted_index.term_vectors", humanize.Bytes(adu.TermVectorsInBytes),
			"inverted_index.knn_vectors", humanize.Bytes(adu.KnnVectorsInBytes),
		) + "\n")
	}

	for node, pStats := range r.IngestPipelineStats {
		for pipeline, stats := range pStats {
			if stats.Count == 0 {
				continue
			}
			kvs := []interface{}{
				"Totals",
				fmt.Sprintf(
					"Count: %d | Failed: %d | Time: %s",
					stats.Count,
					stats.Failed,
					time.Duration(stats.TimeInMillis)*time.Millisecond,
				),
			}
			for _, procStats := range stats.Processors {
				str := fmt.Sprintf(
					"Count: %d | Failed: %d | Time: %s",
					procStats.Stats.Count,
					procStats.Stats.Failed,
					time.Duration(procStats.Stats.TimeInMillis)*time.Millisecond,
				)
				kvs = append(kvs, fmt.Sprintf("%s (%s)", procStats.Type, procStats.Extra), str)
			}
			report.WriteString(renderBenchmarkTable(
				fmt.Sprintf("pipeline %s stats in node %s", pipeline, node),
				kvs...,
			) + "\n")
		}
	}

	return []byte(report.String())
}