Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Memory-mapped file improvements #103

Merged
merged 13 commits into from
Mar 9, 2022
Merged

Memory-mapped file improvements #103

merged 13 commits into from
Mar 9, 2022

Conversation

msbarry
Copy link
Contributor

@msbarry msbarry commented Mar 1, 2022

Use larger memory-mapped file segments so there is less overhead opening them all, and use madvise random to improve random access read performance on memory-mapped node location file.

For now you need to opt-in to madvise random behavior by using --nodemap-madvise flag. I'll do some testing before next release to see if it should be enabled by default.

@github-actions
Copy link

github-actions bot commented Mar 1, 2022

Base 1c27d83 This Branch 414d181
0:01:39 DEB [mbtiles] - Tile stats:
0:01:39 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:39 DEB [mbtiles] - z1 avg:4k max:4k
0:01:39 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:39 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:39 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:39 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:39 DEB [mbtiles] - z6 avg:1.4k max:24k
0:01:39 DEB [mbtiles] - z7 avg:896 max:33k
0:01:39 DEB [mbtiles] - z8 avg:365 max:48k
0:01:39 DEB [mbtiles] - z9 avg:296 max:278k
0:01:39 DEB [mbtiles] - z10 avg:164 max:232k
0:01:39 DEB [mbtiles] - z11 avg:107 max:131k
0:01:39 DEB [mbtiles] - z12 avg:85 max:118k
0:01:39 DEB [mbtiles] - z13 avg:72 max:109k
0:01:39 DEB [mbtiles] - z14 avg:68 max:257k
0:01:39 DEB [mbtiles] - all avg:70 max:0
0:01:39 DEB [mbtiles] -  # features: 5,276,285
0:01:39 DEB [mbtiles] -     # tiles: 4,115,465
0:01:39 INF [mbtiles] - Finished in 22s cpu:40s avg:1.8
0:01:39 INF [mbtiles] -   read    1x(8% 2s wait:18s)
0:01:39 INF [mbtiles] -   encode  2x(45% 10s wait:6s)
0:01:39 INF [mbtiles] -   write   1x(36% 8s wait:12s)
0:01:39 INF - Finished in 1m40s cpu:2m48s gc:3s avg:1.7
0:01:39 INF - FINISHED!
0:01:39 INF - 
0:01:39 INF - ----------------------------------------
0:01:39 INF - 	overall          1m40s cpu:2m48s gc:3s avg:1.7
0:01:39 INF - 	lake_centerlines 0.8s cpu:1s avg:1.6
0:01:39 INF - 	water_polygons   22s cpu:39s gc:2s avg:1.7
0:01:39 INF - 	  read     1x(62% 14s wait:2s)
0:01:39 INF - 	  process  2x(27% 6s wait:11s)
0:01:39 INF - 	  write    1x(4% 1s wait:21s)
0:01:39 INF - 	natural_earth    12s cpu:13s avg:1.1
0:01:39 INF - 	  read     1x(60% 7s sys:1s done:4s)
0:01:39 INF - 	  process  2x(14% 2s wait:7s done:4s)
0:01:39 INF - 	  write    1x(0% 0s wait:8s done:4s)
0:01:39 INF - 	osm_pass1        3s cpu:6s avg:1.9
0:01:39 INF - 	  read     1x(2% 0.1s wait:3s)
0:01:39 INF - 	  parse    1x(66% 2s)
0:01:39 INF - 	  process  1x(26% 0.8s wait:2s)
0:01:39 INF - 	osm_pass2        27s cpu:54s avg:2
0:01:39 INF - 	  read     1x(0% 0s wait:3s done:24s)
0:01:39 INF - 	  process  2x(77% 21s)
0:01:39 INF - 	  write    1x(1% 0.3s wait:27s)
0:01:39 INF - 	boundaries       0s cpu:0.1s avg:1.7
0:01:39 INF - 	sort             4s cpu:4s avg:1.1
0:01:39 INF - 	  worker  2x(39% 2s done:2s)
0:01:39 INF - 	mbtiles          22s cpu:40s avg:1.8
0:01:39 INF - 	  read    1x(8% 2s wait:18s)
0:01:39 INF - 	  encode  2x(45% 10s wait:6s)
0:01:39 INF - 	  write   1x(36% 8s wait:12s)
0:01:39 INF - ----------------------------------------
0:01:39 INF - 	features	268MB
0:01:39 INF - 	mbtiles	514MB
-rw-r--r-- 1 runner docker 52M Mar  9 12:17 run.jar
0:01:37 DEB [mbtiles] - Tile stats:
0:01:37 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:37 DEB [mbtiles] - z1 avg:4k max:4k
0:01:37 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:37 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:37 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:37 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:37 DEB [mbtiles] - z6 avg:1.4k max:24k
0:01:37 DEB [mbtiles] - z7 avg:896 max:33k
0:01:37 DEB [mbtiles] - z8 avg:365 max:48k
0:01:37 DEB [mbtiles] - z9 avg:296 max:278k
0:01:37 DEB [mbtiles] - z10 avg:164 max:232k
0:01:37 DEB [mbtiles] - z11 avg:107 max:131k
0:01:37 DEB [mbtiles] - z12 avg:85 max:118k
0:01:37 DEB [mbtiles] - z13 avg:72 max:109k
0:01:37 DEB [mbtiles] - z14 avg:68 max:257k
0:01:37 DEB [mbtiles] - all avg:70 max:0
0:01:37 DEB [mbtiles] -  # features: 5,276,285
0:01:37 DEB [mbtiles] -     # tiles: 4,115,465
0:01:37 INF [mbtiles] - Finished in 23s cpu:42s avg:1.8
0:01:37 INF [mbtiles] -   read    1x(7% 2s wait:19s)
0:01:37 INF [mbtiles] -   encode  2x(44% 10s wait:6s)
0:01:37 INF [mbtiles] -   write   1x(35% 8s wait:13s)
0:01:37 INF - Finished in 1m38s cpu:2m49s gc:3s avg:1.7
0:01:37 INF - FINISHED!
0:01:37 INF - 
0:01:37 INF - ----------------------------------------
0:01:37 INF - 	overall          1m38s cpu:2m49s gc:3s avg:1.7
0:01:37 INF - 	lake_centerlines 0.8s cpu:1s avg:1.7
0:01:37 INF - 	water_polygons   22s cpu:39s gc:2s avg:1.7
0:01:37 INF - 	  read     1x(63% 14s wait:2s)
0:01:37 INF - 	  process  2x(27% 6s wait:11s)
0:01:37 INF - 	  write    1x(4% 0.9s wait:21s)
0:01:37 INF - 	natural_earth    8s cpu:13s avg:1.6
0:01:37 INF - 	  read     1x(87% 7s sys:1s)
0:01:37 INF - 	  process  2x(19% 2s wait:7s)
0:01:37 INF - 	  write    1x(0% 0s wait:8s)
0:01:37 INF - 	osm_pass1        4s cpu:7s avg:2
0:01:37 INF - 	  read     1x(2% 0.1s wait:3s)
0:01:37 INF - 	  process  1x(39% 1s wait:2s)
0:01:37 INF - 	  parse    1x(60% 2s)
0:01:37 INF - 	osm_pass2        26s cpu:52s avg:2
0:01:37 INF - 	  read     1x(0% 0s wait:3s done:23s)
0:01:37 INF - 	  process  2x(78% 21s)
0:01:37 INF - 	  write    1x(1% 0.3s wait:26s)
0:01:37 INF - 	boundaries       0s cpu:0.1s avg:1.8
0:01:37 INF - 	sort             3s cpu:4s avg:1.3
0:01:37 INF - 	  worker  2x(45% 1s done:2s)
0:01:37 INF - 	mbtiles          23s cpu:42s avg:1.8
0:01:37 INF - 	  read    1x(7% 2s wait:19s)
0:01:37 INF - 	  encode  2x(44% 10s wait:6s)
0:01:37 INF - 	  write   1x(35% 8s wait:13s)
0:01:37 INF - ----------------------------------------
0:01:37 INF - 	features	268MB
0:01:37 INF - 	mbtiles	514MB
-rw-r--r-- 1 runner docker 55M Mar  9 12:15 run.jar

