log more steps

master
Oliver Tonnhofer 2013-05-28 14:42:14 +02:00
parent b3d1dbdbd0
commit 08e906a019
2 changed files with 60 additions and 52 deletions

110
goposm.go
View File

@ -152,68 +152,74 @@ func main() {
}
}
step := log.StartStep("Imposm")
if *read != "" {
step := log.StartStep("Reading OSM data")
progress.Start()
osmCache.Coords.SetLinearImport(true)
reader.ReadPbf(osmCache, progress, tagmapping, *read)
osmCache.Coords.SetLinearImport(false)
progress.Stop()
osmCache.Coords.Flush()
log.StopStep(step)
}
if *write {
if true {
progress.Start()
err = db.Init()
if err != nil {
die(err)
}
diffCache := cache.NewDiffCache(*cachedir)
if err = diffCache.Remove(); err != nil {
die(err)
}
if err = diffCache.Open(); err != nil {
die(err)
}
insertBuffer := writer.NewInsertBuffer()
dbWriter := writer.NewDbWriter(db, insertBuffer.Out)
pointsTagMatcher := tagmapping.PointMatcher()
lineStringsTagMatcher := tagmapping.LineStringMatcher()
polygonsTagMatcher := tagmapping.PolygonMatcher()
relations := osmCache.Relations.Iter()
relWriter := writer.NewRelationWriter(osmCache, relations,
insertBuffer, polygonsTagMatcher, progress)
relWriter.SetClipper(geometryClipper)
relWriter.Start()
// blocks till the Relations.Iter() finishes
relWriter.Close()
ways := osmCache.Ways.Iter()
wayWriter := writer.NewWayWriter(osmCache, ways, insertBuffer,
lineStringsTagMatcher, polygonsTagMatcher, progress)
wayWriter.SetClipper(geometryClipper)
wayWriter.Start()
nodes := osmCache.Nodes.Iter()
nodeWriter := writer.NewNodeWriter(osmCache, nodes, insertBuffer,
pointsTagMatcher, progress)
nodeWriter.SetClipper(geometryClipper)
nodeWriter.Start()
diffCache.Coords.Close()
wayWriter.Close()
nodeWriter.Close()
insertBuffer.Close()
dbWriter.Close()
progress.Stop()
stepImport := log.StartStep("Importing OSM data")
stepWrite := log.StartStep("Writing OSM data")
progress.Start()
err = db.Init()
if err != nil {
die(err)
}
diffCache := cache.NewDiffCache(*cachedir)
if err = diffCache.Remove(); err != nil {
die(err)
}
if err = diffCache.Open(); err != nil {
die(err)
}
insertBuffer := writer.NewInsertBuffer()
dbWriter := writer.NewDbWriter(db, insertBuffer.Out)
pointsTagMatcher := tagmapping.PointMatcher()
lineStringsTagMatcher := tagmapping.LineStringMatcher()
polygonsTagMatcher := tagmapping.PolygonMatcher()
relations := osmCache.Relations.Iter()
relWriter := writer.NewRelationWriter(osmCache, relations,
insertBuffer, polygonsTagMatcher, progress)
relWriter.SetClipper(geometryClipper)
relWriter.Start()
// blocks till the Relations.Iter() finishes
relWriter.Close()
ways := osmCache.Ways.Iter()
wayWriter := writer.NewWayWriter(osmCache, ways, insertBuffer,
lineStringsTagMatcher, polygonsTagMatcher, progress)
wayWriter.SetClipper(geometryClipper)
wayWriter.Start()
nodes := osmCache.Nodes.Iter()
nodeWriter := writer.NewNodeWriter(osmCache, nodes, insertBuffer,
pointsTagMatcher, progress)
nodeWriter.SetClipper(geometryClipper)
nodeWriter.Start()
diffCache.Coords.Close()
wayWriter.Close()
nodeWriter.Close()
insertBuffer.Close()
dbWriter.Close()
progress.Stop()
log.StopStep(stepWrite)
if db, ok := db.(database.Generalizer); ok {
if err := db.Generalize(); err != nil {
die(err)
@ -229,6 +235,7 @@ func main() {
} else {
die("database not finishable")
}
log.StopStep(stepImport)
}
if *deployProduction {
@ -260,6 +267,7 @@ func main() {
die("database not deployable")
}
}
progress.Stop()
log.StopStep(step)
}

View File

@ -128,8 +128,8 @@ func StatsReporter() *Statistics {
case STOP:
tick = nil
tock = nil
case START:
c.PrintStats()
case START:
c = counter{}
c.start = time.Now()
tick = time.Tick(500 * time.Millisecond)