-
Notifications
You must be signed in to change notification settings - Fork 2
Data Adapters
You can support new data sources in Electron Dashboard via Data Adapters
- A Data adapter is a plugin to Electron Dashboard through which new data sources can be supported
- A Data adapter is a just a folder with manifest.json file and software files.
- A snapshot of a sample Data Adapter folder is shown below
- Sample code for a Data Adapter that serves random data is hosted here. You can use this template project to create your own data adapter
- Code for a Data Adapter plugin that serves time series data from excel files is hosted here.
A sample manifest file can look as shown below
{
"entry": "ElectronDashboardDummyDataAdapter.exe",
"name": "DummyData",
"app_id": "DummyDataAdapter",
"out_types": ["timeseries"],
"single_meas": true,
"multi_meas": false,
"quality_option": true,
"is_meas_picker_present": true,
"is_adapter_config_ui_present": true
}
The following is the description of the manifest.json file properties
entry - Filename of the exe file that will be run Electron Dashboard for fetching data
name - A unique name by which the data adapter will be displayed in Electron Dashboard
app_id - A unique app_id by which the data adapter folder will be stored in Electron Dashboard's internal folder
out_types - Types of data that can be extracted from the data adapter. Currently supports only "timeseries"
single_meas - Whether single measurement fetching is supported
multi_meas - Whether multiple measurements fetching is supported. Currently not supported
quality_option - Whether data quality information can be fetched by the data adapter
is_meas_picker_present - Whether measurement picker is provided by the data adapter
is_adapter_config_ui_present - Whether data adapter configuration UI is provided by the data adapter
When user clicks the Configure adapter button in Data Adapters screen, Electron Dashboard will run the command
DummyDataAdapter.exe --config_adapter
The Data adapter should open its configuration UI by recognizing the argument --config_adapter
When user clicks on the measurement picker button in series editing screen, Electron Dashboard runs the following command
DummyDataAdapter.exe --show_meas_picker
- The Data adapter should open its Measurement Picker UI by recognizing the argument --show_meas_picker
- After user picks the measurement, the adapter should write a string to the console in the format
[measurementId, measurementName, measurementDescription]
and close itself. Then Electron Dashboard will doJSON.parse
to get the measurement info.
- To fetch data of a measurement Id from data adapter, Electron dashboard will run the following command
DummyDataAdapter.exe --from_time <from_time> --to_time <to_time> --meas_id <meas_id>
and waits for the result. <meas_id> is the measurement id, <from_time> and <to_time> are the timestamps expressed in UNIX epoch milliseconds.
- Data adapter should write the timeseries data string to console as shown below
ts1, val1, ts2, val2, ts3, val3 ...
where ts is timestamp expressed in UNIX epoch milliseconds and val is the numerical value of the data sample.
- If quality information is required, Electron Dashboard will add the flag --include_quality. For example, if the command
DummyDataAdapter.exe --from_time <from_time> --to_time <to_time> --meas_id <meas_id> --include_quality
is executed, the expected timeseries data string in the console would be
ts1, val1, qual1, ts2, val2, qual2, ts3, val3, qual3, ...
where qual should be one of the values in 0,1,2,3. Electron interprets them as 0=GOOD, 1=BAD, 2=SUSPECT, 3=REPLACED