Commit Graph

78 Commits

Author SHA1 Message Date
Dmitrii Zganiaiko aa1060a60f
Add graceful shutdown on SIGTERM 2023-02-23 12:01:51 +02:00
tidwall 3cb8e0509a Thread safe log and support for concurrent tile38 instances 2022-09-26 10:02:02 -07:00
tidwall 13ceb7da41 Removed global variables from core package
The core package uses global variables that keep from having
more than one Tile38 instance runnning in the same process.

Move the core variables in the server.Options type which are
uniquely stated per Server instance.

The build variables are still present in the core package.
2022-09-24 15:44:32 -07:00
tidwall dd11eded5c Cleanup code for Go 1.19 2022-09-12 17:06:27 -07:00
tidwall c3addbe37e Update header 2022-07-14 04:57:51 -07:00
tidwall 83cedde2df Added -x flag to tile38-cli
The new -x flag allows for passing large objects from STDIN.

  tile38-cli -x SET cities tempe OBJECT </path/to/file.geojson

See #634 for more information
2022-04-12 14:56:06 -07:00
tidwall e72b0e8f81 Added "clear" command to tile38-cli
issue #633
2022-03-08 16:13:50 -07:00
Benjamin Ramser 407ef69c96 docs: remove --logjson flag from usage 2021-12-29 08:07:30 +01:00
tidwall 517bc57e9c Ensure inlined logs
Move the LogJSON check into the log function so that the caller
function can be inlined. This is helpful for hot functions like
`log.Debug` where it's likely that the `-vv` flag is not set thus
the to avoid the extra function call.
2021-12-28 16:33:46 -07:00
Benjamin Ramser 1f7777a4ad fix: start screen 2021-12-28 11:15:53 +01:00
Benjamin Ramser 407fd4c71c refactor: set log encoding early 2021-12-27 12:20:14 +01:00
Benjamin Ramser 20cc624918 feat: add option to cmd, add default config
feat: add zap logger

test: add additional

refactor: dont export logger, use set/get/build

fix: getter and benchmark

feat: extend server config with log configuration

fix: log config write

fix: log
2021-12-26 16:06:34 +01:00
tidwall a2b874ab9d Add unix socket flag to usage 2021-09-07 05:53:01 -07:00
tidwall a737a78d6f Add unix socket support 2021-09-07 05:51:15 -07:00
tidwall fc4a627aa6 Use struct for server options 2021-09-06 08:55:13 -07:00
tidwall 991963268a Fix last merge 2021-07-10 19:32:21 -07:00
Oliver 30f7226705 add prometheus metrics endpoint 2021-05-13 21:14:04 -04:00
Sepehr Rafiee 72a9db084f add deprecation warning for depricated threads flag 2021-05-10 22:17:56 +04:30
tidwall 84a5120bc3 Fix tile38-cli output showing protocol size when piping
fixes #603
2021-03-30 08:59:25 -07:00
tidwall 6092f734e3 Better handle connection errors in tile38-cli
This commit fixes an issue with the tile38-cli where it will
continually print "Could not connect to Tile38..." when it was
unable to connect to the tile38-server.

It now cleanly prints the message only once.
2020-11-24 10:27:07 -07:00
Nikola Kovacs 8b271d1e0b
Fix typo in usage 2020-08-17 10:18:17 +02:00
tidwall d819db5f8b Added MONITOR command
closes #571
2020-08-12 12:38:52 -07:00
tidwall 66af8ab094 Fix tile38-cli from freezing with non-quoted geojson
This commit addresses an issue that began on 1.19 where the
deprecated tile38 native line protocol was removed in favor of
the more robust resp protocol. In turn the tile38 cli required
that all args are quoteless or quote escaped.

The commit ensures that the server returns the correct error
message and also loosens the strictness of the need for quoted
arguments in the tile38-cli.

