aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/influxdb-writer.c
AgeCommit message (Collapse)AuthorFilesLines
2019-08-01Allow to set host+port using params in config.jsonsandbox/SebD/wipSebastien Douheret1-2/+2
Default influxDB host and port can now be set using params field of plugins section of harvester-config.json file. For example : "plugins": [ { "uid": "influxdb", "info": "Plugins that handle influxdb read and write", "libs": "influxdb.ctlso", "params": { "host": "localhost", "port": 8086 } } ], Change-Id: Iff0fffe1d0883304413d887986991a207b840aa7 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2019-08-01Update Copyright to 2019Sebastien Douheret1-1/+1
Change-Id: I37c68670c2dcae4ef3ade5fa9579a18ff9c7b10f Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2019-08-01Fix strings quotingSebastien Douheret1-84/+88
Change-Id: If7226a1c4692c262e82bc77b2bb62a5487227ab3 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2019-08-01Rework how to build dest DB URLSebastien Douheret1-1/+1
Change-Id: I5a351d6e2f5750dcb39bd9feff71abe930c052bb Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2019-08-01Improve 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-08-01Add comments and re-ident codeSebastien Douheret1-39/+40
Change-Id: Ibb4636bd968d6e4fd564ab40d5cf59e5a6ec6210 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2019-07-03Fix spellinghalibut_8.0.6halibut_8.0.5halibut_8.0.4halibut_8.0.3halibut_8.0.2halibut_8.0.1halibut_8.0.0halibut_7.99.3halibut/8.0.6halibut/8.0.5halibut/8.0.4halibut/8.0.3halibut/8.0.2halibut/8.0.1halibut/8.0.0halibut/7.99.38.0.68.0.58.0.48.0.38.0.28.0.18.0.07.99.3halibutSebastien Douheret1-2/+2
Bug-AGL: SPEC-2597 Change-Id: I6a707a58e36d3eb1379dd00f2da03186da456491 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 CAHIER1-7/+10
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 Forlot1-15/+15
- 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 typoRomain Forlot1-137/+138
Change-Id: I586b9c1d37e28d41f163cb8f25c161645787835c Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Use latest version of app-controller-submodule submodule.Sebastien Douheret1-1/+1
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-10Escape special characters according to influxDB docSebastien Douheret1-4/+3
Change-Id: I22724b547033b40b3160c3bbe1b2141349a1ead2 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Fixed invalid pointer when concatenating fieldsSebastien Douheret1-138/+136
Change-Id: Ie4a3798d3b3bad3cd2c36154c2b989938e4114b4 Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
2018-07-10Escaped special characters for measurement, tags and fieldsSebastien Douheret1-1/+3
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-10Update READMESebastien Douheret1-1/+1
Change-Id: Iac523214e776b8f3e7bf7479a3774c46c84df398 Signed-off-by: Sebastien Douheret <sebastien.douheret@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-10Convert the binding to use the controllerRomain Forlot1-33/+60
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 Forlot1-4/+2
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-10Externalize Curl dependency within afb-helpersRomain Forlot1-1/+1
Change-Id: I50a4c6f440730a8776f7bb5c58c756c35bca5db8 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Use news wrap curl functions.Romain Forlot1-1/+1
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-10Fully handle array of metrics to be writen in DBRomain Forlot1-32/+40
Move a function code. Change-Id: I35a90e08e7019e634676915858aa0a666d46f711 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
2018-07-10Improve writer/reader processingRomain Forlot1-30/+41
- 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-10Splitting code source, cleaning.Romain Forlot1-0/+116
Change-Id: I97c2a409d05ceb9babb23c23fbf818316d01419b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>