Commit Graph

159 Commits

Author SHA1 Message Date
Lou Knauer
4a78a24034 Copy all byte slices from decoder
While trying to optimize things I overread this: "the byte slices returned by the Decoder methods are only valid until the next call to any other Decode method."
2022-01-24 09:50:12 +01:00
Lou Knauer
bf7c33513b reduce allocations and locking 2022-01-21 10:47:40 +01:00
Lou Knauer
76c58d7799 Add OpenAPI spec 2022-01-20 10:43:10 +01:00
Lou Knauer
b6b219a9ad Unified API for all query types; remove dead code 2022-01-20 10:42:44 +01:00
Lou Knauer
15733cb1b7 move decodeLine function 2022-01-20 10:14:28 +01:00
Lou Knauer
3fb95f88ee bugfix in query endpoint 2022-01-10 16:11:13 +01:00
Lou Knauer
97dcc95a2f add query api endpoint 2022-01-07 08:52:55 +01:00
Lou Knauer
4509a4a355 support subtypes in line protocol 2022-01-07 08:49:13 +01:00
Lou Knauer
50731e43a8 add config flag; fix bug in archive 2021-12-15 10:58:03 +01:00
Lou Knauer
ac7e981321 improve logging messages 2021-12-15 10:23:21 +01:00
Lou Knauer
878e9d7154 Start working on pre-computed stats 2021-12-15 09:59:33 +01:00
Lou Knauer
5d89d87a2d Reduce gaps/rewrites in the same cell with offset
A new buffer remembers the timestamp of the first write.
Instead of cutting of cells relative to that time, have
a little "time buffer" so that rewriting the same cell twice
happens less often.
2021-12-02 12:57:35 +01:00
Lou Knauer
becf41f98c Reset buffer size when reused
The buffers data slice size needs to be reset to 0
before it can be reused. Also, buffers that come from
the archive should not be reused as they might have
strange capacities.
2021-12-02 12:53:49 +01:00
Lou Knauer
fee0061172 Fix panic in findBuffers when Any pattern is used 2021-12-01 13:22:07 +01:00
Lou Knauer
61f9056781 Improve startup time by reading data in parallel 2021-12-01 12:30:01 +01:00
Lou Knauer
0219c48e78 Fix bug when reading past newest buffer 2021-11-30 13:09:21 +01:00
Lou Knauer
38d605b6c4 Optionally provide statistics on the timeseries enpoint
This is not useful for ClusterCockpit currently, but when archiving
a job or for the job-view, this can speed things up in the future.
2021-11-26 09:51:18 +01:00
Lou Knauer
579a05e4df Fix bug in calculation of what is archived 2021-11-22 17:50:15 +01:00
Lou Knauer
458383d152 Do re-write buffers loaded from checkpoint; Add SIGUSR1 for debugging 2021-11-22 17:04:09 +01:00
Lou Knauer
d006e26fd4 Add all-nodes api endpoint for system view 2021-11-16 11:27:28 +01:00
Christoph Kluge
eff61ce93e Use argument instead of default value for nats connection 2021-11-12 13:41:30 +01:00
Lou Knauer
1c12c655f1 api: return errors via JSON, not status codes 2021-10-19 12:17:16 +02:00
Lou Knauer
024f66f49c Make nats optional; Update README.md 2021-10-12 13:26:54 +02:00
Lou
26528151b1
Merge pull request #7 from ClusterCockpit/new-line-protocol-format
New line protocol format
2021-10-11 16:29:16 +02:00
Lou Knauer
807c613cae Add (untested) HTTP write API 2021-10-11 16:28:05 +02:00
Lou Knauer
a15238a7a9 Add multiplication by time.Second 2021-10-11 11:06:42 +02:00
Lou Knauer
fecc33a224 One less allocation 2021-10-11 10:56:38 +02:00
Lou Knauer
3aae1e80fb host to hostname in lp; update README.md 2021-10-11 10:55:36 +02:00
Lou Knauer
2fc6ad284f Handle new line-protrocol format in handleLine 2021-10-07 14:59:07 +02:00
Lou Knauer
85591e7a03 Switch to influxes line protocol parser 2021-10-07 14:52:45 +02:00
Lou Knauer
3b2ec98ba0 Update README.md, document API endpoints
Fixes #2
2021-09-20 11:25:25 +02:00
Lou Knauer
2046415f9c Change out-of-bounds behaviour 2021-09-20 10:29:55 +02:00
Lou Knauer
27a5c0b561 Use JWT authentication for the API
This commit takes care of the API part of issue #6.
2021-09-20 09:27:31 +02:00
Lou Knauer
22de7da5e4 ZIP checkpoints and move to archive 2021-09-13 13:40:39 +02:00
Lou Knauer
372d07b454 Rename archive to checkpoints; new config 2021-09-13 12:28:33 +02:00
Lou Knauer
4d17abdbc8 Support more than one line per message 2021-09-13 12:26:55 +02:00
Lou Knauer
53d5734fd5 New peek query (newest values) 2021-09-13 12:25:56 +02:00
Lou Knauer
53339eb8eb Update README.md 2021-09-08 12:26:22 +02:00
Lou Knauer
b55a67f869 New selector type for better selection of sockets/cpus 2021-09-08 12:17:10 +02:00
Lou Knauer
a269ab423b Lazy-init children; Use slice for metric buffers 2021-09-08 10:29:36 +02:00
Lou Knauer
e4c3bc4db1 Use Golangs contextes 2021-09-08 09:08:51 +02:00
Lou Knauer
c50ab30470 Introduce retention field in config.json 2021-09-07 09:28:41 +02:00
Lou Knauer
930974a8df Make stats behave like read 2021-09-07 09:24:50 +02:00
Lou Knauer
dc92d17675 Add free function; Optimize read with aggregation 2021-09-07 09:21:08 +02:00
Lou Knauer
cbe5a0714c Basic stats support 2021-09-01 08:48:35 +02:00
Lou Knauer
61bc7df93a Use RWLock instead of classical Mutex 2021-09-01 08:47:57 +02:00
Lou Knauer
63e45960e1 Update README.md 2021-08-31 15:18:06 +02:00
Lou Knauer
4c51f5c613 Fix metric-store.go and apo.go, new config file format 2021-08-31 15:17:36 +02:00
Lou Knauer
10f0da6000 New unfinished MemoryStore implementation 2021-08-31 10:52:22 +02:00
Lou Knauer
a1c41e5f5d Cleanup of project structure
I am sorry in advance for the big commits. Compilation
of the project will fail between commits and the changes
done here should probably have been separated into smaller
commits, but this project is still very fresh so I hope its fine.

Delete fileStore as it never worked anyway.
Remove lineprotocol package as it only made things more complicated
than they need to be.
2021-08-31 10:43:16 +02:00