CII
6.0.0
Contents:
1. Introduction
1.1. Scope
1.2. Overview
2. Configuration
2.1. Overview
2.2. Includes and imports
2.2.1. C++
2.2.2. Python
2.3. API Components
2.4. Creation of Documents
2.4.1. Parsing YAML source from input/output stream
2.4.1.1. C++
2.4.1.2. Python
2.4.2. Loading YAML source from file/URI
2.4.2.1. File-provider: local
2.4.2.2. File-provider: root
2.4.2.3. Filenames and relative URIs
2.4.2.4. Default file provider
2.4.2.5. Caching
2.4.3. Actual document loading
2.4.4. Building document programmatically
2.5. Access to YAML source tree of a document
2.6. Document instance interface
2.6.1. Accessing document instance interface
2.6.1.1. C++
2.6.1.2. Python
2.6.2. Iteration over document instances
2.6.2.1. C++
2.6.2.2. Python
2.7. Document Validation
2.7.1. C++
2.7.2. Python
2.8. Saving documents to YAML
2.8.1. C++
2.8.2. Python
2.9. Merging documents
2.9.1. C++
2.9.2. Python
2.10. Cloning documents
2.10.1. C++
2.10.2. Python
2.11. Listing documents
2.11.1. C++
2.11.2. Python
2.12. Exceptions
2.13. YAML tags recognized by config-ng
2.13.1. cfg.include
2.13.2. cfg.type
2.13.3. cfg.typedef
2.13.4. cfg.optional, cfg.required
2.13.5. cfg.merge
2.14. List of built-in data types
3. Online Database
3.1. Overview
3.2. Introduction
3.3. Prerequisites
3.3.1. WAF Modules
3.3.2. Services
3.3.2.1. Redis
3.3.2.2. Calculation Engine
3.3.2.3. Configuration Service
3.3.3. Configuration
3.3.3.1. OLDB Client Configuration
3.3.3.2. Calculation Service Configuration
3.4. OLDB Library Usage
3.4.1. Includes/Imports
3.4.1.1. C++
3.4.1.2. Python
3.4.1.3. C++
3.4.1.4. Python
3.4.2. Basic Example
3.4.3. Subscribing Example
3.4.4. Advanced Example
3.4.5. Alias Example
3.5. Advanced Topics
3.5.1. OLDB Statistics
3.5.1.1. OLDB Client Statistics
3.5.1.2. Calculation Service Statistics
3.5.2. Disabling Writes to Data Points
3.5.3. Custom functions in Data Point Formulas
3.5.4. Manipulating Data Point Metadata
3.5.5. Data Point Configuration
3.5.6. External Redis Servers
3.5.7. Defining the Storage Location of a Data Point
3.5.8. Enabling notification-only subscriptions on datapoints
3.6. OLDB API LIBRARY
3.6.1. CiiOldb
3.6.2. CiiOldbDataPoint
3.6.2.1. Data Point URI
3.6.2.2. Data Point Value
3.6.2.3. Metadata
3.7. OLDB CLI
3.7.1. Read operations
3.7.1.1. Read value
3.7.1.2. Read Value Formula and Quality Expression
3.7.1.3. Save value to File
3.7.2. Write operations
3.7.2.1. Write value
3.7.2.2. Write Quality and Timestamp
3.7.2.3. Write Formula
3.7.2.4. Write Quality Expression
3.7.2.5. Write Value from File
3.7.2.6. Write Value directly from Formula
3.7.3. Subscribe operations
3.7.3.1. Subscribe to datapoint
3.7.3.2. Subscribe and output to Files
3.7.4. Create operation
3.7.5. Delete operation
3.8. GUI
3.8.1. General
3.8.2. Configuration File
3.8.3. Functionality
3.8.3.1. Main Window
3.8.3.2. Menu
3.8.4. Hierarchy view
3.9. Data Point Value Type to Language Types Mapping
3.10. Default Metadata Instance Names
3.11. Metadata attribute constraints
3.12. YAML Data point type
3.13. OLDB API LISTING
3.13.1. CiiOldb
3.13.2. CiiOldbDataPoint
4. Error Handling
4.1. Overview
4.2. Introduction
4.2.1. Standard workflow
4.2.2. CII Exceptions
4.2.2.1. Error stack
4.2.2.2. Indexing Service
4.2.3. Conditions API
4.2.4. Serialization
4.3. Installation
4.3.1. Prerequisites and waf modules
4.4. Usage
4.4.1. Includes/Imports
4.4.1.1. Java
4.4.1.2. CPP
4.4.1.3. Python
4.4.1.4. QT
4.4.2. Creating an SVN repository
4.4.3. Creating the exceptions
4.4.3.1. Java
4.4.3.2. CPP
4.4.3.3. Python
4.4.4. Wrapping native exceptions
4.4.5. Search script
4.4.5.1. Configuring the script
4.4.5.2. Usage of the search script
4.4.6. Exceptions examples
4.4.6.1. Building an Error Stack
4.4.6.2. Throwing a CPP Exception with Extra Information
4.4.6.3. Exception Serialization from CPP to Java
4.4.7. Using the Condition API
4.5. Using the QT Error Dialog Widget
4.6. Indexing service
4.6.1. Configuring indexing service
4.6.2. Running the indexing service
4.6.3. Accessing the indexed data
4.7. API
4.7.1. CII Exception methods
4.7.2. CPP macros
4.7.3. Conditions API
4.7.3.1. Java
4.7.3.2. CPP
4.7.3.3. Python
4.8. Serialization code example
4.8.1. CPP serialization server code
4.8.2. Java serialization client code
5. Logging
5.1. Overview
5.2. Introduction
5.2.1. Logsink directory
5.2.2. Loggers and Appenders
5.2.3. Log Layouts
5.2.4. Postmortem buffer
5.2.5. Log Levels
5.3. Prerequisites
5.3.1. Includes and imports
5.3.2. C++
5.3.3. Python
5.4. Logging Library Usage
5.4.1. CiiLogManager
5.4.2. CiiLogMessageBuilder
5.4.3. Logging Configuration
5.4.3.1. C++
5.4.3.2. Python
5.4.4. Log Layouts
5.4.4.1. C++
5.4.4.2. Python
5.4.5. Basic usage example with default configuration
5.4.5.1. C++
5.4.5.2. Python
5.4.6. Basic usage example with custom configuration
5.4.6.1. C++
5.4.6.2. Python
5.4.7. Adding optional information to log messages
5.4.7.1. Via LogManager
5.4.7.2. Via MessageBuilder
5.4.7.3. C++
5.4.7.4. Python
5.4.8. String formatting
5.4.8.1. Compile-time validation
5.4.9. Using the Postmortem Buffer
5.4.9.1. C++
5.4.9.2. Python
5.4.10. Ops-Logs
5.4.10.1. Ops-Logs Example C++
5.4.10.2. Ops-Logs Example Python
5.5. Logging services administration
5.5.1. Logging services configuration
5.5.1.1. Host Setup
5.5.1.2. Start/Stop Services
5.5.1.3. Configuration
5.5.2. Logging services monitoring
5.6. Logging User Tools
5.6.1. ciiLogSend
5.6.2. Log Viewer
5.6.2.1. Column Chooser
5.6.2.2. Extra Options and Toolbar
5.6.2.3. View Filtering
5.6.3. Logs Viewer Widget (Qt)
5.6.3.1. Example use through Qt Designer (cpp and python)
5.6.3.2. Trying it out
5.7. Tracing
5.7.1. Introduction
5.7.1.1. Traces and Spans
5.7.2. Tracing Library Usage
5.7.2.1. Tracing request-reply communication
5.7.2.2. Tracing publish-subscribe communication
5.7.2.3. Includes/Imports
5.7.2.4. Basic usage example
5.7.2.5. Mal pub/sub and request/response tracing basic examples
5.7.2.6. Context Propagation
5.7.3. Tracing Services
5.7.3.1. Jaeger Agent
5.7.3.2. Jaeger Collector
5.7.3.3. Jaeger Query
5.7.4. Tracing GUI (Jaeger UI)
5.8. CII Log Client API
5.8.1. C++
5.8.1.1. CiiLogManager
5.8.1.2. CiiLogMessageBuilder
5.8.1.3. CiiLogConfigurator
5.8.1.4. CiiLayout
5.8.1.5. CiiSimpleLayout
5.8.2. Python
5.8.2.1. CiiLogManager
5.8.2.2. CiiLogConfigurator
5.8.2.3. CiiLogMessageBuilder
5.9. CII Log Fields
6. Telemetry
6.1. Overview
6.2. Introduction
6.2.1. Terminology
6.3. Concepts and Design
6.3.1. Telem Library
6.3.1.1. Frontends
6.3.1.2. Backends
6.3.1.3. Frontend x Backend
6.3.1.4. Telem Manager
6.3.2. Telem Client
6.3.3. Telem Archiver
6.4. Topology
6.4.1. Storage
6.4.2. Retrieval
6.5. Usage Guidelines
6.5.1. Append/Write
6.5.2. Query/Read
6.6. Dependencies
6.7. API
6.7.1. Import/includes
6.7.1.1. Python
6.7.1.2. C++
6.8. Append API
6.8.1. Recorder Example
6.8.1.1. Python
6.8.1.2. C++
6.9. Write API
6.9.1. Store points
6.9.2. Store series
6.10. Query API
6.10.1. Query by time
6.11. Read API
6.11.1. Read series
6.12. Management API
6.12.1. Rename series
6.12.2. Delete points
6.12.3. Delete series
6.13. Telem Client
6.14. Telem Archiver
6.14.1. Deployment
6.14.2. Configuration
6.15. Appendix: Design Decisions
6.15.1. Statefulness
6.15.2. Thread-safety
6.16. Appendix: InfluxDB Backend
6.16.1. Db Point Format
6.16.2. Multi-series measurements
6.16.3. Storing Metadata
6.16.4. Supported data types
7. Service Management
7.1. Overview
7.2. Introduction
7.3. cii-postinstall
7.3.1. Roles
7.3.2. Customisations
7.4. cii-services
7.4.1. Monitoring/Status Check
7.4.2. Start / Stop
7.5. Example
8. Internal Config System
8.1. Overview
8.2. Introduction
8.2.1. Classes
8.2.1.1. Configuration classes
8.2.1.2. Metadata classes
8.2.2. Instances
8.2.2.1. Metadata instances
8.2.2.2. Configuration instance
8.3. Prerequisites
8.3.1. Includes/Imports
8.3.1.1. CPP Includes
8.3.1.2. Python imports
8.4. Basic usage
8.4.1. Example description
8.4.1.1. CPP client
8.4.1.2. Python client
8.4.2. Creating a simple configuration using GUI
8.4.2.1. Creating a simple class in GUI
8.4.2.2. Creating a target configuration for simple class in GUI
8.4.3. CRUD operations
8.4.3.1. CPP CRUD
8.4.3.2. Python CRUD
8.4.4. Using the cache operations
8.4.4.1. CPP Cache
8.4.4.2. Python cache example
8.5. Advanced usage
8.5.1. Custom metadata class
8.5.2. Using referenced classes
8.5.2.1. CPP referenced type
8.5.2.2. Python referenced type
8.5.3. Using check values
8.5.3.1. CPP checked functions
8.5.3.2. Python checked functions
8.6. Additional information
8.6.1. Generic types
8.6.2. Large data – binary files
8.6.3. Extending metadata classes with additional logic
8.7. Config client API listing
8.7.1. CPP API code
8.7.2. Python bindings code
8.8. Config point value type to language types mapping
8.9. Default metadata instance mapping
8.10. Class definition reserved words
8.11. YAML Data point type
8.12. JSON/YAML Schema
8.12.1. Configuration class schema
8.12.2. Metadata class schema
8.12.3. Configuration instance schema
8.12.4. Metadata instances schema
8.13. Configuration client settings
8.14. Code produced by the generators
CII
Index
Index