https://github.com/onthegomap/planetiler/actions/runs/1957149852

ℹ️ Base Logs 1c27d83
0:00:00 DEB - argument: config=null (path to config file)
0:00:00 DEB - argument: area=rhode island (name of the extract to download if osm_url/osm_path not specified (i.e. 'monaco' 'rhode island' 'australia' or 'planet'))
0:00:00 INF - Using in-memory stats
0:00:00 INF [overall] - 
0:00:00 INF [overall] - Starting...
0:00:00 DEB - argument: bounds=Env[-74.07 : -17.84, 21.34 : 43.55] (bounds)
0:00:00 DEB - argument: threads=2 (num threads)
0:00:00 DEB - argument: loginterval=10 seconds (time between logs)
0:00:00 DEB - argument: minzoom=0 (minimum zoom level)
0:00:00 DEB - argument: maxzoom=14 (maximum zoom level (limit 14))
0:00:00 DEB - argument: defer_mbtiles_index_creation=false (skip adding index to mbtiles file)
0:00:00 DEB - argument: optimize_db=false (optimize mbtiles after writing)
0:00:00 DEB - argument: emit_tiles_in_order=true (emit tiles in index order)
0:00:00 DEB - argument: force=false (overwriting output file and ignore disk/RAM warnings)
0:00:00 DEB - argument: gzip_temp=false (gzip temporary feature storage (uses more CPU, but less disk space))
0:00:00 DEB - argument: sort_max_readers=6 (maximum number of concurrent read threads to use when sorting chunks)
0:00:00 DEB - argument: sort_max_writers=6 (maximum number of concurrent write threads to use when sorting chunks)
0:00:00 DEB - argument: nodemap_type=sortedtable (type of node location map: noop, sortedtable, or sparsearray)
0:00:00 DEB - argument: nodemap_storage=mmap (storage for location map: mmap or ram)
0:00:00 DEB - argument: http_user_agent=Planetiler downloader (https://github.com/onthegomap/planetiler) (User-Agent header to set when downloading files over HTTP)
0:00:00 DEB - argument: http_timeout=30 seconds (Timeout to use when downloading files over HTTP)
0:00:00 DEB - argument: http_retries=1 (Retries to use when downloading files over HTTP)
0:00:00 DEB - argument: download_chunk_size_mb=100 (Size of file chunks to download in parallel in megabytes)
0:00:00 DEB - argument: download_threads=1 (Number of parallel threads to use when downloading each file)
0:00:00 DEB - argument: min_feature_size_at_max_zoom=0.0625 (Default value for the minimum size in tile pixels of features to emit at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: min_feature_size=1.0 (Default value for the minimum size in tile pixels of features to emit below the maximum zoom level)
0:00:00 DEB - argument: simplify_tolerance_at_max_zoom=0.0625 (Default value for the tile pixel tolerance to use when simplifying features at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: simplify_tolerance=0.1 (Default value for the tile pixel tolerance to use when simplifying features below the maximum zoom level)
0:00:00 DEB - argument: osm_lazy_reads=false (Read OSM blocks from disk in worker threads)
0:00:00 DEB - argument: tmpdir=data/tmp (temp directory)
0:00:00 DEB - argument: only_download=false (download source data then exit)
0:00:00 DEB - argument: download=false (download sources)
0:00:00 DEB - argument: only_fetch_wikidata=false (fetch wikidata translations then quit)
0:00:00 DEB - argument: fetch_wikidata=false (fetch wikidata translations then continue)
0:00:00 DEB - argument: use_wikidata=true (use wikidata translations)
0:00:00 DEB - argument: wikidata_cache=data/sources/wikidata_names.json (wikidata cache file)
0:00:00 DEB - argument: lake_centerlines_path=data/sources/lake_centerline.shp.zip (lake_centerlines shapefile path)
0:00:00 DEB - argument: free_lake_centerlines_after_read=false (delete lake_centerlines input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: water_polygons_path=data/sources/water-polygons-split-3857.zip (water_polygons shapefile path)
0:00:00 DEB - argument: free_water_polygons_after_read=false (delete water_polygons input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: natural_earth_path=data/sources/natural_earth_vector.sqlite.zip (natural_earth sqlite db path)
0:00:00 DEB - argument: free_natural_earth_after_read=false (delete natural_earth input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: osm_path=data/sources/rhode_island.osm.pbf (osm OSM input file path)
0:00:00 DEB - argument: free_osm_after_read=false (delete osm input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: mbtiles=data/out.mbtiles (mbtiles output file)
0:00:00 DEB - argument: transliterate=true (attempt to transliterate latin names)
0:00:00 DEB - argument: languages=am,ar,az,be,bg,br,bs,ca,co,cs,cy,da,de,el,en,eo,es,et,eu,fi,fr,fy,ga,gd,he,hi,hr,hu,hy,id,is,it,ja,ja_kana,ja_rm,ja-Latn,ja-Hira,ka,kk,kn,ko,ko-Latn,ku,la,lb,lt,lv,mk,mt,ml,nl,no,oc,pl,pt,rm,ro,ru,sk,sl,sq,sr,sr-Latn,sv,ta,te,th,tr,uk,zh (languages to use)
0:00:00 DEB - argument: only_layers= (Include only certain layers)
0:00:00 DEB - argument: exclude_layers= (Exclude certain layers)
0:00:00 DEB - argument: boundary_country_names=true (boundary layer: add left/right codes of neighboring countries)
0:00:00 DEB - argument: transportation_z13_paths=false (transportation(_name) layer: show all paths on z13)
0:00:00 DEB - argument: building_merge_z13=true (building layer: merge nearby buildings at z13)
0:00:00 DEB - argument: transportation_name_brunnel=false (transportation_name layer: set to false to omit brunnel and help merge long highways)
0:00:00 DEB - argument: transportation_name_size_for_shield=false (transportation_name layer: allow road names on shorter segments (ie. they will have a shield))
0:00:00 DEB - argument: transportation_name_limit_merge=false (transportation_name layer: limit merge so we don't combine different relations to help merge long highways)
0:00:00 DEB - argument: mbtiles_name=OpenMapTiles ('name' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org ('description' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a> ('attribution' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_version=3.13.0 ('version' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_type=baselayer ('type' attribute for mbtiles metadata)
0:00:00 DEB - argument: help=false (show arguments then exit)
0:00:00 INF - Building BasemapProfile profile into data/out.mbtiles in these phases:
0:00:00 INF -   lake_centerlines: Process features in data/sources/lake_centerline.shp.zip
0:00:00 INF -   water_polygons: Process features in data/sources/water-polygons-split-3857.zip
0:00:00 INF -   natural_earth: Process features in data/sources/natural_earth_vector.sqlite.zip
0:00:00 INF -   osm_pass1: Pre-process OpenStreetMap input (store node locations then relation members)
0:00:00 INF -   osm_pass2: Process OpenStreetMap nodes, ways, then relations
0:00:00 INF -   sort: Sort rendered features by tile ID
0:00:00 INF -   mbtiles: Encode each tile and write to data/out.mbtiles
0:00:00 INF - error loading /home/runner/work/planetiler/planetiler/data/sources/wikidata_names.json: java.nio.file.NoSuchFileException: data/sources/wikidata_names.json
0:00:00 INF - Using merge sort feature map, chunk size=1000mb workers=2
0:00:01 INF - dataFileCache open start
0:00:01 INF [lake_centerlines] - 
0:00:01 INF [lake_centerlines] - Starting...
0:00:02 INF [lake_centerlines] -  read: [  29k 100%  41k/s ] write: [    0    0/s ] 0    
    cpus: 1.6 gc:  3% mem: 30M/4.2G direct: 24k postGC: 74M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:02 INF [lake_centerlines] -  read: [  29k 100%    0/s ] write: [    0    0/s ] 0    
    cpus: 1.5 gc:  0% mem: 30M/4.2G direct: 24k postGC: 74M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:02 INF [lake_centerlines] - Finished in 0.8s cpu:1s avg:1.6
0:00:02 INF [lake_centerlines] -   read     1x(47% 0.4s)
0:00:02 INF [lake_centerlines] -   process  2x(10% 0.1s)
0:00:02 INF [lake_centerlines] -   write    1x(0% 0s)
0:00:02 INF [water_polygons] - 
0:00:02 INF [water_polygons] - Starting...
0:00:12 INF [water_polygons] -  read: [ 2.4k  17%  243/s ] write: [ 100k 9.9k/s ] 6M   
    cpus: 1.9 gc:  9% mem: 3.6G/4.2G direct: 52M postGC: 1.1G
    read(59%) ->    (6/1k) -> process(42% 19%) ->  (1k/53k) -> write( 0%)
0:00:22 INF [water_polygons] -  read: [ 9.2k  64%  681/s ] write: [ 564k  46k/s ] 27M  
    cpus: 1.5 gc:  7% mem: 2.6G/4.2G direct: 52M postGC: 1.7G
    read(79%) ->   (1k/1k) -> process(15% 19%) -> (21k/53k) -> write( 1%)
0:00:25 INF [water_polygons] -  read: [  14k 100% 2.1k/s ] write: [ 4.3M 1.5M/s ] 186M 
    cpus: 1.9 gc:  6% mem: 3.1G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:25 INF [water_polygons] -  read: [  14k 100%    0/s ] write: [ 4.3M    0/s ] 186M 
    cpus: 0 gc:  0% mem: 3.1G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:25 INF [water_polygons] - Finished in 22s cpu:39s gc:2s avg:1.7
0:00:25 INF [water_polygons] -   read     1x(62% 14s wait:2s)
0:00:25 INF [water_polygons] -   process  2x(27% 6s wait:11s)
0:00:25 INF [water_polygons] -   write    1x(4% 1s wait:21s)
0:00:25 INF [natural_earth] - unzipping /home/runner/work/planetiler/planetiler/data/sources/natural_earth_vector.sqlite.zip to data/tmp/natearth.sqlite
0:00:30 INF [natural_earth] - 
0:00:30 INF [natural_earth] - Starting...
0:00:42 INF [natural_earth] -  read: [ 349k 100%  43k/s ] write: [  181   22/s ] 186M 
    cpus: 1.5 gc:  2% mem: 2.7G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:42 INF [natural_earth] -  read: [ 349k 100%    0/s ] write: [  181    0/s ] 186M 
    cpus: 1.1 gc:  0% mem: 2.7G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:42 INF [natural_earth] - Finished in 12s cpu:13s avg:1.1
0:00:42 INF [natural_earth] -   read     1x(60% 7s sys:1s done:4s)
0:00:42 INF [natural_earth] -   process  2x(14% 2s wait:7s done:4s)
0:00:42 INF [natural_earth] -   write    1x(0% 0s wait:8s done:4s)
0:00:42 INF [osm_pass1] - 
0:00:42 INF [osm_pass1] - Starting...
0:00:45 INF [osm_pass1] -  nodes: [ 4.5M 1.4M/s ] 354M  ways: [ 326k 104k/s ] rels: [ 7.4k 2.3k/s ] blocks: [  614  196/s ]
    cpus: 1.9 gc:  4% mem: 952M/4.2G direct: 52M postGC: 797M hppc: 880k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:45 DEB [osm_pass1] - processed blocks:614 nodes:4,575,317 ways:326,599 relations:7,431
0:00:45 INF [osm_pass1] - Finished in 3s cpu:6s avg:1.9
0:00:45 INF [osm_pass1] -   read     1x(2% 0.1s wait:3s)
0:00:45 INF [osm_pass1] -   parse    1x(66% 2s)
0:00:45 INF [osm_pass1] -   process  1x(26% 0.8s wait:2s)
0:00:45 INF [osm_pass2] - 
0:00:45 INF [osm_pass2] - Starting...
0:00:49 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:49 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0s avg:2
0:00:49 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:00:55 INF [osm_pass2] -  nodes: [ 4.5M 100% 456k/s ] 354M  ways: [ 144k  44%  14k/s ] rels: [    0   0%    0/s ] features: [ 4.8M  57k/s ] 228M  blocks: [  590  96%   58/s ]
    cpus: 2 gc:  1% mem: 2.8G/4.2G direct: 52M postGC: 806M hppc: 1.6M
    read( -%) ->  (22/103) -> process(64% 67%) -> (1.1k/53k) -> write( 2%)
0:01:05 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 354M  ways: [ 326k 100%  18k/s ] rels: [ 2.6k  35%  260/s ] features: [ 5.2M  35k/s ] 256M  blocks: [  613 100%    2/s ]
    cpus: 2 gc:  0% mem: 3.2G/4.2G direct: 52M postGC: 810M hppc:  29M
    read( -%) ->   (0/103) -> process(82% 81%) -> (1.7k/53k) -> write( 1%)
0:01:12 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 354M  ways: [ 326k 100%    0/s ] rels: [ 7.4k 100%  656/s ] features: [ 5.2M 3.3k/s ] 268M  blocks: [  614 100%   <1/s ]
    cpus: 2 gc:  1% mem: 1.7G/4.2G direct: 52M postGC: 812M hppc:  29M
    read( -%) ->   (0/103) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:12 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 354M  ways: [ 326k 100%    0/s ] rels: [ 7.4k 100%    0/s ] features: [ 5.2M    0/s ] 268M  blocks: [  614 100%    0/s ]
    cpus: 2.9 gc:  0% mem: 1.7G/4.2G direct: 52M postGC: 812M hppc:  29M
    read( -%) ->   (0/103) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:12 DEB [osm_pass2] - processed blocks:614 nodes:4,575,317 ways:326,599 relations:7,431
0:01:12 INF [osm_pass2] - Finished in 27s cpu:54s avg:2
0:01:12 INF [osm_pass2] -   read     1x(0% 0s wait:3s done:24s)
0:01:12 INF [osm_pass2] -   process  2x(77% 21s)
0:01:12 INF [osm_pass2] -   write    1x(1% 0.3s wait:27s)
0:01:12 INF [boundaries] - 
0:01:12 INF [boundaries] - Starting...
0:01:12 INF [boundaries] - Creating polygons for 1 boundaries
0:01:12 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:12 INF [boundaries] - Finished creating 0 country polygons
0:01:12 INF [boundaries] - Finished in 0s cpu:0.1s avg:1.7
0:01:12 INF - Deleting node.db to make room for output file
0:01:12 INF [sort] - 
0:01:12 INF [sort] - Starting...
0:01:16 INF [sort] -  chunks: [   1 /   1 100% ] 268M 
    cpus: 1.1 gc:  0% mem: 2.2G/4.2G direct: 52M postGC: 812M
    ->     (0/4) -> worker( -%  -%)
0:01:16 INF [sort] -  chunks: [   1 /   1 100% ] 268M 
    cpus: 0 gc:  0% mem: 2.2G/4.2G direct: 52M postGC: 812M
    ->     (0/4) -> worker( -%  -%)
0:01:16 INF [sort] - Finished in 4s cpu:4s avg:1.1
0:01:16 INF [sort] -   worker  2x(39% 2s done:2s)
0:01:16 INF - read:1s write:1s sort:0s
0:01:17 INF [mbtiles] - 
0:01:17 INF [mbtiles] - Starting...
0:01:17 DEB [mbtiles:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:17 DEB [mbtiles:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:17 DEB [mbtiles:write] - Execute mbtiles: create table tiles (zoom_level integer, tile_column integer, tile_row, tile_data blob);
0:01:17 DEB [mbtiles:write] - Execute mbtiles: create unique index tile_index on tiles (zoom_level, tile_column, tile_row)
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: format=pbf
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: version=3.13.0
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: type=baselayer
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: minzoom=0
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: maxzoom=14
0:01:17 DEB [mbtiles:write] - Set mbtiles metadata: json={"vector_layers":[{"id":"aerodrome_label","fields":{"name_int":"String","iata":"String","ele_ft":"Number","name_de":"String","name":"String","icao":"String","name:en":"String","class":"String","name_en":"String","name:latin":"String","ele":"Number"},"minzoom":10,"maxzoom":14},{"id":"aeroway","fields":{"ref":"String","class":"String"},"minzoom":10,"maxzoom":14},{"id":"boundary","fields":{"disputed":"Number","admin_level":"Number","maritime":"Number","disputed_name":"String"},"minzoom":0,"maxzoom":14},{"id":"building","fields":{"colour":"String","render_height":"Number","render_min_height":"Number"},"minzoom":13,"maxzoom":14},{"id":"housenumber","fields":{"housenumber":"String"},"minzoom":14,"maxzoom":14},{"id":"landcover","fields":{"subclass":"String","class":"String","_numpoints":"Number"},"minzoom":8,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"name_int":"String","customary_ft":"Number","ele_ft":"Number","name_de":"String","name":"String","rank":"Number","class":"String","name_en":"String","name:latin":"String","ele":"Number"},"minzoom":7,"maxzoom":14},{"id":"park","fields":{"name_int":"String","name_de":"String","name":"String","name:en":"String","class":"String","name_en":"String","name:latin":"String"},"minzoom":6,"maxzoom":14},{"id":"place","fields":{"name:fy":"String","name_int":"String","capital":"Number","name:uk":"String","name:pl":"String","name:nl":"String","name:be":"String","name:ru":"String","name:ko":"String","name_de":"String","name":"String","rank":"Number","name:en":"String","name:eo":"String","class":"String","name:hu":"String","name:ta":"String","name:zh":"String","name_en":"String","name:latin":"String"},"minzoom":2,"maxzoom":14},{"id":"poi","fields":{"name_int":"String","level":"Number","name:nonlatin":"String","layer":"Number","name_de":"String","name":"String","subclass":"String","indoor":"Number","name:en":"String","class":"String","name:zh":"String","name_en":"String","name:latin":"String"},"minzoom":12,"maxzoom":14},{"id":"transportation","fields":{"brunnel":"String","access":"String","expressway":"Number","bicycle":"String","surface":"String","level":"Number","ramp":"Number","mtb_scale":"String","toll":"Number","layer":"Number","oneway":"Number","network":"String","horse":"String","service":"String","subclass":"String","class":"String","foot":"String"},"minzoom":4,"maxzoom":14},{"id":"transportation_name","fields":{"name_int":"String","name:nonlatin":"String","route_4":"String","route_3":"String","route_2":"String","route_1":"String","layer":"Number","network":"String","ref":"String","name_de":"String","name":"String","subclass":"String","ref_length":"Number","class":"String","name_en":"String","name:latin":"String"},"minzoom":6,"maxzoom":14},{"id":"water","fields":{"intermittent":"Number","class":"String"},"minzoom":0,"maxzoom":14},{"id":"water_name","fields":{"name_int":"String","name:nonlatin":"String","name_de":"String","name":"String","intermittent":"Number","class":"String","name_en":"String","name:latin":"String"},"minzoom":9,"maxzoom":14},{"id":"waterway","fields":{"name_int":"String","brunnel":"String","name_de":"String","_relid":"Number","intermittent":"Number","name":"String","class":"String","name:latin":"String","name_en":"String"},"minzoom":4,"maxzoom":14}]}
0:01:17 INF [mbtiles:write] - Starting z0
0:01:17 INF [mbtiles:write] - Finished z0 in 0s cpu:0s avg:0, now starting z1
0:01:17 INF [mbtiles:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:17 INF [mbtiles:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:17 INF [mbtiles:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:17 INF [mbtiles:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:01:17 INF [mbtiles:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:17 INF [mbtiles:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:01:17 INF [mbtiles:write] - Finished z7 in 0s cpu:0s avg:1.5, now starting z8
0:01:18 INF [mbtiles:write] - Finished z8 in 1s cpu:2s avg:2, now starting z9
0:01:19 INF [mbtiles:write] - Finished z9 in 0.5s cpu:1s avg:2, now starting z10
0:01:19 INF [mbtiles:write] - Finished z10 in 0.2s cpu:0.4s avg:2, now starting z11
0:01:20 INF [mbtiles:write] - Finished z11 in 0.7s cpu:1s avg:2, now starting z12
0:01:22 INF [mbtiles:write] - Finished z12 in 2s cpu:3s avg:2, now starting z13
0:01:27 INF [mbtiles] -  features: [ 727k  14%  72k/s ] 268M  tiles: [ 291k  29k/s ] 46M  
    cpus: 2 gc:  3% mem: 2.3G/4.2G direct: 52M postGC: 834M
    read( 3%) -> (214/217) -> encode(58% 59%) -> (215/216) -> write( 7%)
    last tile: 13/2470/3047 (z13 4%) https://www.openstreetmap.org/#map=13/41.80408/-71.45508
0:01:32 INF [mbtiles:write] - Finished z13 in 10s cpu:20s avg:2, now starting z14
0:01:37 INF [mbtiles] -  features: [ 4.3M  82% 357k/s ] 268M  tiles: [ 2.9M 266k/s ] 378M 
    cpus: 1.7 gc:  2% mem: 1G/4.2G direct: 52M postGC: 821M
    read(10%) ->   (0/217) -> encode(39% 40%) -> (214/216) -> write(52%)
    last tile: 14/6429/6406 (z14 62%) https://www.openstreetmap.org/#map=14/36.49197/-38.73779
0:01:39 INF [mbtiles:write] - Finished z14 in 7s cpu:11s avg:1.5
0:01:39 INF [mbtiles] -  features: [ 5.2M 100% 429k/s ] 268M  tiles: [ 4.1M 511k/s ] 514M 
    cpus: 1.4 gc:  0% mem: 1.5G/4.2G direct: 52M postGC: 821M
    read( -%) ->   (0/217) -> encode( -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://www.openstreetmap.org/#map=14/43.56447/-17.84180
0:01:39 DEB [mbtiles] - Tile stats:
0:01:39 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:39 DEB [mbtiles] - z1 avg:4k max:4k
0:01:39 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:39 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:39 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:39 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:39 DEB [mbtiles] - z6 avg:1.4k max:24k
0:01:39 DEB [mbtiles] - z7 avg:896 max:33k
0:01:39 DEB [mbtiles] - z8 avg:365 max:48k
0:01:39 DEB [mbtiles] - z9 avg:296 max:278k
0:01:39 DEB [mbtiles] - z10 avg:164 max:232k
0:01:39 DEB [mbtiles] - z11 avg:107 max:131k
0:01:39 DEB [mbtiles] - z12 avg:85 max:118k
0:01:39 DEB [mbtiles] - z13 avg:72 max:109k
0:01:39 DEB [mbtiles] - z14 avg:68 max:257k
0:01:39 DEB [mbtiles] - all avg:70 max:0
0:01:39 DEB [mbtiles] -  # features: 5,276,285
0:01:39 DEB [mbtiles] -     # tiles: 4,115,465
0:01:39 INF [mbtiles] - Finished in 22s cpu:40s avg:1.8
0:01:39 INF [mbtiles] -   read    1x(8% 2s wait:18s)
0:01:39 INF [mbtiles] -   encode  2x(45% 10s wait:6s)
0:01:39 INF [mbtiles] -   write   1x(36% 8s wait:12s)
0:01:39 INF - Finished in 1m40s cpu:2m48s gc:3s avg:1.7
0:01:39 INF - FINISHED!
0:01:39 INF - 
0:01:39 INF - ----------------------------------------
0:01:39 INF - 	overall          1m40s cpu:2m48s gc:3s avg:1.7
0:01:39 INF - 	lake_centerlines 0.8s cpu:1s avg:1.6
0:01:39 INF - 	water_polygons   22s cpu:39s gc:2s avg:1.7
0:01:39 INF - 	  read     1x(62% 14s wait:2s)
0:01:39 INF - 	  process  2x(27% 6s wait:11s)
0:01:39 INF - 	  write    1x(4% 1s wait:21s)
0:01:39 INF - 	natural_earth    12s cpu:13s avg:1.1
0:01:39 INF - 	  read     1x(60% 7s sys:1s done:4s)
0:01:39 INF - 	  process  2x(14% 2s wait:7s done:4s)
0:01:39 INF - 	  write    1x(0% 0s wait:8s done:4s)
0:01:39 INF - 	osm_pass1        3s cpu:6s avg:1.9
0:01:39 INF - 	  read     1x(2% 0.1s wait:3s)
0:01:39 INF - 	  parse    1x(66% 2s)
0:01:39 INF - 	  process  1x(26% 0.8s wait:2s)
0:01:39 INF - 	osm_pass2        27s cpu:54s avg:2
0:01:39 INF - 	  read     1x(0% 0s wait:3s done:24s)
0:01:39 INF - 	  process  2x(77% 21s)
0:01:39 INF - 	  write    1x(1% 0.3s wait:27s)
0:01:39 INF - 	boundaries       0s cpu:0.1s avg:1.7
0:01:39 INF - 	sort             4s cpu:4s avg:1.1
0:01:39 INF - 	  worker  2x(39% 2s done:2s)
0:01:39 INF - 	mbtiles          22s cpu:40s avg:1.8
0:01:39 INF - 	  read    1x(8% 2s wait:18s)
0:01:39 INF - 	  encode  2x(45% 10s wait:6s)
0:01:39 INF - 	  write   1x(36% 8s wait:12s)
0:01:39 INF - ----------------------------------------
0:01:39 INF - 	features	268MB
0:01:39 INF - 	mbtiles	514MB
-rw-r--r-- 1 runner docker 52M Mar  9 12:17 run.jar
ℹ️ This Branch Logs 414d181
0:00:00 DEB - argument: config=null (path to config file)
0:00:00 DEB - argument: area=rhode island (name of the extract to download if osm_url/osm_path not specified (i.e. 'monaco' 'rhode island' 'australia' or 'planet'))
0:00:00 INF - Using in-memory stats
0:00:00 INF [overall] - 
0:00:00 INF [overall] - Starting...
0:00:00 DEB - argument: bounds=Env[-74.07 : -17.84, 21.34 : 43.55] (bounds)
0:00:00 DEB - argument: threads=2 (num threads)
0:00:00 DEB - argument: loginterval=10 seconds (time between logs)
0:00:00 DEB - argument: minzoom=0 (minimum zoom level)
0:00:00 DEB - argument: maxzoom=14 (maximum zoom level (limit 14))
0:00:00 DEB - argument: defer_mbtiles_index_creation=false (skip adding index to mbtiles file)
0:00:00 DEB - argument: optimize_db=false (optimize mbtiles after writing)
0:00:00 DEB - argument: emit_tiles_in_order=true (emit tiles in index order)
0:00:00 DEB - argument: force=false (overwriting output file and ignore disk/RAM warnings)
0:00:00 DEB - argument: gzip_temp=false (gzip temporary feature storage (uses more CPU, but less disk space))
0:00:00 DEB - argument: sort_max_readers=6 (maximum number of concurrent read threads to use when sorting chunks)
0:00:00 DEB - argument: sort_max_writers=6 (maximum number of concurrent write threads to use when sorting chunks)
0:00:00 DEB - argument: nodemap_type=sortedtable (type of node location map: noop, sortedtable, or sparsearray)
0:00:00 DEB - argument: nodemap_storage=mmap (storage for location map: mmap or ram)
0:00:00 DEB - argument: nodemap_madvise=false (use linux madvise(random) to improve memory-mapped read performance)
0:00:00 DEB - argument: http_user_agent=Planetiler downloader (https://github.com/onthegomap/planetiler) (User-Agent header to set when downloading files over HTTP)
0:00:00 DEB - argument: http_timeout=30 seconds (Timeout to use when downloading files over HTTP)
0:00:00 DEB - argument: http_retries=1 (Retries to use when downloading files over HTTP)
0:00:00 DEB - argument: download_chunk_size_mb=100 (Size of file chunks to download in parallel in megabytes)
0:00:00 DEB - argument: download_threads=1 (Number of parallel threads to use when downloading each file)
0:00:00 DEB - argument: min_feature_size_at_max_zoom=0.0625 (Default value for the minimum size in tile pixels of features to emit at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: min_feature_size=1.0 (Default value for the minimum size in tile pixels of features to emit below the maximum zoom level)
0:00:00 DEB - argument: simplify_tolerance_at_max_zoom=0.0625 (Default value for the tile pixel tolerance to use when simplifying features at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: simplify_tolerance=0.1 (Default value for the tile pixel tolerance to use when simplifying features below the maximum zoom level)
0:00:00 DEB - argument: osm_lazy_reads=false (Read OSM blocks from disk in worker threads)
0:00:00 DEB - argument: tmpdir=data/tmp (temp directory)
0:00:00 DEB - argument: only_download=false (download source data then exit)
0:00:00 DEB - argument: download=false (download sources)
0:00:00 DEB - argument: only_fetch_wikidata=false (fetch wikidata translations then quit)
0:00:00 DEB - argument: fetch_wikidata=false (fetch wikidata translations then continue)
0:00:00 DEB - argument: use_wikidata=true (use wikidata translations)
0:00:00 DEB - argument: wikidata_cache=data/sources/wikidata_names.json (wikidata cache file)
0:00:00 DEB - argument: lake_centerlines_path=data/sources/lake_centerline.shp.zip (lake_centerlines shapefile path)
0:00:00 DEB - argument: free_lake_centerlines_after_read=false (delete lake_centerlines input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: water_polygons_path=data/sources/water-polygons-split-3857.zip (water_polygons shapefile path)
0:00:00 DEB - argument: free_water_polygons_after_read=false (delete water_polygons input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: natural_earth_path=data/sources/natural_earth_vector.sqlite.zip (natural_earth sqlite db path)
0:00:00 DEB - argument: free_natural_earth_after_read=false (delete natural_earth input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: osm_path=data/sources/rhode_island.osm.pbf (osm OSM input file path)
0:00:00 DEB - argument: free_osm_after_read=false (delete osm input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: mbtiles=data/out.mbtiles (mbtiles output file)
0:00:00 DEB - argument: transliterate=true (attempt to transliterate latin names)
0:00:00 DEB - argument: languages=am,ar,az,be,bg,br,bs,ca,co,cs,cy,da,de,el,en,eo,es,et,eu,fi,fr,fy,ga,gd,he,hi,hr,hu,hy,id,is,it,ja,ja_kana,ja_rm,ja-Latn,ja-Hira,ka,kk,kn,ko,ko-Latn,ku,la,lb,lt,lv,mk,mt,ml,nl,no,oc,pl,pt,rm,ro,ru,sk,sl,sq,sr,sr-Latn,sv,ta,te,th,tr,uk,zh (languages to use)
0:00:00 DEB - argument: only_layers= (Include only certain layers)
0:00:00 DEB - argument: exclude_layers= (Exclude certain layers)
0:00:00 DEB - argument: boundary_country_names=true (boundary layer: add left/right codes of neighboring countries)
0:00:00 DEB - argument: transportation_z13_paths=false (transportation(_name) layer: show all paths on z13)
0:00:00 DEB - argument: building_merge_z13=true (building layer: merge nearby buildings at z13)
0:00:00 DEB - argument: transportation_name_brunnel=false (transportation_name layer: set to false to omit brunnel and help merge long highways)
0:00:00 DEB - argument: transportation_name_size_for_shield=false (transportation_name layer: allow road names on shorter segments (ie. they will have a shield))
0:00:00 DEB - argument: transportation_name_limit_merge=false (transportation_name layer: limit merge so we don't combine different relations to help merge long highways)
0:00:00 DEB - argument: mbtiles_name=OpenMapTiles ('name' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org ('description' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a> ('attribution' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_version=3.13.0 ('version' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_type=baselayer ('type' attribute for mbtiles metadata)
0:00:00 DEB - argument: help=false (show arguments then exit)
0:00:00 INF - Building BasemapProfile profile into data/out.mbtiles in these phases:
0:00:00 INF -   lake_centerlines: Process features in data/sources/lake_centerline.shp.zip
0:00:00 INF -   water_polygons: Process features in data/sources/water-polygons-split-3857.zip
0:00:00 INF -   natural_earth: Process features in data/sources/natural_earth_vector.sqlite.zip
0:00:00 INF -   osm_pass1: Pre-process OpenStreetMap input (store node locations then relation members)
0:00:00 INF -   osm_pass2: Process OpenStreetMap nodes, ways, then relations
0:00:00 INF -   sort: Sort rendered features by tile ID
0:00:00 INF -   mbtiles: Encode each tile and write to data/out.mbtiles
0:00:00 INF - error loading /home/runner/work/planetiler/planetiler/data/sources/wikidata_names.json: java.nio.file.NoSuchFileException: data/sources/wikidata_names.json
0:00:00 INF - Using merge sort feature map, chunk size=1000mb workers=2
0:00:01 INF - dataFileCache open start
0:00:02 INF [lake_centerlines] - 
0:00:02 INF [lake_centerlines] - Starting...
0:00:02 INF [lake_centerlines] -  read: [  29k 100%  41k/s ] write: [    0    0/s ] 0    
    cpus: 1.7 gc:  3% mem: 30M/4.2G direct: 24k postGC: 73M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:02 INF [lake_centerlines] -  read: [  29k 100%    0/s ] write: [    0    0/s ] 0    
    cpus: 2.2 gc:  0% mem: 30M/4.2G direct: 24k postGC: 73M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:02 INF [lake_centerlines] - Finished in 0.8s cpu:1s avg:1.7
0:00:02 INF [lake_centerlines] -   read     1x(60% 0.5s)
0:00:02 INF [lake_centerlines] -   process  2x(14% 0.1s)
0:00:02 INF [lake_centerlines] -   write    1x(0% 0s)
0:00:02 INF [water_polygons] - 
0:00:02 INF [water_polygons] - Starting...
0:00:12 INF [water_polygons] -  read: [ 2.4k  17%  243/s ] write: [ 100k 9.9k/s ] 5.8M 
    cpus: 1.9 gc: 11% mem: 1.4G/4.2G direct: 52M postGC: 1.3G
    read(58%) ->   (14/1k) -> process(25% 34%) -> (681/53k) -> write( 0%)
0:00:22 INF [water_polygons] -  read: [ 6.3k  44%  388/s ] write: [ 337k  23k/s ] 17M  
    cpus: 1.5 gc:  6% mem: 1.8G/4.2G direct: 52M postGC: 1.8G
    read(82%) ->    (0/1k) -> process(18% 19%) -> (1.3k/53k) -> write( 1%)
0:00:25 INF [water_polygons] -  read: [  14k 100% 3.3k/s ] write: [ 4.3M 1.6M/s ] 186M 
    cpus: 1.8 gc:  5% mem: 2.2G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:25 INF [water_polygons] -  read: [  14k 100%    0/s ] write: [ 4.3M    0/s ] 186M 
    cpus: 0 gc:  0% mem: 2.2G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:25 INF [water_polygons] - Finished in 22s cpu:39s gc:2s avg:1.7
0:00:25 INF [water_polygons] -   read     1x(63% 14s wait:2s)
0:00:25 INF [water_polygons] -   process  2x(27% 6s wait:11s)
0:00:25 INF [water_polygons] -   write    1x(4% 0.9s wait:21s)
0:00:25 INF [natural_earth] - unzipping /home/runner/work/planetiler/planetiler/data/sources/natural_earth_vector.sqlite.zip to data/tmp/natearth.sqlite
0:00:32 INF [natural_earth] - 
0:00:32 INF [natural_earth] - Starting...
0:00:40 INF [natural_earth] -  read: [ 349k 100%  45k/s ] write: [  181   23/s ] 186M 
    cpus: 1.6 gc:  0% mem: 1.5G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:40 INF [natural_earth] -  read: [ 349k 100%    0/s ] write: [  181    0/s ] 186M 
    cpus: 6.6 gc:  0% mem: 1.5G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:40 INF [natural_earth] - Finished in 8s cpu:13s avg:1.6
0:00:40 INF [natural_earth] -   read     1x(87% 7s sys:1s)
0:00:40 INF [natural_earth] -   process  2x(19% 2s wait:7s)
0:00:40 INF [natural_earth] -   write    1x(0% 0s wait:8s)
0:00:41 INF [osm_pass1] - 
0:00:41 INF [osm_pass1] - Starting...
0:00:44 INF [osm_pass1] -  nodes: [ 4.5M 1.3M/s ] 354M  ways: [ 326k  93k/s ] rels: [ 7.4k 2.1k/s ] blocks: [  614  175/s ]
    cpus: 2 gc:  0% mem: 2.3G/4.2G direct: 52M postGC: 636M hppc: 880k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:44 DEB [osm_pass1] - processed blocks:614 nodes:4,575,317 ways:326,599 relations:7,431
0:00:44 INF [osm_pass1] - Finished in 4s cpu:7s avg:2
0:00:44 INF [osm_pass1] -   read     1x(2% 0.1s wait:3s)
0:00:44 INF [osm_pass1] -   process  1x(39% 1s wait:2s)
0:00:44 INF [osm_pass1] -   parse    1x(60% 2s)
0:00:44 INF [osm_pass2] - 
0:00:44 INF [osm_pass2] - Starting...
0:00:47 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:47 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0s avg:2.1
0:00:47 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:00:54 INF [osm_pass2] -  nodes: [ 4.5M 100% 457k/s ] 354M  ways: [ 208k  64%  20k/s ] rels: [    0   0%    0/s ] features: [   5M  69k/s ] 233M  blocks: [  598  97%   59/s ]
    cpus: 2 gc:  1% mem: 1.1G/4.2G direct: 52M postGC: 811M hppc: 1.9M
    read( -%) ->  (14/103) -> process(69% 68%) -> (894/53k) -> write( 2%)
0:01:04 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 354M  ways: [ 326k 100%  11k/s ] rels: [ 3.4k  46%  339/s ] features: [ 5.2M  23k/s ] 258M  blocks: [  613 100%    1/s ]
    cpus: 2 gc:  0% mem: 3.2G/4.2G direct: 52M postGC: 826M hppc:  29M
    read( -%) ->   (0/103) -> process(83% 83%) -> (868/53k) -> write( 1%)
0:01:11 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 354M  ways: [ 326k 100%    0/s ] rels: [ 7.4k 100%  635/s ] features: [ 5.2M 3.3k/s ] 268M  blocks: [  614 100%   <1/s ]
    cpus: 2 gc:  0% mem: 3.3G/4.2G direct: 52M postGC: 826M hppc:  29M
    read( -%) ->   (0/103) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:11 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 354M  ways: [ 326k 100%    0/s ] rels: [ 7.4k 100%    0/s ] features: [ 5.2M    0/s ] 268M  blocks: [  614 100%    0/s ]
    cpus: 3.4 gc:  0% mem: 3.3G/4.2G direct: 52M postGC: 826M hppc:  29M
    read( -%) ->   (0/103) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:11 DEB [osm_pass2] - processed blocks:614 nodes:4,575,317 ways:326,599 relations:7,431
0:01:11 INF [osm_pass2] - Finished in 26s cpu:52s avg:2
0:01:11 INF [osm_pass2] -   read     1x(0% 0s wait:3s done:23s)
0:01:11 INF [osm_pass2] -   process  2x(78% 21s)
0:01:11 INF [osm_pass2] -   write    1x(1% 0.3s wait:26s)
0:01:11 INF [boundaries] - 
0:01:11 INF [boundaries] - Starting...
0:01:11 INF [boundaries] - Creating polygons for 1 boundaries
0:01:11 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:11 INF [boundaries] - Finished creating 0 country polygons
0:01:11 INF [boundaries] - Finished in 0s cpu:0.1s avg:1.8
0:01:11 INF - Deleting node.db to make room for output file
0:01:11 INF [sort] - 
0:01:11 INF [sort] - Starting...
0:01:14 INF [sort] -  chunks: [   1 /   1 100% ] 268M 
    cpus: 1.3 gc:  0% mem: 1.2G/4.2G direct: 52M postGC: 818M
    ->     (0/4) -> worker( -%)
0:01:14 INF [sort] -  chunks: [   1 /   1 100% ] 268M 
    cpus: 2.5 gc:  0% mem: 1.2G/4.2G direct: 52M postGC: 818M
    ->     (0/4) -> worker( -%)
0:01:14 INF [sort] - Finished in 3s cpu:4s avg:1.3
0:01:14 INF [sort] -   worker  2x(45% 1s done:2s)
0:01:14 INF - read:1s write:1s sort:0s
0:01:14 INF [mbtiles] - 
0:01:14 INF [mbtiles] - Starting...
0:01:14 DEB [mbtiles:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:14 DEB [mbtiles:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:14 DEB [mbtiles:write] - Execute mbtiles: create table tiles (zoom_level integer, tile_column integer, tile_row, tile_data blob);
0:01:14 DEB [mbtiles:write] - Execute mbtiles: create unique index tile_index on tiles (zoom_level, tile_column, tile_row)
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: format=pbf
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: version=3.13.0
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: type=baselayer
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: minzoom=0
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: maxzoom=14
0:01:14 DEB [mbtiles:write] - Set mbtiles metadata: json={"vector_layers":[{"id":"aerodrome_label","fields":{"name_int":"String","iata":"String","ele_ft":"Number","name_de":"String","name":"String","icao":"String","name:en":"String","class":"String","ele":"Number","name_en":"String","name:latin":"String"},"minzoom":10,"maxzoom":14},{"id":"aeroway","fields":{"ref":"String","class":"String"},"minzoom":10,"maxzoom":14},{"id":"boundary","fields":{"disputed":"Number","admin_level":"Number","maritime":"Number","disputed_name":"String"},"minzoom":0,"maxzoom":14},{"id":"building","fields":{"colour":"String","render_height":"Number","render_min_height":"Number"},"minzoom":13,"maxzoom":14},{"id":"housenumber","fields":{"housenumber":"String"},"minzoom":14,"maxzoom":14},{"id":"landcover","fields":{"subclass":"String","class":"String","_numpoints":"Number"},"minzoom":8,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"name_int":"String","customary_ft":"Number","ele_ft":"Number","name_de":"String","name":"String","rank":"Number","class":"String","name_en":"String","name:latin":"String","ele":"Number"},"minzoom":7,"maxzoom":14},{"id":"park","fields":{"name_int":"String","name_de":"String","name":"String","name:en":"String","class":"String","name_en":"String","name:latin":"String"},"minzoom":6,"maxzoom":14},{"id":"place","fields":{"name:fy":"String","name_int":"String","capital":"Number","name:uk":"String","name:pl":"String","name:nl":"String","name:be":"String","name:ru":"String","name:ko":"String","name_de":"String","name":"String","rank":"Number","name:en":"String","name:eo":"String","class":"String","name:hu":"String","name:ta":"String","name:zh":"String","name_en":"String","name:latin":"String"},"minzoom":2,"maxzoom":14},{"id":"poi","fields":{"name_int":"String","level":"Number","name:nonlatin":"String","layer":"Number","name_de":"String","name":"String","subclass":"String","indoor":"Number","name:en":"String","class":"String","name:zh":"String","name_en":"String","name:latin":"String"},"minzoom":12,"maxzoom":14},{"id":"transportation","fields":{"brunnel":"String","access":"String","expressway":"Number","bicycle":"String","surface":"String","level":"Number","ramp":"Number","mtb_scale":"String","toll":"Number","layer":"Number","oneway":"Number","network":"String","horse":"String","service":"String","subclass":"String","class":"String","foot":"String"},"minzoom":4,"maxzoom":14},{"id":"transportation_name","fields":{"name_int":"String","name:nonlatin":"String","route_4":"String","route_3":"String","route_2":"String","route_1":"String","layer":"Number","network":"String","ref":"String","name_de":"String","name":"String","subclass":"String","ref_length":"Number","class":"String","name_en":"String","name:latin":"String"},"minzoom":6,"maxzoom":14},{"id":"water","fields":{"intermittent":"Number","class":"String"},"minzoom":0,"maxzoom":14},{"id":"water_name","fields":{"name_int":"String","name:nonlatin":"String","name_de":"String","name":"String","intermittent":"Number","class":"String","name_en":"String","name:latin":"String"},"minzoom":9,"maxzoom":14},{"id":"waterway","fields":{"name_int":"String","brunnel":"String","name_de":"String","_relid":"Number","intermittent":"Number","name":"String","class":"String","name:latin":"String","name_en":"String"},"minzoom":4,"maxzoom":14}]}
0:01:15 INF [mbtiles:write] - Starting z0
0:01:15 INF [mbtiles:write] - Finished z0 in 0s cpu:0s avg:0, now starting z1
0:01:15 INF [mbtiles:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:15 INF [mbtiles:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:15 INF [mbtiles:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:15 INF [mbtiles:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:01:15 INF [mbtiles:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:15 INF [mbtiles:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:01:15 INF [mbtiles:write] - Finished z7 in 0s cpu:0.1s avg:1.8, now starting z8
0:01:16 INF [mbtiles:write] - Finished z8 in 0.9s cpu:2s avg:2, now starting z9
0:01:17 INF [mbtiles:write] - Finished z9 in 1s cpu:2s avg:2, now starting z10
0:01:17 INF [mbtiles:write] - Finished z10 in 0.3s cpu:0.6s avg:2, now starting z11
0:01:18 INF [mbtiles:write] - Finished z11 in 0.6s cpu:1s avg:2, now starting z12
0:01:20 INF [mbtiles:write] - Finished z12 in 2s cpu:4s avg:2, now starting z13
0:01:24 INF [mbtiles] -  features: [ 727k  14%  72k/s ] 268M  tiles: [ 291k  29k/s ] 46M  
    cpus: 2 gc:  9% mem: 2.5G/4.2G direct: 52M postGC: 894M
    read( 3%) -> (214/217) -> encode(57% 55%) -> (215/216) -> write( 7%)
    last tile: 13/2470/3047 (z13 4%) https://www.openstreetmap.org/#map=13/41.80408/-71.45508
0:01:30 INF [mbtiles:write] - Finished z13 in 10s cpu:20s avg:2, now starting z14
0:01:34 INF [mbtiles] -  features: [ 3.9M  74% 318k/s ] 268M  tiles: [ 2.5M 228k/s ] 334M 
    cpus: 1.8 gc:  1% mem: 2.1G/4.2G direct: 52M postGC: 953M
    read( 9%) ->   (0/217) -> encode(43% 44%) -> (214/216) -> write(45%)
    last tile: 14/6116/6737 (z14 50%) https://www.openstreetmap.org/#map=14/30.42973/-45.61523
0:01:37 INF [mbtiles:write] - Finished z14 in 7s cpu:11s avg:1.5
0:01:37 INF [mbtiles] -  features: [ 5.2M 100% 439k/s ] 268M  tiles: [ 4.1M 495k/s ] 514M 
    cpus: 1.3 gc:  0% mem: 2.8G/4.2G direct: 52M postGC: 953M
    read( -%) ->   (0/217) -> encode( -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://www.openstreetmap.org/#map=14/43.56447/-17.84180
0:01:37 DEB [mbtiles] - Tile stats:
0:01:37 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:37 DEB [mbtiles] - z1 avg:4k max:4k
0:01:37 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:37 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:37 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:37 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:37 DEB [mbtiles] - z6 avg:1.4k max:24k
0:01:37 DEB [mbtiles] - z7 avg:896 max:33k
0:01:37 DEB [mbtiles] - z8 avg:365 max:48k
0:01:37 DEB [mbtiles] - z9 avg:296 max:278k
0:01:37 DEB [mbtiles] - z10 avg:164 max:232k
0:01:37 DEB [mbtiles] - z11 avg:107 max:131k
0:01:37 DEB [mbtiles] - z12 avg:85 max:118k
0:01:37 DEB [mbtiles] - z13 avg:72 max:109k
0:01:37 DEB [mbtiles] - z14 avg:68 max:257k
0:01:37 DEB [mbtiles] - all avg:70 max:0
0:01:37 DEB [mbtiles] -  # features: 5,276,285
0:01:37 DEB [mbtiles] -     # tiles: 4,115,465
0:01:37 INF [mbtiles] - Finished in 23s cpu:42s avg:1.8
0:01:37 INF [mbtiles] -   read    1x(7% 2s wait:19s)
0:01:37 INF [mbtiles] -   encode  2x(44% 10s wait:6s)
0:01:37 INF [mbtiles] -   write   1x(35% 8s wait:13s)
0:01:37 INF - Finished in 1m38s cpu:2m49s gc:3s avg:1.7
0:01:37 INF - FINISHED!
0:01:37 INF - 
0:01:37 INF - ----------------------------------------
0:01:37 INF - 	overall          1m38s cpu:2m49s gc:3s avg:1.7
0:01:37 INF - 	lake_centerlines 0.8s cpu:1s avg:1.7
0:01:37 INF - 	water_polygons   22s cpu:39s gc:2s avg:1.7
0:01:37 INF - 	  read     1x(63% 14s wait:2s)
0:01:37 INF - 	  process  2x(27% 6s wait:11s)
0:01:37 INF - 	  write    1x(4% 0.9s wait:21s)
0:01:37 INF - 	natural_earth    8s cpu:13s avg:1.6
0:01:37 INF - 	  read     1x(87% 7s sys:1s)
0:01:37 INF - 	  process  2x(19% 2s wait:7s)
0:01:37 INF - 	  write    1x(0% 0s wait:8s)
0:01:37 INF - 	osm_pass1        4s cpu:7s avg:2
0:01:37 INF - 	  read     1x(2% 0.1s wait:3s)
0:01:37 INF - 	  process  1x(39% 1s wait:2s)
0:01:37 INF - 	  parse    1x(60% 2s)
0:01:37 INF - 	osm_pass2        26s cpu:52s avg:2
0:01:37 INF - 	  read     1x(0% 0s wait:3s done:23s)
0:01:37 INF - 	  process  2x(78% 21s)
0:01:37 INF - 	  write    1x(1% 0.3s wait:26s)
0:01:37 INF - 	boundaries       0s cpu:0.1s avg:1.8
0:01:37 INF - 	sort             3s cpu:4s avg:1.3
0:01:37 INF - 	  worker  2x(45% 1s done:2s)
0:01:37 INF - 	mbtiles          23s cpu:42s avg:1.8
0:01:37 INF - 	  read    1x(7% 2s wait:19s)
0:01:37 INF - 	  encode  2x(44% 10s wait:6s)
0:01:37 INF - 	  write   1x(35% 8s wait:13s)
0:01:37 INF - ----------------------------------------
0:01:37 INF - 	features	268MB
0:01:37 INF - 	mbtiles	514MB
-rw-r--r-- 1 runner docker 55M Mar  9 12:15 run.jar

@msbarry msbarry merged commit 0a06479 into main Mar 9, 2022
@msbarry msbarry deleted the mmap-improvements branch March 9, 2022 12:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant