Documentation
¶
Overview ¶
Package benchmark runs the opt-in production indexing acceptance harness.
Index ¶
Constants ¶
View Source
const ( ReportSchemaVersion = 1 ReportFileName = "report.json" StatusPassed = "passed" StatusFailed = "failed" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IndexReport ¶
type IndexReport struct {
Updated int `json:"updated"`
UpdatedPaths []string `json:"updated_paths"`
ContentChecked int `json:"content_checked"`
Unchanged int `json:"unchanged"`
Removed int `json:"removed"`
RemovedPaths []string `json:"removed_paths"`
Skipped int `json:"skipped"`
SkippedPaths []string `json:"skipped_paths,omitempty"`
Counts graph.Counts `json:"counts"`
Phases indexer.PhaseDurations `json:"phases"`
Writes graph.WriteStats `json:"writes"`
ReconciliationBatches int `json:"reconciliation_batches"`
}
type InputCoverage ¶
type InputCoverage struct {
Tracked InputStats `json:"tracked"`
Supported InputStats `json:"supported"`
Routed InputStats `json:"routed"`
Indexable InputStats `json:"indexable"`
ByLanguage map[string]InputStats `json:"by_language"`
Unsupported InputStats `json:"unsupported"`
UnsupportedPaths []string `json:"unsupported_paths"`
Skipped InputStats `json:"skipped"`
SkippedPaths []string `json:"skipped_paths"`
SkippedSymlinks []string `json:"skipped_symlinks,omitempty"`
}
type InputStats ¶
type OptionalBytes ¶
type Options ¶
type Options struct {
Repository string
Output string
Baseline string
Engine string
CleanupDatabase bool
MaxWALBytes int64
MaxRSSBytes int64
// ParseWorkers overrides the indexer's derived parse pool size. Zero keeps
// the derived default. It exists so a worker-count matrix can be measured
// without editing source, and the value the run resolved is reported rather
// than left to be inferred from the machine.
ParseWorkers int
}
type ParseWorkers ¶ added in v0.2.3
type ParseWorkers struct {
Requested int `json:"requested"`
Resolved int `json:"resolved"`
CPUs int `json:"cpus"`
}
ParseWorkers records the parse pool the run used. Requested is what the caller asked for, zero meaning it asked for nothing; Resolved is the count the indexer actually ran, so comparing two reports never depends on reconstructing the default from the machine that produced them.
type Report ¶
type Report struct {
SchemaVersion int `json:"schema_version"`
SemanticIndexVersion string `json:"semantic_index_version"`
GraphSchemaVersion int `json:"graph_schema_version"`
GrafoVersion string `json:"grafo_version"`
GrafoCommit string `json:"grafo_commit"`
GrafoDirty bool `json:"grafo_dirty"`
Storage Storage `json:"storage"`
GeneratedAt string `json:"generated_at"`
Status string `json:"status"`
Error string `json:"error,omitempty"`
Corpus Corpus `json:"corpus"`
ParseWorkers ParseWorkers `json:"parse_workers"`
Inputs InputCoverage `json:"inputs"`
Scenarios []ScenarioReport `json:"scenarios"`
Artifacts Artifacts `json:"artifacts"`
Baseline *Baseline `json:"baseline,omitempty"`
}
type ResourceMetrics ¶
type ResourceMetrics struct {
PeakWALBytes OptionalBytes `json:"peak_wal"`
FinalWALBytes OptionalBytes `json:"final_wal"`
PeakRSSBytes OptionalBytes `json:"peak_rss"`
DatabaseBytes OptionalBytes `json:"database_size"`
}
type ScenarioReport ¶
type ScenarioReport struct {
Name string `json:"name"`
Status string `json:"status"`
Error string `json:"error,omitempty"`
Index IndexReport `json:"index"`
Resources ResourceMetrics `json:"resources"`
}
Click to show internal directories.
Click to hide internal directories.