fixes #513
2019-12-11 11:08:33 -07:00
tidwall 9d2753378e Fix infinite loop on connection failure 2019-11-03 13:29:33 -07:00
tidwall f9ea3f1e13 Fixed tile38-cli not propertly handling quotes
closes #500
2019-10-28 13:25:08 -07:00
tidwall 3ae59274e3 Removed evio option 2019-04-26 11:50:49 -07:00
tidwall e1a71453c7 Do not ignore SIGHUP
Use the `--nohup` flag or `nohup` command.
2019-03-19 13:49:35 -07:00
tidwall e47540ba09 Added auth flag 2019-03-14 12:05:51 -07:00
tidwall 87f57b0cd9 Added pprof flags 2019-03-14 09:24:18 -07:00
tidwall 01112c9a4f Ignore SIGHUP signals 2019-03-12 08:40:27 -07:00
tidwall 06b0d8e09e Allow for formatted json 2018-11-26 16:42:35 -07:00
tidwall 737561fa8b Fix version not being set at build, close #386 2018-11-15 13:45:55 -07:00
tidwall 7721fb8b8e Added substract flag to benchmarks 2018-11-11 09:05:26 -07:00
tidwall 090a05735f Added az benchmark test 2018-11-11 09:05:26 -07:00
tidwall 545e9316b0 Fix lua scripts 2018-11-11 09:05:26 -07:00
tidwall 44edf52f97 Updated benchmark tool 2018-11-11 09:05:11 -07:00
tidwall 372744b192 More hacking vendored circle.go 2018-11-11 09:04:00 -07:00
tidwall 161c6faff9 Added evio flag 2018-11-11 09:03:47 -07:00
tidwall 933f243c6c Code cleanup 2018-11-11 09:03:47 -07:00
tidwall 555e47036c Replaced net package with evio
- Added threads startup flag
- Replaced net package with evio
- Refactored controller into server
2018-10-28 15:51:47 -07:00
tidwall 6257ddba78 Faster point in polygon / GeoJSON updates
The big change is that the GeoJSON package has been completely
rewritten to fix a few of geometry calculation bugs, increase
performance, and to better follow the GeoJSON spec RFC 7946.

GeoJSON updates

- A LineString now requires at least two points.
- All json members, even foreign, now persist with the object.
- The bbox member persists too but is no longer used for geometry
  calculations. This is change in behavior. Previously Tile38 would
  treat the bbox as the object's physical rectangle.
- Corrections to geometry intersects and within calculations.

Faster spatial queries

- The performance of Point-in-polygon and object intersect operations
  are greatly improved for complex polygons and line strings. It went
  from O(n) to roughly O(log n).
- The same for all collection types with many children, including
  FeatureCollection, GeometryCollection, MultiPoint, MultiLineString,
  and MultiPolygon.

Codebase changes

- The pkg directory has been renamed to internal
- The GeoJSON internal package has been moved to a seperate repo at
  https://github.com/tidwall/geojson. It's now vendored.

Please look out for higher memory usage for datasets using complex
shapes. A complex shape is one that has 64 or more points. For these
shapes it's expected that there will be increase of least 54 bytes per
point.
2018-10-13 04:30:48 -07:00
tidwall 5ad27e7b5e Removed KML Support 2018-10-13 03:29:44 -07:00
tidwall 7e16ac536b Added flag for specifying event queue path
Use the `--queuefilename path` command flag

For full in-memory queue use `--queuefilename :memory:`
2018-09-04 12:26:10 -07:00
tidwall fb5c5fb244 1.13.0 2018-08-29 14:20:07 -06:00
Josh Baker e00cf4e187 Removed link 2018-06-16 11:40:22 -07:00
Leihb 33b354d83d handle Ctrl-D 2018-06-01 19:06:59 +08:00
Josh Baker 7e9871bb69 Refactor project layout
Move internal and support packages to pkg directory
2018-04-19 08:43:32 -07:00
Josh Baker 8f3ddd9e75 Add padding to menu 2018-04-12 17:18:59 -07:00
Josh Baker e45530c3b2 Add patreon link 2018-04-12 17:03:44 -07:00
Josh Baker 11b42c020b Add flags to disable AOF or to use a custom path
New server flags:
  --appendonly     yes/no
  --appendfilename path

Please note that leaders that have disabled AOF cannot be followed.
2018-04-11 10:53:36 -07:00