Target release3.4.1
Task List

Document status
Document ownerAndrea Michelotti 
Designer
DevelopersUnknown User (rsellari) 
Projecthttps://baltig.infn.it/lnf-da-control/memcached2influx.git


Goals

Background and strategic fit

Create a python application that takes memcached keys and import them into influxdb at a given rate. The configuration file follow !CHAOS specification so that, it can be used as alternative to pure !CHAOS import.

It can be used in our facilities to easy import memcached keys into influxdb so in grafana dashboards.

Deploy

In order to deploy on the CSI 

Influxdb & Grafana

Dafne Dashboards



{
"dataset":[
{
"name":"e_current", ← name of the variable (in influxdb will appear as measurement)
"type":"double", ← type of the data (valid are: int32|int64|double|float|bool|string|json)
"description":"readout electron current", ← an optional description
"offset":24, ← offset into a binary key
"len":8, ← data size 
"factor":0, ← an optional factor that multiply the data

"lbe":true, ← endianess true: little endian, false: bigendian

"rate":1, ← >0 rate fetch-pushrate (in Hz)
"keybind":"DCTEL002_DYN" ← source memcached key
},
{
"name":"dafne_state",
"type":"json", ← (the data is a utf-8 string, the type of data is implicit once imported in JSON)
"description":"Dafne state",
"offset":0, ← optional in case of json (if not is the offset inside the string)

"variables":["jsonkey1","jsonkey2"], ← optional field that specifies the keys in the json to be pushed (if not specified, all keys must be pushed
"len":256, ← maximum data length
"keybind":"DAFNESTATE_JDAT"
}]
}



Assumptions


Example JSON key

DAFNE INFERRED STATE & CURRENT LIFE TIMEs