Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
T
TangoControlsTimeseries
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Software Control System
Tango controls archiving
TangoControlsTimeseries
Commits
a55fb71b
Commit
a55fb71b
authored
8 months ago
by
gwen-soleil
Browse files
Options
Downloads
Patches
Plain Diff
minor
parent
2e8c4066
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
README.md
+123
-58
123 additions, 58 deletions
README.md
tango-timeseries-persistence/src/main/java/fr/soleil/tango/archiving/event/db/timescale/insert/AttributeScalarCommands.java
+1
-1
1 addition, 1 deletion
...ng/event/db/timescale/insert/AttributeScalarCommands.java
with
124 additions
and
59 deletions
README.md
+
123
−
58
View file @
a55fb71b
...
...
@@ -23,37 +23,76 @@ Sample code to register an attribute and insert a value:
```
java
// build database connection
DatabaseConnectionConfig
config
=
new
DatabaseConnectionConfig
();
config
.
setName
(
"tts"
);
config
.
setHost
(
"test-postgres-01"
);
config
.
setDbType
(
DatabaseConnectionConfig
.
DataBaseType
.
POSTGRESQL
);
config
.
setName
(
"tts"
);
config
.
setUser
(
"tts"
);
config
.
setPassword
(
"tts"
);
config
.
setPort
(
"5432"
);
config
.
setConnectionTimeout
(
10000
);
config
.
setIdleTimeout
(
10000
);
config
.
setMaxPoolSize
(
90
);
config
.
setName
(
"tts"
);
config
.
setHost
(
"test-postgres-01"
);
config
.
setDbType
(
DatabaseConnectionConfig
.
DataBaseType
.
POSTGRESQL
);
config
.
setName
(
"tts"
);
config
.
setUser
(
"tts"
);
config
.
setPassword
(
"tts"
);
config
.
setPort
(
"5432"
);
config
.
setConnectionTimeout
(
10000
);
config
.
setIdleTimeout
(
10000
);
config
.
setMaxPoolSize
(
90
);
// start an new attribute in periodic mode
final
TangoArchivingInserterService
insertService
=
new
TangoArchivingServicesBuilder
().
buildInserter
(
config
);
InsertionModes
insertionModes
=
new
InsertionModes
();
insertionModes
.
setPeriodic
(
true
);
insertionModes
.
setPeriodPeriodic
(
124
);
insertService
.
registerAttribute
(
"archiving/source/tangotest.1/double_scalar"
,
insertionModes
,
"archiving/archiver/1"
,
0
);
insertionModes
.
setPeriodic
(
true
);
insertionModes
.
setPeriodPeriodic
(
124
);
insertService
.
registerAttribute
(
"archiving/source/tangotest.1/double_scalar"
,
insertionModes
,
"archiving/archiver/1"
,
0
);
// insert a value
AttributeEvent
event
=
new
AttributeEvent
();
event
.
setDataTime
(
Timestamp
.
from
(
Instant
.
now
()));
event
.
setQuality
(
1
);
event
.
setFullName
(
"archiving/source/tangotest.1/double_scalar"
);
event
.
setValueR
(
1
);
event
.
setValueR
(
2
);
insertService
.
insertAttribute
(
event
,
AttrDataFormat
.
SCALAR
,
false
);
event
.
setDataTime
(
Timestamp
.
from
(
Instant
.
now
()));
event
.
setQuality
(
1
);
event
.
setFullName
(
"archiving/source/tangotest.1/double_scalar"
);
event
.
setValueR
(
1
);
event
.
setValueR
(
2
);
insertService
.
insertAttribute
(
event
,
AttrDataFormat
.
SCALAR
,
false
);
```
### Tango data Fetching
The second service is to fetch data from the database (class fr.soleil.tango.archiving.services.TangoArchivingFetcherService).
The second service is to fetch data from the database (class
fr.soleil.tango.archiving.services.TangoArchivingFetcherService).
Here is a sample code:
```
java
...
...
@@ -66,7 +105,8 @@ Here is a sample code:
### Archiving configuration
The third service is for managing archiving configuration (class fr.soleil.tango.archiving.services.TangoArchivingConfigService).
The third service is for managing archiving configuration (class
fr.soleil.tango.archiving.services.TangoArchivingConfigService).
Here is a sample code:
```
java
...
...
@@ -82,30 +122,55 @@ archiver)
```
java
DatabaseConnectionConfig
config
=
new
DatabaseConnectionConfig
();
config
.
setName
(
"tts"
);
config
.
setHost
(
"postgres-01"
);
config
.
setUser
(
"tts"
);
config
.
setPassword
(
"tts"
);
config
.
setDbType
(
DatabaseConnectionConfig
.
DataBaseType
.
POSTGRESQL
);
config
.
setName
(
"tts"
);
config
.
setHost
(
"postgres-01"
);
config
.
setUser
(
"tts"
);
config
.
setPassword
(
"tts"
);
config
.
setDbType
(
DatabaseConnectionConfig
.
DataBaseType
.
POSTGRESQL
);
TangoArchiverProperties
properties
=
new
TangoArchiverProperties
();
properties
.
setArchiverClassName
(
"TimeseriesArchiver"
);
properties
.
setArchiverClassName
(
"TimeseriesArchiver"
);
TangoArchivingSystemConfigurationService
service
=
new
TangoArchivingSystemConfigurationBuilder
().
build
(
config
,
properties
);
service
.
updateArchiversList
();
service
.
updateArchiversList
();
ArchivingConfigs
archivingConfigs
=
new
ArchivingConfigs
();
ArchivingConfig
config
=
new
ArchivingConfig
();
AttributeConfig
attributeConfig
=
new
AttributeConfig
();
InsertionModes
modes
=
new
InsertionModes
();
modes
.
setPeriodic
(
true
);
modes
.
setPeriodPeriodic
(
100
);
config
.
setModes
(
modes
);
config
.
setAttributeConfig
(
attributeConfig
);
archivingConfigs
.
addConfiguration
(
config
);
modes
.
setPeriodic
(
true
);
modes
.
setPeriodPeriodic
(
100
);
config
.
setModes
(
modes
);
config
.
setAttributeConfig
(
attributeConfig
);
archivingConfigs
.
addConfiguration
(
config
);
Map
<
String
,
ArchivingConfigs
>
result
=
service
.
startArchiving
(
archivingConfigs
);
```
## Forseen evolutions
## For
e
seen evolutions
Backport existing Legacy MySQL API to this API
This diff is collapsed.
Click to expand it.
tango-timeseries-persistence/src/main/java/fr/soleil/tango/archiving/event/db/timescale/insert/AttributeScalarCommands.java
+
1
−
1
View file @
a55fb71b
...
...
@@ -39,7 +39,7 @@ import org.jdbi.v3.sqlobject.statement.SqlBatch;
import
org.jdbi.v3.sqlobject.statement.SqlUpdate
;
import
org.jdbi.v3.sqlobject.transaction.Transaction
;
public
interface
AttributeScalarCommands
<
T
>
{
public
interface
AttributeScalarCommands
{
//attConfID, dataTime, valueR, valueW, quality, attErrorDescId, details
//insert into att_scalar_devdouble values (9657, '2018-10-19 23:00:12.188', '2.7911841869354248E-002','2.7911841869354248E-002',1,null, null);
@SqlUpdate
(
"insert into <tableName> (att_conf_id, data_time, value_r, value_w, quality, att_error_desc_id, details)"
+
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment