aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-07-05Improve buf allocation for curl requestsSebastien Douheret1-3/+4
Use alloca to allocate write buffer used to send curl requests. Better solution would be to allocate one time (using malloc) and then realloc if needed (IOW current buf size is not suffisant). Change-Id: I9c2ea8628025edd76964993e11d693f1b945045b Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2019-07-05Fix DEFAULT_DBHOST setting (remove double column)Sebastien Douheret1-3/+3
Bug introduced by previous commit 5de858ef8eb117fab. Change-Id: I628b8b13ddbb8dc6a672f1d5378bf496d8ef8fd1
2019-07-05Add comments and re-ident codeSebastien Douheret4-53/+61
Change-Id: Ibb4636bd968d6e4fd564ab40d5cf59e5a6ec6210 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2019-06-27Fix strings serializationhalibut_7.99.2halibut/7.99.27.99.2Sebastien Douheret1-1/+1
Also update and improve influxdb install instructions in README.md. Bug-AGL: SPEC-2578 Change-Id: I3a009efb2c1deed72635fbe18f586bddf14ddedb Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2019-05-24Fix InfluxDB request formathalibut_7.99.1halibut/7.99.17.99.1Johann CAHIER1-11/+16
As per: https://docs.influxdata.com/influxdb/v1.7/write_protocols/ separator should be a comma between metric name and metadatas (tags). Bug-AGL: SPEC-2416 Change-Id: Iedfa21ec8e61aa406600711b38e5ac2b0e87d776 Signed-off-by: Johann CAHIER <johann.cahier@iot.bzh>
2019-05-24Better memory management in chained listJohann CAHIER5-43/+47
key is now managed internally, using a copy. add_elt() / add_key() now provide a 'suffix' parameter. If suffix is given, it is appended to the key. If NULL, or empty string ("") is given, nothing is appended. NOTE : value is still owned by json object. Bug-AGL: SPEC-2416 Change-Id: I624a2dd211801c2d24b2c6739f2c7536a047ea32 Signed-off-by: Johann CAHIER <johann.cahier@iot.bzh>
2019-05-21Fix influxdb-writer reporting of multiple valueJohann CAHIER1-26/+24
When the verb 'write' is called with a set of multiple values, the request sent to to influxdb will include the first value N times. Also cleaned/factorized a bit the code... Bug-AGL: SPEC-2416 Change-Id: Iafee9b472e8ef451bb048aaf487c94f3b0ae1c57 Signed-off-by: Johann CAHIER <johann.cahier@iot.bzh>
2019-04-01Git submodule migration to separated librariesRomain Forlot7-76/+60
- Replace controller binder functions definition with the binder ones. and remove the last used submodules to use the separated libraries. Bug-AGL: SPEC-2139 Change-Id: I0e354757dec692c13b49f02226fcf891953667f5 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix compilation error 'unitialized variable'Romain Forlot1-1/+1
Change-Id: I5add16da1851262268eca5f71ee793cbb6ef62dc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Make compatible with APIv3 + DYNAPIRomain Forlot1-1/+1
Change-Id: I8c60e047e94a5388f75cc6273f09dd68f4014379 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix typoRomain Forlot1-137/+138
Change-Id: I586b9c1d37e28d41f163cb8f25c161645787835c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Making ping verb staticRomain Forlot1-1/+1
Change-Id: Ifbd3c5d89904581f2bf2cfbd55b29a71109788ed Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Set reader function unavailable for nowRomain Forlot1-0/+3
Reader is WIP and should not be used for the moment. Change-Id: Ic106dbe9382f0611ab8c05c6bb4ca61e4153eb39 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Use latest version of app-controller-submodule submodule.Sebastien Douheret2-3/+3
Changes of app-controller-submodule: (c04f029 - Sebastien Douheret) Fixed hidden bound variable (apiHandle) (cfe3919 - Sebastien Douheret) Fixed null value when push Lua arguments (69c0585 - José Bollo) Adjust to compile with incoming bindings v3 (d7e260c - José Bollo) Remove declaration to not existing functions (8ac6625 - Romain Forlot) Add 2 lua utilities function (d3504bb - Jonathan Aillet) Update README.md for new metadata keys. (690bdee - Jonathan Aillet) Fix a compilation issue due to modif of AFB_ReqSuccess (4063ff0 - Clément Bénier) README:md: update README accordingly to new json scheme. (e9f423a - Sebastien Douheret) Fixed crash due to call to json_object_put (ce3e14c - Sebastien Douheret) Fix segfault when printing long message from lua (6838dff - Sebastien Douheret) Fixed spelling of AFB_ReqSuccess (5b079d4 - Jonathan Aillet) Remove an unnecessary variable (ddd10be - Jonathan Aillet) Make parsing of action loading non blocking (540522a - Jonathan Aillet) Use an external file for app fw functions link (50feaf0 - Jonathan Aillet) Use macro to test request validity (bcd9efc - Sebastien Douheret) Fixed build warnings with gcc >= 7.3 (0e30275 - Jonathan Aillet) Increase lua script max message size (263731b - Jonathan Aillet) Prevent lost of config file path when searching (8ce6d20 - Jonathan Aillet) Correct way that api actions are handled in controller (64671ea - Jonathan Aillet) Handle more metadata in the controller. (53bc4e4 - Jonathan Aillet) Add possibility to set prefix to NULL in CtlConfigScan Change-Id: I25e46f4bf84f988035faaeb35fac7904d0231429 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Don't suffix tags and fields namesSebastien Douheret1-2/+2
Change-Id: Ib6b5101a6b105f0f024777ee52d9266f34e88f46 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Escape special characters according to influxDB docSebastien Douheret2-16/+44
Change-Id: I22724b547033b40b3160c3bbe1b2141349a1ead2 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Fixed invalid pointer when concatenating fieldsSebastien Douheret2-235/+230
Change-Id: Ie4a3798d3b3bad3cd2c36154c2b989938e4114b4 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Fixed bug when searching tail of listSebastien Douheret1-67/+62
When searching tail of list, you cannot use directly input parameter (*l) , you should use a local variable instead (here new_elt). Change-Id: I13fc042f85580342ecf33cca2067a37ee55f4799 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Escaped special characters for measurement, tags and fieldsSebastien Douheret2-13/+66
See https://docs.influxdata.com/influxdb/v1.5/write_protocols/line_protocol_reference/#special-characters for more info. Change-Id: Iad2f7d00b7d6c42dbea33df03a75353e9cac97a9 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Improved perf (define concatenate as inline function).Sebastien Douheret2-8/+7
Change-Id: If682e464346078b7254fbc10123e82787e089011 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Update READMESebastien Douheret1-1/+1
Change-Id: Iac523214e776b8f3e7bf7479a3774c46c84df398 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Fix: not retrieve timestamp from argumentsRomain Forlot1-2/+4
Change-Id: I7aaaa4c544428899d7e383b3bbd2ae29312ca15b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix: missing NULL array terminatorRomain Forlot1-1/+1
Make to sure to allocate enough space to store a NULL pointer at the termination of the pointer array. Then it could be browsed correctly Change-Id: I6d13ba63715e688cd8fdc634ceabb9d3ec84eb87 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix logging messages.Romain Forlot1-1/+3
Change-Id: I9cc4e031947f5f8c161f8732fc049762b738d994 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Convert the binding to use the controllerRomain Forlot11-222/+368
Ease Time series DB abstraction layer by using Dyn API that implemente the API defined by the JSON schema. Change-Id: I67de4fbca10048201fdd2da683732a5f4f5b5368 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix memory leak and avoid compile warningRomain Forlot4-15/+12
Change-Id: Ib0bcba9daad456f63c0ea704e1fa87f44b6acc98 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10WIP TBFRomain Forlot1-9/+14
Memory Issue Change-Id: Iedec08f6f070df369b761f38724b3e11a29df7dc Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix: filling the series lists.Romain Forlot1-6/+7
Change-Id: I9d114d61e785449d438e1455ac3e64c69aba30fe Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Externalize Curl dependency within afb-helpersRomain Forlot2-2/+31
Change-Id: I50a4c6f440730a8776f7bb5c58c756c35bca5db8 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Use news wrap curl functions.Romain Forlot2-2/+2
Change-Id: Idb05592f1deca3db9017c2717a5cc77d8880da2d Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix wrong handling of metrics argumentsRomain Forlot1-7/+21
Always handle arguments as an array even if we receive a simple JSON object. This imply using an intermediary variable Change-Id: I0af8fdcd87e4d3f94d88d64ff7195f6c78002635 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Concatenation separator for curl wrap configurableRomain Forlot1-1/+1
Change-Id: I682744080325335c1228ca84486f07725636729a Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Handle query result and prepare to forward by APIRomain Forlot3-30/+97
First draft to be able to read at regular interval the TSDB InfluxDB. This prepare a JSON object formated to be handled as an input argument from a regular call to the API verb 'write' Then it is only needed to call the remote verb to forward all the results Change-Id: I80076dd9cf00ba43075d37dd4d15180e63e37289 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fully handle array of metrics to be writen in DBRomain Forlot3-44/+49
Move a function code. Change-Id: I35a90e08e7019e634676915858aa0a666d46f711 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Improve writer/reader processingRomain Forlot11-144/+261
- Handle indefinite number and kind of tags and fields for a metric - Include only once header files - Cleaning and ordering code Change-Id: I14a4f0e6e1626971bff73ce7d9ac067bda69cfc4 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Utility function to return nanosecond timestampRomain Forlot2-0/+11
Change-Id: I73261cae3ed9b4d449e2b83b0578ddd2c5df89f1 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix: function name collision.Romain Forlot2-3/+3
Change-Id: Ia4498401e34602b614b137bd22a420bca779c044 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Add simple chained management libRomain Forlot3-0/+135
Change-Id: I9aa2e5c4da375a124a6be43d5738414b80e0567e Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Splitting code source, cleaning.Romain Forlot8-124/+328
Change-Id: I97c2a409d05ceb9babb23c23fbf818316d01419b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Introduce thread management for future reading jobRomain Forlot5-28/+44
Change-Id: I1d47aef85c4a90d10d7cd5f85c357e9e35664836 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10TSDB handling isolation.Romain Forlot5-165/+270
Isolate API from DB Backend so you could rely on different TSDB backend Change-Id: Ie74347e8175c7e0ed508f6b1e61a1c504b2a2ebb Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Fix: alloc pb for post_dataRomain Forlot1-8/+5
Change-Id: Ic6fdeb8d3a3e2ca4aa33775fb6566df19407e1df Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Add project skeletonRomain Forlot4-0/+510
Change-Id: Ieae59a0c66c9a9f7500f56e33cc0a98d572c0621 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>