func Display()

in pkg/display/graph/graph.go [62:97]


func Display(ctx context.Context, displayable *d.Displayable) error {
	data := displayable.Data

	switch reflect.TypeOf(data) {
	case ThermodynamicType:
		return heatmap.Display(displayable)

	case LinearMetricsType:
		return linear.Display(ctx, map[string]LinearMetrics{"": data.(LinearMetrics)})

	case MultiLinearMetricsType:
		inputs := data.(MultiLinearMetrics)
		return linear.Display(ctx, inputs)

	case TraceType:
		return tree.Display(tree.Adapt(data.(Trace)))

	case TraceBriefType:
		return tree.DisplayList(ctx, displayable)

	case GlobalMetricsType:
		return gauge.Display(ctx, data.(GlobalMetrics))

	case GlobalDataType:
		return db.Display(ctx, data.(*GlobalData))

	case EBPFProfilingAnalysisDataType:
		return flamegraph.DisplayByEBPF(ctx, data.(*EBPFProfilingAnalysis))

	case TraceProfilingAnalysisDataType:
		return flamegraph.DisplayByTrace(ctx, data.(api.ProfileAnalyzation))

	default:
		return fmt.Errorf("type of %T is not supported to be displayed as ascii graph", reflect.TypeOf(data))
	}
}