Skip to content

Commit

Permalink
Remove backend flag
Browse files Browse the repository at this point in the history
  • Loading branch information
syifan committed Mar 28, 2024
1 parent e501071 commit ce4b95a
Showing 1 changed file with 3 additions and 8 deletions.
11 changes: 3 additions & 8 deletions analysis/perf_analyzer.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ type PerfAnalyzer struct {
period sim.VTimeInSec
engine sim.Engine
backend PerfAnalyzerBackend
backendFlag bool
portDataTable map[string]PerfAnalyzerEntry

mu sync.Mutex
Expand Down Expand Up @@ -121,14 +120,15 @@ func (b *PerfAnalyzer) RegisterPort(port sim.Port) {
// AddDataEntry adds a data entry to the database. It directly writes into the
// CSV file.
func (b *PerfAnalyzer) AddDataEntry(entry PerfAnalyzerEntry) {
if b.backendFlag {
if b.backend != nil {
b.backend.AddDataEntry(entry)
}

b.mu.Lock()
defer b.mu.Unlock()

key := entry.Where + entry.What + entry.EntryType + entry.Unit
b.portDataTable[key] = entry
defer b.mu.Unlock()
}

// PerfAnalyzerBuilder is a builder that can build a PerfAnalyzer.
Expand Down Expand Up @@ -183,26 +183,21 @@ func (b PerfAnalyzerBuilder) WithEngine(
// Build creates a PerfAnalyzer.
func (b PerfAnalyzerBuilder) Build() *PerfAnalyzer {
var backend PerfAnalyzerBackend
var backendFlag bool
if b.dbFilename != "" {
backendFlag = true
if b.backendType == "csv" {
backend = NewCSVPerfAnalyzerBackend(b.dbFilename)
} else if b.backendType == "sqlite" {
backend = NewSQLitePerfAnalyzerBackend(b.dbFilename)
} else {
panic("Unknown backend type")
}
} else {
backendFlag = false
}

return &PerfAnalyzer{
period: b.period,
backend: backend,
engine: b.engine,
usePeriod: b.usePeriod,
backendFlag: backendFlag,
portDataTable: make(map[string]PerfAnalyzerEntry),
}
}
Expand Down

0 comments on commit ce4b95a

Please sign in to comment.