Jason Kulatunga
f2856e0f26
adding a healthcheck endpoint that confirms communication with influxdb and sqlite.
...
ref: #381
2022-11-30 08:25:27 -08:00
Jason Kulatunga
a1b0108503
Added PRAGMA settings support when connecting to SQLITE db.
...
When a transaction cannot lock the database, because it is already locked by another one,
SQLite by default throws an error: database is locked. This behavior is usually not appropriate when
concurrent access is needed, typically when multiple processes write to the same database.
PRAGMA busy_timeout lets you set a timeout or a handler for these events. When setting a timeout,
SQLite will try the transaction multiple times within this timeout.
https://rsqlite.r-dbi.org/reference/sqlitesetbusyhandler
retrying for 30000 milliseconds, 30seconds - this would be unreasonable for a distributed multi-tenant application,
but should be fine for local usage.
added mechanism for global settings (PRAGMA and DB level instructions).
fixes #341
2022-08-02 22:14:23 -07:00
Jason Kulatunga
c6579864b8
added instructions for how to create a Scope restricted InfluxDB API token for use with Scrutiny.
...
- fixes #249
2022-07-10 11:31:33 -07:00
Jason Kulatunga
4419f7f429
remove zig. remove cgo dependency for sqlite (using pkg.go.dev/modernc.org/sqlite)
2022-07-06 21:39:28 -07:00
Jason Kulatunga
168ca802d1
add support for specifying scheme for influxdb endpoint url (http vs https).
...
fixes #258
2022-05-23 09:34:16 -07:00
Jason Kulatunga
5ac0aa8f74
Forked InfluxDB SDK and added support for using pre-generated admin token during setup. This ensures we no longer need to persist the token during startup.
...
fixes #248
2022-05-18 09:14:05 -07:00
Jason Kulatunga
f39628efc3
by default show all temp data.
2022-05-06 15:08:35 -07:00
Jason Kulatunga
5bab9ac04a
make sure we can correctly save the config file if onboarding influx.
2022-05-05 23:25:00 -07:00
Jason Kulatunga
702518579b
fixed summary query.
2022-05-04 20:40:48 -07:00
Jason Kulatunga
fc5a9ba15e
fixed device processing in details page. Summary query is still broken.
2022-05-04 20:13:11 -07:00
Jason Kulatunga
9d85920f49
started working on migration code.
2022-05-03 11:50:22 -07:00
Jason Kulatunga
5fb5b9afbe
if we're completing the InfluxDB setup via automation, attempt to store the token in the config file automatically.
2022-04-30 15:56:48 -07:00
Jason Kulatunga
0a9d364aea
adding duration key to smart attributes api endpoint
2022-04-29 15:26:15 -07:00
Jason Kulatunga
f60636a6aa
broke scrutiny_repository.go into multiple files for easier exploration & maintenance.
2022-04-28 22:33:09 -07:00
Jason Kulatunga
7a7771981a
broke scrutiny_repository.go into multiple files for easier exploration & maintenance.
2022-04-28 22:29:09 -07:00
Jason Kulatunga
f569ab6474
[BROKEN COMMIT]
...
This code leverages the new `types.isType` functionality introduced in the flux language (https://github.com/influxdata/flux/issues/2159 )
This code will fix https://github.com/AnalogJ/scrutiny/issues/22 and all related issues.
Unfortunately this code is broken because the influxdb go client library does not correctly handle import statments in the task defintion.
blocked by
https://github.com/influxdata/influxdb-client-go/issues/322
2022-04-27 22:41:56 -07:00
Jason Kulatunga
903d5713fc
fixes for tests.
2021-11-21 14:39:39 -08:00
Jason Kulatunga
47e8595c9d
using constant vars for duration key magic strings. Fixing Errorf calls to correctly have template data.
2021-11-17 20:50:18 -08:00
Jason Kulatunga
bff83de3a0
query temp data across multiple buckets
2021-11-17 18:35:50 -08:00
Jason Kulatunga
03bfdd3890
changing the duration dropdown for temp history data. adding an /api/summary/temp endpoint
2021-11-16 20:39:09 -08:00
Jason Kulatunga
772063a843
find the temp history for the last week (by default). Smooth out data using aggregate window for hourly numbers. Better temp casting during influx data inflating.
2021-11-16 19:07:37 -08:00
Jason Kulatunga
b776fb8886
tweaking retention policy code so we can test downsampling scripts.
2021-11-16 18:32:29 -08:00
Jason Kulatunga
ce032c5609
fixes for Scrutiny end-to-end testing.
2021-10-28 07:35:25 -07:00
Jason Kulatunga
31b5dfa038
ensure that all buckets are created during init. Remove all references to "name" field for attributes (shoudl come from metadata instead). Status is now an int64 (0 is passing).
2021-10-24 16:01:53 -07:00
Jason Kulatunga
9878985fa3
adding aggregation code
2021-10-24 13:07:12 -07:00
Jason Kulatunga
975c034925
WIP downsample scripts.
2021-10-23 10:35:32 -07:00
Jason Kulatunga
bd19230cbf
make sure data is persisted to DB.
2021-07-25 22:32:13 -07:00
Jason Kulatunga
80f4660130
validate thresholds whenever SMART data is recieved.
2021-07-25 22:11:07 -07:00
Jason Kulatunga
8a46931399
!!!!WIP!!!!
...
adding InfluxDB
- influxdb added to dockerfile
- influxdb s6 service
- influxdb config
- adding defaults to config
- creating a DeviceRepo interface (multiple db backends)
- implemented DeviceRepo interface as ScruitnyRepository
2021-06-27 10:55:18 -07:00