CII Logo
5.0.0-pre1

Contents:

  • 1. Introduction
    • 1.1. Scope
    • 1.2. Overview
  • 2. MAL API
    • 2.1. Overview
    • 2.2. Installation
    • 2.3. Introduction
    • 2.4. CiiFactory
      • 2.4.1. C++
      • 2.4.2. Python
    • 2.5. Publish-subscribe
      • 2.5.1. Publisher
        • 2.5.1.1. C++
        • 2.5.1.2. Python
      • 2.5.2. Subscriber
        • 2.5.2.1. C++
        • 2.5.2.2. Python
      • 2.5.3. MrvSubscriber
        • 2.5.3.1. C++
        • 2.5.3.2. Python
    • 2.6. Request-response
      • 2.6.1. ICD Interface
      • 2.6.2. Client
        • 2.6.2.1. C++
        • 2.6.2.2. Python
      • 2.6.3. Server
        • 2.6.3.1. C++
        • 2.6.3.2. Python
    • 2.7. Entities
      • 2.7.1. Array, Blob
        • 2.7.1.1. Python
        • 2.7.1.2. C++
    • 2.8. Appendix
      • 2.8.1. Building CII application with WAF
  • 3. MAL ICD Generation
    • 3.1. Overview
    • 3.2. Installation
      • 3.2.1. Prerequisites
    • 3.3. Editing ICD file in Eclipse
    • 3.4. ICD Building blocks
      • 3.4.1. Package
      • 3.4.2. Basic types
      • 3.4.3. Constants
      • 3.4.4. Enumeration (Enum)
      • 3.4.5. Union
      • 3.4.6. Structure (struct)
      • 3.4.7. Interface and Exception
      • 3.4.8. Arrays
    • 3.5. ICD Generation
    • 3.6. Topic and interface definition document
      • 3.6.1. Subsystems
      • 3.6.2. Messaging pattern
      • 3.6.3. Publish subscribe topic
      • 3.6.4. Service interface
  • 4. MAL Mappings
    • 4.1. Overview
    • 4.2. Installation
    • 4.3. C++
      • 4.3.1. DDS
        • 4.3.1.1. URIs
        • 4.3.1.2. Mal Specific Properties
      • 4.3.2. ZPB
        • 4.3.2.1. URIs
        • 4.3.2.2. Mal Specific Properties
      • 4.3.3. OPC UA
        • 4.3.3.1. URIs
        • 4.3.3.2. Mal Specific Properties
        • 4.3.3.3. Data Access
        • 4.3.3.4. Logging
      • 4.3.4. MUDPI
        • 4.3.4.1. URIs
        • 4.3.4.2. Mal Specific Properties
    • 4.4. Java
      • 4.4.1. DDS
        • 4.4.1.1. Mal Specific Properties
      • 4.4.2. ZPB
        • 4.4.2.1. Mal Specific Properties
      • 4.4.3. OPC UA
        • 4.4.3.1. Mal Specific Properties
    • 4.5. Python
  • 5. MAL Python Mappings
    • 5.1. Introduction
    • 5.2. Prerequisites
    • 5.3. Using Python MAL API
      • 5.3.1. Importing top level Python module, obtaining CiiFactory reference
      • 5.3.2. Loading and registering MAL mappings
      • 5.3.3. Python MAL API relative time parameters (timeouts/durations)
      • 5.3.4. Using Publisher-Subscriber interface
        • 5.3.4.1. Using Subscriber/Publisher as a Context Manager
        • 5.3.4.2. Constructing list of QoS parameters
        • 5.3.4.3. Constructing Data Event filters
      • 5.3.5. Using Request-Reply interface
        • 5.3.5.1. Using Request-Reply client as Context Manager
        • 5.3.5.2. Constructing list of QoS parameters
  • 6. Configuration
    • 6.1. Overview
    • 6.2. Includes and imports
      • 6.2.1. C++
      • 6.2.2. Python
    • 6.3. API Components
    • 6.4. Creation of Documents
      • 6.4.1. Parsing YAML source from input/output stream
        • 6.4.1.1. C++
        • 6.4.1.2. Python
      • 6.4.2. Loading YAML source from file/URI
        • 6.4.2.1. File-provider: local
        • 6.4.2.2. File-provider: root
        • 6.4.2.3. Filenames and relative URIs
        • 6.4.2.4. Default file provider
        • 6.4.2.5. Cache setup in C++
        • 6.4.2.6. Cache setup in Python
      • 6.4.3. Actual document loading
      • 6.4.4. Building document programmatically
    • 6.5. Access to YAML source tree of a document
    • 6.6. Document instance interface
      • 6.6.1. Accessing document instance interface
        • 6.6.1.1. C++
        • 6.6.1.2. Python
      • 6.6.2. Iteration over document instances
        • 6.6.2.1. C++
        • 6.6.2.2. Python
    • 6.7. Document Validation
      • 6.7.1. C++
      • 6.7.2. Python
    • 6.8. Saving documents to YAML
      • 6.8.1. C++
      • 6.8.2. Python
    • 6.9. Merging documents
      • 6.9.1. C++
      • 6.9.2. Python
    • 6.10. Cloning documents
      • 6.10.1. C++
      • 6.10.2. Python
    • 6.11. Listing documents
      • 6.11.1. C++
      • 6.11.2. Python
    • 6.12. Exceptions
    • 6.13. YAML tags recognized by config-ng
      • 6.13.1. cfg.include
      • 6.13.2. cfg.type
      • 6.13.3. cfg.typedef
      • 6.13.4. cfg.optional, cfg.required
    • 6.14. List of built-in data types
  • 7. Online Database
    • 7.1. Overview
    • 7.2. Introduction
    • 7.3. Prerequisites
      • 7.3.1. WAF Modules
      • 7.3.2. Services
        • 7.3.2.1. Redis
        • 7.3.2.2. Calculation Engine
        • 7.3.2.3. Configuration Service
      • 7.3.3. Configuration
        • 7.3.3.1. OLDB Client Configuration
        • 7.3.3.2. Calculation Service Configuration
    • 7.4. OLDB Library Usage
      • 7.4.1. Includes/Imports
        • 7.4.1.1. C++
        • 7.4.1.2. Python
        • 7.4.1.3. C++
        • 7.4.1.4. Python
      • 7.4.2. Basic Example
      • 7.4.3. Subscribing Example
      • 7.4.4. Advanced Example
      • 7.4.5. Alias Example
    • 7.5. Advanced Topics
      • 7.5.1. OLDB Statistics
        • 7.5.1.1. OLDB Client Statistics
        • 7.5.1.2. Calculation Service Statistics
      • 7.5.2. Disabling Writes to Data Points
      • 7.5.3. Custom functions in Data Point Formulas
      • 7.5.4. Manipulating Data Point Metadata
      • 7.5.5. Data Point Configuration
      • 7.5.6. External Redis Servers
      • 7.5.7. Defining the Storage Location of a Data Point
      • 7.5.8. Enabling notification-only subscriptions on datapoints
    • 7.6. OLDB API LIBRARY
      • 7.6.1. CiiOldb
      • 7.6.2. CiiOldbDataPoint
        • 7.6.2.1. Data Point URI
        • 7.6.2.2. Data Point Value
        • 7.6.2.3. Metadata
    • 7.7. OLDB CLI
      • 7.7.1. Read operations
        • 7.7.1.1. Read value
        • 7.7.1.2. Read Value Formula and Quality Expression
        • 7.7.1.3. Save value to File
      • 7.7.2. Write operations
        • 7.7.2.1. Write value
        • 7.7.2.2. Write Quality and Timestamp
        • 7.7.2.3. Write Formula
        • 7.7.2.4. Write Quality Expression
        • 7.7.2.5. Write Value from File
        • 7.7.2.6. Write Value directly from Formula
      • 7.7.3. Subscribe operations
        • 7.7.3.1. Subscribe to datapoint
        • 7.7.3.2. Subscribe and output to Files
      • 7.7.4. Create operation
      • 7.7.5. Delete operation
    • 7.8. GUI
      • 7.8.1. General
      • 7.8.2. Configuration File
      • 7.8.3. Functionality
        • 7.8.3.1. Main Window
        • 7.8.3.2. Menu
      • 7.8.4. Hierarchy view
    • 7.9. Data Point Value Type to Language Types Mapping
    • 7.10. Default Metadata Instance Names
    • 7.11. Metadata attribute constraints
    • 7.12. YAML Data point type
    • 7.13. OLDB API LISTING
      • 7.13.1. CiiOldb
      • 7.13.2. CiiOldbDataPoint
  • 8. Error Handling
    • 8.1. Overview
    • 8.2. Introduction
      • 8.2.1. Standard workflow
      • 8.2.2. CII Exceptions
        • 8.2.2.1. Error stack
        • 8.2.2.2. Indexing Service
      • 8.2.3. Conditions API
      • 8.2.4. Serialization
    • 8.3. Installation
      • 8.3.1. Prerequisites and waf modules
    • 8.4. Usage
      • 8.4.1. Includes/Imports
        • 8.4.1.1. Java
        • 8.4.1.2. CPP
        • 8.4.1.3. Python
        • 8.4.1.4. QT
      • 8.4.2. Creating an SVN repository
      • 8.4.3. Creating the exceptions
        • 8.4.3.1. Java
        • 8.4.3.2. CPP
        • 8.4.3.3. Python
      • 8.4.4. Wrapping native exceptions
      • 8.4.5. Search script
        • 8.4.5.1. Configuring the script
        • 8.4.5.2. Usage of the search script
      • 8.4.6. Exceptions examples
        • 8.4.6.1. Building an Error Stack
        • 8.4.6.2. Throwing a CPP Exception with Extra Information
        • 8.4.6.3. Exception Serialization from CPP to Java
      • 8.4.7. Using the Condition API
    • 8.5. Using the QT Error Dialog Widget
    • 8.6. Indexing service
      • 8.6.1. Configuring indexing service
      • 8.6.2. Running the indexing service
      • 8.6.3. Accessing the indexed data
    • 8.7. API
      • 8.7.1. CII Exception methods
      • 8.7.2. CPP macros
      • 8.7.3. Conditions API
        • 8.7.3.1. Java
        • 8.7.3.2. CPP
        • 8.7.3.3. Python
    • 8.8. Serialization code example
      • 8.8.1. CPP serialization server code
      • 8.8.2. Java serialization client code
  • 9. Logging
    • 9.1. Overview
    • 9.2. Introduction
      • 9.2.1. Logsink directory
      • 9.2.2. Loggers and Appenders
      • 9.2.3. Log Layouts
      • 9.2.4. Postmortem buffer
      • 9.2.5. Log Levels
    • 9.3. Prerequisites
      • 9.3.1. Includes and imports
      • 9.3.2. C++
      • 9.3.3. Python
    • 9.4. Logging Library Usage
      • 9.4.1. CiiLogManager
      • 9.4.2. CiiLogMessageBuilder
      • 9.4.3. Logging Configuration
        • 9.4.3.1. C++
        • 9.4.3.2. Python
      • 9.4.4. Log Layouts
        • 9.4.4.1. C++
        • 9.4.4.2. Python
      • 9.4.5. Basic usage example with default configuration
        • 9.4.5.1. C++
        • 9.4.5.2. Python
      • 9.4.6. Basic usage example with custom configuration
        • 9.4.6.1. C++
        • 9.4.6.2. Python
      • 9.4.7. Adding optional information to log messages
        • 9.4.7.1. Via LogManager
        • 9.4.7.2. Via MessageBuilder
        • 9.4.7.3. C++
        • 9.4.7.4. Python
      • 9.4.8. String formatting
        • 9.4.8.1. Compile-time validation
      • 9.4.9. Using the Postmortem Buffer
        • 9.4.9.1. C++
        • 9.4.9.2. Python
      • 9.4.10. Ops-Logs
        • 9.4.10.1. Ops-Logs Example C++
        • 9.4.10.2. Ops-Logs Example Python
    • 9.5. Logging services administration
      • 9.5.1. Logging services configuration
        • 9.5.1.1. Host Setup
        • 9.5.1.2. Start/Stop Services
        • 9.5.1.3. Configuration
      • 9.5.2. Logging services monitoring
    • 9.6. Logging User Tools
      • 9.6.1. ciiLogSend
      • 9.6.2. Log Viewer
        • 9.6.2.1. Column Chooser
        • 9.6.2.2. View Filtering
      • 9.6.3. Log Viewer Widget (Qt)
    • 9.7. Tracing
      • 9.7.1. Introduction
        • 9.7.1.1. Traces and Spans
      • 9.7.2. Tracing Library Usage
        • 9.7.2.1. Tracing request-reply communication
        • 9.7.2.2. Tracing publish-subscribe communication
        • 9.7.2.3. Includes/Imports
        • 9.7.2.4. Basic usage example
        • 9.7.2.5. Mal pub/sub and request/response tracing basic examples
        • 9.7.2.6. Context Propagation
      • 9.7.3. Tracing Services
        • 9.7.3.1. Jaeger Agent
        • 9.7.3.2. Jaeger Collector
        • 9.7.3.3. Jaeger Query
      • 9.7.4. Tracing GUI (Jaeger UI)
    • 9.8. CII Log Client API
      • 9.8.1. C++
        • 9.8.1.1. CiiLogManager
        • 9.8.1.2. CiiLogMessageBuilder
        • 9.8.1.3. CiiLogConfigurator
        • 9.8.1.4. CiiLayout
        • 9.8.1.5. CiiSimpleLayout
      • 9.8.2. Python
        • 9.8.2.1. CiiLogManager
        • 9.8.2.2. CiiLogConfigurator
        • 9.8.2.3. CiiLogMessageBuilder
    • 9.9. CII Log Fields
  • 10. Alarm
    • 10.1. Overview
    • 10.2. Introduction
    • 10.3. Prerequisites
      • 10.3.1. Set-up
      • 10.3.2. Start-Stop
    • 10.4. Usage
      • 10.4.1. Write Alarm Definitions
        • 10.4.1.1. Format
        • 10.4.1.2. Alarm functions
      • 10.4.2. Inject Definitions
      • 10.4.3. Request a Reload
      • 10.4.4. Monitor Alarms
      • 10.4.5. Trigger Alarms
    • 10.5. Advanced Topics
      • 10.5.1. Administration
        • 10.5.1.1. Installation
        • 10.5.1.2. Auto-start
        • 10.5.1.3. Health Checks
        • 10.5.1.4. Log Configuration
        • 10.5.1.5. Logs
      • 10.5.2. Troubleshooting
      • 10.5.3. Modify CDB directly
        • 10.5.3.1. General Settings
        • 10.5.3.2. IASIOs
        • 10.5.3.3. Transfer Functions
        • 10.5.3.4. DASUs
        • 10.5.3.5. Supervisor
        • 10.5.3.6. Plugin
      • 10.5.4. Run IAS directly
  • 11. Telemetry
    • 11.1. Overview
    • 11.2. Introduction
      • 11.2.1. Dependencies
        • 11.2.1.1. Engineering Archive
        • 11.2.1.2. Configuration Service
        • 11.2.1.3. OLDB Service
      • 11.2.2. Components
        • 11.2.2.1. Telemetry APIs
        • 11.2.2.2. Telemetry CLI tools
        • 11.2.2.3. Telemetry Archivers
    • 11.3. Telemetry APIs (Common)
      • 11.3.1. wscript
      • 11.3.2. imports/includes
    • 11.4. Telemetry Recording API
      • 11.4.1. Data Entitites
        • 11.4.1.1. Time Series Metadata
        • 11.4.1.2. Time Series Point
      • 11.4.2. Telemetry Recording API Example
    • 11.5. Telemetry Query API
      • 11.5.1. Telemetry Query API Example
      • 11.5.2. Querying data
      • 11.5.3. Reading data
    • 11.6. Telemetry Bulk API
      • 11.6.1. Storing a list of data
      • 11.6.2. Downloading list of data
    • 11.7. Telemetry Management API
      • 11.7.1. Moving data
      • 11.7.2. Deleting data
    • 11.8. Telemetry CLI tools
    • 11.9. Telemetry Archiver
      • 11.9.1. Data Capture Configuration
      • 11.9.2. Telemetry OLDB Subscription
      • 11.9.3. Telemetry Archiver Deployment
  • 12. Service Management
    • 12.1. Overview
    • 12.2. Introduction
    • 12.3. cii-postinstall
      • 12.3.1. Roles
      • 12.3.2. Subcommands
    • 12.4. cii-services
      • 12.4.1. Monitoring/Status Check
      • 12.4.2. Start / Stop
    • 12.5. Example
  • 13. Internal Config System
    • 13.1. Overview
    • 13.2. Introduction
      • 13.2.1. Classes
        • 13.2.1.1. Configuration classes
        • 13.2.1.2. Metadata classes
      • 13.2.2. Instances
        • 13.2.2.1. Metadata instances
        • 13.2.2.2. Configuration instance
    • 13.3. Prerequisites
      • 13.3.1. Local DB initialization
      • 13.3.2. Includes/Imports
        • 13.3.2.1. Java imports
        • 13.3.2.2. CPP Includes
        • 13.3.2.3. Python imports
    • 13.4. Basic usage
      • 13.4.1. Example description
      • 13.4.2. Creating a simple configuration using YAML definitions
        • 13.4.2.1. Java client
        • 13.4.2.2. CPP client
        • 13.4.2.3. Python client
      • 13.4.3. Creating a simple configuration using GUI
        • 13.4.3.1. Creating a simple class in GUI
        • 13.4.3.2. Creating a target configuration for simple class in GUI
        • 13.4.3.3. Generating classes from the classes defined in GUI
      • 13.4.4. CRUD operations
        • 13.4.4.1. Java CRUD
        • 13.4.4.2. CPP CRUD
        • 13.4.4.3. Python CRUD
      • 13.4.5. Using the cache operations
        • 13.4.5.1. Java cache example
        • 13.4.5.2. CPP Cache
        • 13.4.5.3. Python cache example
    • 13.5. Advanced usage
      • 13.5.1. Custom metadata class
      • 13.5.2. Using referenced classes
        • 13.5.2.1. Java referenced type
        • 13.5.2.2. CPP referenced type
        • 13.5.2.3. Python referenced type
      • 13.5.3. Using check values
        • 13.5.3.1. Java checked functions
        • 13.5.3.2. CPP checked functions
        • 13.5.3.3. Python checked functions
    • 13.6. Additional information
      • 13.6.1. Config tool
        • 13.6.1.1. Class generation
        • 13.6.1.2. Deployment and undeployment
      • 13.6.2. Generic types
      • 13.6.3. Java search example
      • 13.6.4. Large data – binary files
      • 13.6.5. Extending metadata classes with additional logic
    • 13.7. Config client API listing
      • 13.7.1. Java API code
      • 13.7.2. CPP API code
      • 13.7.3. Python bindings code
    • 13.8. Config point value type to language types mapping
    • 13.9. Default metadata instance mapping
    • 13.10. Class definition reserved words
    • 13.11. YAML Data point type
    • 13.12. JSON/YAML Schema
      • 13.12.1. Configuration class schema
      • 13.12.2. Metadata class schema
      • 13.12.3. Configuration instance schema
      • 13.12.4. Metadata instances schema
    • 13.13. Configuration client settings
    • 13.14. Code produced by the generators
CII
  • Search


© Copyright 2023 ESO - European Southern Observatory.