Added Kafka metrics for CDS workers

Added counters to gather metrics on CDS Kafka workers.
This will enable us to get metrics on how many messages we consumer and produce to/from kafka.
For consumers we count how many messages we consume and how many failed ie. consumed but not able to be processed (parsing error).
For producers we count how many messages we produce and how many failed ie. failed to be pushed to the cluster (unavailable brokers, network error, ...).
Relocated metrics tag constants to BlueprintConstants so that they can be use by any CDS module.
If they make sense for other metrics then they should be shared.

Issue-ID: CCSDK-3155
Signed-off-by: Julien Fontaine <julien.fontaine@bell.ca>
Change-Id: Iad6aba588766f655f3a74cd626e0f74e29188f96
18 files changed
tree: 7dd100839e4c06696c6ce8f6799956964d434939
  1. cds-ui/
  2. components/
  3. docs/
  4. ms/
  5. py-modules/
  6. releases/
  7. .editorconfig
  8. .gitignore
  9. .gitreview
  10. .readthedocs.yaml
  11. INFO.yaml
  12. ONAP-Java-Code-Style.xml
  13. pom.xml
  14. README.md
  15. TagVersion.groovy
  16. version.properties
README.md

Format code with ktlint checkstyle tool use the following command

mvn process-sources -P format

Reference: ktlint docs | ktlint codebase

Basic Architecture

Basic_Architecture

Basic Requirements

Before you can build this project, you must install and configure the following dependencies on your machine:

  1. Java 11 SDK
  2. Maven 3.6.X
  3. MySQL Database
  4. Node and npm installed
  5. Angular CLI & Angular v8

Running in Development Mode

Running mvn clean install command to install all libraries and dependencies for the maven and npm. Running mvn clean install -Pdocker command to install all libraries and create below docker images.

  • ccsdk-blueprintsprocessor
  • ccsdk-commandexecutor
  • ccsdk-py-executor
  • ccsdk-sdclistener
  • ccsdk-cds-ui-server
  • ccsdk-cds-ui

Note: run mvn clean install -Pdocker -Ddocker.skip.push=true to build but skip pushing docker image.

  1. Back-end MS

    Create sdnctl table in MySQL
    (Optional) You could run the project in a specific profile(dev, local) by adding -Dspring.profiles.active=profile-name

  2. Loop-back server:

    That allow your request to reach the backend from cds-ui
    Move to ./cds-ui/server/ folder and run the command npm start

  3. cds-ui

    Move to ./cds-ui/designer-client/ folder and run the command npm start
    This command will make sure all the files follow the linting rules and then connect to the loopback server.

Using an IDE

Front-end: you could use vscode or webstorm
Back-end: IntelliJ with kotlin plugin or any other editor


For more information check: CDS Docs