JuliusBrussee/caveman · error

cachebench: empty trace

Error message

cachebench: empty trace

What it means

Error "cachebench: empty trace" thrown in JuliusBrussee/caveman.

Source

Thrown at cacheengine/cachebench/simulate.go:71

		"deterministic provider-cache simulation; no provider request was sent",
		"declared fixture token counts are modeled, not provider-counted",
		"request equivalence proves cache metadata preserved prompt semantics; it does not prove task quality",
		"97% gate is benchmark evidence only, never production or verified savings",
	}
	return report, nil
}

// EvaluateTrace runs one caller-built trace, including custom Provider/Driver
// profiles, through the same cache and safety gate used by built-in scenarios.
func EvaluateTrace(ctx context.Context, engine *cacheengine.Engine, trace Trace, target Target) (ProviderReport, error) {
	if engine == nil {
		return ProviderReport{}, errors.New("cachebench: nil cache engine")
	}
	if err := validateTarget(target); err != nil {
		return ProviderReport{}, err
	}
	if len(trace.Requests) == 0 {
		return ProviderReport{}, errors.New("cachebench: empty trace")
	}
	if err := validateTrace(trace); err != nil {
		return ProviderReport{}, err
	}
	return evaluateSimulatedTrace(ctx, engine, trace, target), nil
}

func validateTrace(trace Trace) error {
	seen := make(map[string]bool, len(trace.Requests))
	var previous time.Time
	for index, request := range trace.Requests {
		if strings.TrimSpace(request.ID) == "" || seen[request.ID] {
			return fmt.Errorf("cachebench: trace request %d empty or duplicate ID", index)
		}
		seen[request.ID] = true
		if request.At.IsZero() || (!previous.IsZero() && request.At.Before(previous)) {
			return fmt.Errorf("cachebench: trace request %q has invalid time order", request.ID)
		}

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Provide a non-empty trace.

When it happens

Trigger: Thrown at cacheengine/cachebench/simulate.go:71 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/e39678c611eb63de. Report an issue: GitHub.