Commit Graph

48 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
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
Nikola Kovacs 8b271d1e0b
Fix typo in usage 2020-08-17 10:18:17 +02: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 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 737561fa8b Fix version not being set at build, close #386 2018-11-15 13:45:55 -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 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
Josh Baker e00cf4e187 Removed link 2018-06-16 11:40:22 -07: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
Josh Baker d3329f07aa discard quiet logs 2017-10-03 08:53:09 -07:00
Josh Baker 8d5f447e3e updated logger 2017-10-03 08:49:33 -07:00
Josh Baker a10b290357 pidfile option, closes #20 2017-02-24 07:05:28 -07:00
Josh Baker 7a077fa179 moved url up one line 2017-02-12 07:12:15 -07:00
Josh Baker cadf6cb851 Added http-transport to SERVER call
* fixed index out of range error when --http-transport provided
  without value.
2017-01-13 08:53:01 -07:00
Pavel Makarenko a4e5d38461 Disable HTTP & WebSocket transports on demand. (#128)
* Added .idea folder into .gitignore

* Added --http-transport flag

* Fixed test & Removed some dumps

* Added support of yes/no
2017-01-13 08:45:28 -07:00
Josh Baker bafb1823b3 Metadata for Webhooks
Added the `META name value` keyword to the SETHOOK command.

Allows for adding metadata to a webhook. For example:

    SETHOOK myhook http://endpoint/ META m1 12 META m2 13 NEARBY ...

Would result in notification that contain the "meta" element, which is
represented like:

    "meta":{"m1":"12","m2":"13"}

Thanks for the suggestion @amorskoy

closed #105
2016-12-29 08:50:54 -07:00
Josh Baker f2026e1d8d grpc support 2016-09-11 21:09:02 -07:00
Josh Baker 3a6a33ea9a added hook example comment 2016-05-23 13:10:43 -07:00
Josh Baker 464d4eb4ed http hook & shrink 2016-03-19 18:31:59 -07:00
Josh Baker 7ab4051af3 allow non-git make 2016-03-13 16:39:04 -07:00
Josh Baker 95125e0a04 allow optional protected-mode 2016-03-08 06:11:03 -07:00
Josh Baker 73ea8b8ee4 authentication resolves #3 2016-03-07 17:38:59 -07:00
Josh Baker 72de5cc778 refactor 2016-03-06 07:55:00 -07:00
Josh Baker 5b0a255ea6 -host flag, fixes #2 2016-03-05 13:39:36 -07:00
Josh Baker c83d915111 include mains 2016-03-04 16:18:33 -07:00