41 Commits

Author SHA1 Message Date
Jenkins nymea
2d08e7a028 Merge PR #241: Improve log DB housekeeping performance 2020-01-22 23:47:15 +01:00
Michael Zanetti
03c8e8d114 Improve log DB housekeeping performance
Getting row count on a db with approx 200000 entries on an RPi takes
about 500ms. To avoid this, this branch keeps better track of entries
in the DB and only queries DB count if we can't calculate it ourselves.
Trimming itself takes some 150ms. To reduce those calls it changes the
threshold of when to trim the DB from a fixed value of 100 to 1% of
maxDBSize.

Last but not least, getLogEntry() calls are now prioritized over
appendLogEntry() calls in order to stay responsive to client apps even
if the DB is overloaded with a huge job queue.

If the job queue grows to over 1000 jobs, logs of the same device/type
will be discared to avoid log flooding.
2020-01-05 23:46:51 +01:00
Michael Zanetti
b97e4e5b0c Add support for JS device plugins 2019-12-01 00:07:35 +01:00
Michael Zanetti
f36eac080f fix duplicate query execution 2019-11-15 23:12:27 +01:00
Michael Zanetti
feee5ef23a Fix tests 2019-11-01 20:55:45 +01:00
Michael Zanetti
baaa719b6a Restructuring json done 2019-11-01 20:55:45 +01:00
Michael Zanetti
5e3bc2acbd Drop JsonTypes class by distributing logic to json handlers
This is required in order to be able to be more flexible in registering
new types/methods.
2019-11-01 20:46:55 +01:00
Michael Zanetti
0d00342b3a fix tests 2019-10-30 17:35:43 +01:00
Michael Zanetti
9b1b6d86e6 Allow more granular notification subscriptions in API 2019-10-19 14:13:48 +02:00
Michael Zanetti
679e51b027 Fix failing test 2019-10-17 12:21:16 +02:00
Michael Zanetti
7f0f2d1d09 Rework devicemanager and plugin api 2019-10-16 17:56:49 +02:00
Michael Zanetti
51f5538772 Improve the PIC to detect duplicate UUIDs, give metter messages. Clean up mock plugin. 2019-07-15 22:55:11 +02:00
Michael Zanetti
d24abfe3d0 Move devicemanager's implementation out of libnymea into libnymea-core 2019-07-15 22:52:52 +02:00
Michael Zanetti
6341ce2455 stabilize test logging 2019-04-08 13:55:15 +02:00
Michael Zanetti
371c2f76c2 move servers into subdir, cleanup some includes 2019-04-08 13:55:15 +02:00
Michael Zanetti
d17aa51abf add a test 2019-04-08 13:55:15 +02:00
Michael Zanetti
b8a86b095d copyright headers guh -> nymea 2019-04-08 13:55:15 +02:00
Michael Zanetti
36d4f89b24 namespace guhserver -> namespace nymeaserver 2019-04-08 13:55:15 +02:00
Michael Zanetti
34d68ab38a guhtestbase -> nymeatestbase 2019-04-08 13:55:15 +02:00
Michael Zanetti
559a8be1f6 guhcore -> nymeacore 2019-04-08 13:55:15 +02:00
Michael Zanetti
dca764fafd guhsettings -> nymeasettings 2019-04-08 13:55:15 +02:00
Simon Stürz
e5756587a3 add log database loading tests 2019-04-02 01:02:45 +02:00
Simon Stürz
4eddeb7d52 remove unneded print oin test 2019-04-02 01:02:45 +02:00
Simon Stürz
511b43828b fix tests and libguh-core project file 2019-04-02 01:02:45 +02:00
Simon Stürz
ba526eee11 add database serialization and variant string converting to jsonrpc 2019-04-02 01:02:45 +02:00
Simon Stürz
163402e158 add database migration and variant serialization for log db 2019-04-02 01:02:45 +02:00
Michael Zanetti
ac0c035566 add some housekeeping 2019-04-02 01:02:45 +02:00
Simon Stürz
9c8097919d update license header 2019-04-02 01:02:06 +02:00
Simon Stürz
859c5b0df8 add paramTypesId and close #302 2019-04-02 01:01:21 +02:00
Simon Stürz
f5ee163c48 update copy right line 2019-04-01 20:48:17 +02:00
Simon Stürz
0eafc2f0fb add some basic httpreply calls 2019-04-01 20:48:17 +02:00
Simon Stürz
9a3390b5d6 basic calls for logging 2019-04-01 20:48:17 +02:00
Simon Stürz
295870d418 fix payload verification 2019-04-01 20:48:17 +02:00
Simon Stürz
9aa87a2681 add logging test 2019-04-01 20:48:17 +02:00
Simon Stürz
ed4794f43a fix logging tests 2019-04-01 20:48:17 +02:00
Simon Stürz
b2763cafd0 add device name
clean up guhCore
2019-04-01 20:48:17 +02:00
Simon Stürz
f954f10d0f limit log db size for tests 2019-04-01 20:48:17 +02:00
Simon Stürz
c59c9f4173 add invalid filter tests 2019-04-01 20:48:17 +02:00
Simon Stürz
fe3cc8995b add logging cleanup test 2019-04-01 20:48:17 +02:00
Simon Stürz
f74c0ffd63 add logging action ids 2019-04-01 20:48:17 +02:00
Simon Stürz
572f98bc6c add logging tests and clear database method 2019-04-01 20:48:17 +02:00