Update documentation on hdbpp.#356
Update documentation on hdbpp.#356dlacoste-esrf wants to merge 7 commits intotango-controls:masterfrom
Conversation
break down the big document under services in smaller files for easier management.
| Commands | ||
| ~~~~~~~~ | ||
|
|
||
| The commands availabile in the are summarized in commands-table. |
There was a problem hiding this comment.
Suggest to rephrase: "The commands available are summarized in commands-table."
There was a problem hiding this comment.
Thanks, done
| The commands availabile in the are summarized in commands-table. | ||
|
|
||
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | ArchiverAdd | add a new instance to the archivers list; the instance must have been already created and configured via jive/astor and the device shall be running; as per release adding an device to an existing instance is not supported | |
There was a problem hiding this comment.
We should explicit the release in the second part of the phrase. Moreover may be rephrased as "in the current design, only one ConfigurationManager device per instance is supported"
There was a problem hiding this comment.
Actually reading this sentence, I don't understand what it means so it needs to be explicited, agreed, but I don't know how. This command is to add an eventsubscriber to the list, isn't it ? I don't understand this per release part at all… a device of what to an instance of what ?
There was a problem hiding this comment.
Indeed, these are two different points. Let's just remove the last part of the sentence. E.g. the ne one can read "add a new instance to the archivers list; the instance must have been already created and configured via jive/astor and the device shall be running"
There was a problem hiding this comment.
The other point is that, currently, you cannot deploy two devices in the same ConfigurationManager instance. For sure it is not relevant here.
There was a problem hiding this comment.
Thanks for the explanation, done.
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | ArchiverAdd | add a new instance to the archivers list; the instance must have been already created and configured via jive/astor and the device shall be running; as per release adding an device to an existing instance is not supported | | ||
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | ArchiverRemove | remove an from the list; neither the device instance nor the attributes configured are removed from the database | |
There was a problem hiding this comment.
"remove an Archiver from..."
This is missing from almost all descriptions (was a latex \def in the original format...)
There was a problem hiding this comment.
thank you, especially for pointing out all the places it was missing !
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | AttributeAdd | add an attribute to archiving | | ||
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | AttributeAssign | assign attribute to | |
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | AttributeAssign | assign attribute to | | ||
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | AttributeGetArchiver | return in charge of attribute | |
There was a problem hiding this comment.
return Archiver in charge of attribute
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | Context | set context to all managed archivers | | ||
| +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | ResetStatistics | reset statistics of and all | |
There was a problem hiding this comment.
reset statistics of ConfigurationManager and all Archivers
|
|
||
| Table 1: Configuration Manager Commands. | ||
|
|
||
| Note that the list of managed is stored into the ArchiverList device |
There was a problem hiding this comment.
Note that the list of managed Archivers is...
| Attributes | ||
| ~~~~~~~~~~ | ||
|
|
||
| The attributes of the are summarized in attributes-table. |
There was a problem hiding this comment.
The attributes of the ConfigurationManager device are...
| Table 2: Event Subscriber Attributes. | ||
|
|
||
| The class and device properties availabile for configuration are shown | ||
| in table. According to TANGO |
There was a problem hiding this comment.
I am missing something here…
table 1 are the command, and this one should be 2 no ?
There was a problem hiding this comment.
Previous one is Table 2. But line 111 we're talking about properties, so this must read "...table 3".
There was a problem hiding this comment.
Got it, thx.
|
|
||
| The device dynamically laods the configured library configured (using dlopen()) during the device initialization. | ||
| See :ref:`database-interface` section for more information. | ||
|
|
There was a problem hiding this comment.
Not sure i remember correctly, but in a recent email exchange my understanding was the dynamic loading mechanism to be kept in place.
There was a problem hiding this comment.
I went a bit ahead of myself here, I changed it.
|
|
||
| The first two attributes will be archived in both RUN and SHUTDOWN | ||
| contexts; the last three only when in RUN. | ||
|
|
There was a problem hiding this comment.
Following is a general description of the Configuration manager. Suggest to move at the beginning of hdbpp-cm-interface.rst
There was a problem hiding this comment.
good idea.
I am not sure the hdbpp-cm-interface.rst is the best place as it is supposed to describe the interface, this is more high level considerations here, but it still fits better than in the es-interface.
Thx for the suggestion
There was a problem hiding this comment.
Another option i to move it in the general section...
| | HDB++ Diagnostic | Standalone JAVA application that visualizes both the status of all the archiver device servers and the overall archiving system | | ||
| +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | Archiving DB | Specific Database devoted to storing attribute values. It can be either Mysql or Cassandra for the moment. | | ||
| | Archiving DB | Specific Database devoted to storing attribute values. The currently supported backend are Mysql, Cassandra or Timescaledb. | |
There was a problem hiding this comment.
Mysql, Cassanadra, Postgres or TimescaleDB
There was a problem hiding this comment.
Indeed postgres as well, as a collateral, but it works.
There was a problem hiding this comment.
Well, there's a native implementation for Postgres made by the guys in Russia...
There was a problem hiding this comment.
ok, cool, I didn't know about that !
added missing "archiver" and "configuration manager" in hdbpp-cm-interface fixed warning on libhdbpp dynamic loading not supported. moved cm information from es page to cm one. added postgres as a supported backend, as it is in a way.
| workload over a large number of event subscriber shows up. | ||
| The configuration manager device server will assist in | ||
| the operations of adding, editing, moving, deleting an attribute the | ||
| archiving system. All the configuration parameters, such as polling |
There was a problem hiding this comment.
Something is missing in "deleting an attribute the archiving system", maybe "deleting an attribute from the archiving system" ?
There was a problem hiding this comment.
Indeed, thanks
|
|
||
| - to the specified device server | ||
|
|
||
| #. move an attribute from an device server to another one |
There was a problem hiding this comment.
Well spotted, thanks
| The configuration shall be possible via the device server API as well as | ||
| via a dedicated GUI interface; the GUI just use the provided API. | ||
|
|
||
| The may also expose a certain number of attributes to give the status of |
There was a problem hiding this comment.
Damn it ! missed some, thanks.
| The may also expose a certain number of attributes to give the status of | ||
| what is going on: | ||
|
|
||
| - total number of |
| ~~~~~~~~~~~~~~~~ | ||
|
|
||
| +--------------------+--------------------------------------------------------+ | ||
| | LibConfiguration | configuration parameters for backend support library | |
There was a problem hiding this comment.
Should we add a reference to different libhdbpp-xxx implementations documentation for details on syntax and possible parameters of LibConfiguration or should we add a section here in the documentation?
Same comment in hdbpp-es-interface where there is a small example of configuration for MySQL (incomplete).
There was a problem hiding this comment.
actually the configurationmanager does not depend on the backends anymore… we should remove this libconfiguration…
And maybe add some stuff on the hdbpp-es side. I am not sure a full section is necessary for this, it is pretty straightforward.
|
|
||
| HDB++ inherits the database structure from the existing Tango Historical Data Base (:ref:`hdb_archiving`) and introduces new storage architecture possibilities, better internal diagnostic capabilities and an optimized API. Its design allows storing data into traditional database management systems such as MySQL or into NoSQL database such as Apache Cassandra. | ||
| HDB++ inherits the database structure from the existing Tango Historical Data Base (:ref:`hdb_archiving`) and introduces new storage architecture possibilities, better internal diagnostic capabilities and an optimized API. Different backends to store the data can be implemented through an unified interface, currently Timescaledb, MySQL and Apache Cassandra are supported. | ||
|
|
There was a problem hiding this comment.
Added both of them, and a comment on cassandra support being dropped as suggested by @bourtemb
| +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | ||
| | Archiving DB | Specific Database devoted to storing attribute values. It can be either Mysql or Cassandra for the moment. | | ||
| | Archiving DB | Specific Database devoted to storing attribute values. The currently supported backend are Mysql, Cassandra, PostgreSQL or Timescaledb. | | ||
| +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |
There was a problem hiding this comment.
Missing ElasticSearch. There is a preliminary implementaion (libhdbpp-elk) that is probably going to be finalized and maintained by SKA. At the same time Cassandra is not going to be maintained. Should we mention it here?
There was a problem hiding this comment.
I think we should mention that Cassandra backend is not going to be maintained and maybe on line 61 too.
There was a problem hiding this comment.
Done and done, thanks
| * **libhdb++mysql**: HDB++ schema support for MySQL back-end | ||
| * **libhdb++cassandra**: Cassandra back-end implementation of libhdb++ | ||
| * **libhdb++timescale**: Timescaledb back-end implementation of libhdb++ | ||
|
|
There was a problem hiding this comment.
Same comment here about supported backends as above.
There was a problem hiding this comment.
Indeed, indeed. Thanks
| .. _libhdbpp-mysql-legacy: https://github.com/tango-controls-hdbpp/libhdbpp-mysql-legacy | ||
| .. _libhdbpp-cassandra: https://github.com/tango-controls-hdbpp/libhdbpp-cassandra | ||
| .. _libhdbpp-timescale: https://github.com/tango-controls-hdbpp/libhdbpp-timescale | ||
| .. _CassandraMonitor: https://github.com/tango-controls-hdbpp/CassandraMonitor |
There was a problem hiding this comment.
I would add link to libhdbpp-postgresql and libhdbpp-elk
There was a problem hiding this comment.
It should be ok, now, or did I miss some other projects ?
There was a problem hiding this comment.
It's WIP, but hdbpp-benchmark could be mentioned as "a project to compare performances of different HDB++ backends using dockers"
| The source code is available on GitHub in the following repositories: | ||
|
|
||
| .. _hdbpp-timescale-project: https://github.com/tango-controls-hdbpp/hdbpp-timescale-project | ||
| .. _hdbpp-cm: https://github.com/tango-controls-hdbpp/hdbpp-cm |
Update hdbpp documentation.
break down the big document under services in smaller files for easier
management.