diff options
-rw-r--r-- | tools/development/docker-compose.yml | 3 | ||||
-rw-r--r-- | tools/performance/local/configuration/base.json | 11 | ||||
-rw-r--r-- | tools/performance/local/consul/configuration.hcl | 34 | ||||
-rw-r--r-- | tools/performance/local/docker-compose.yml | 139 | ||||
-rw-r--r-- | tools/performance/local/grafana/dashboards-providers/dashboard-providers.yaml | 10 | ||||
-rw-r--r-- | tools/performance/local/grafana/dashboards/connections.json | 573 | ||||
-rw-r--r-- | tools/performance/local/grafana/dashboards/performance_tests.json | 300 | ||||
-rw-r--r-- | tools/performance/local/grafana/dashboards/processing.json | 926 | ||||
-rw-r--r-- | tools/performance/local/grafana/datasources/prometheus.yaml | 11 | ||||
-rwxr-xr-x | tools/performance/local/local-performance-test.sh | 193 | ||||
-rw-r--r-- | tools/performance/local/logs/.gitignore | 2 | ||||
-rw-r--r-- | tools/performance/local/prometheus.yml | 24 |
12 files changed, 2 insertions, 2224 deletions
diff --git a/tools/development/docker-compose.yml b/tools/development/docker-compose.yml index 97960a5b..7022eecb 100644 --- a/tools/development/docker-compose.yml +++ b/tools/development/docker-compose.yml @@ -97,8 +97,9 @@ services: JAVA_OPTS: "-Dio.netty.leakDetection.level=paranoid -Dlogback.configurationFile=/etc/ONAP/dcae-hv-ves-collector/logback.xml" VESHV_CONFIGURATION_FILE: "/etc/ves-hv/configuration/base.json" CONSUL_HOST: "consul-server" - CONFIG_BINDING_SERVICE: "CBS" + CONFIG_BINDING_SERVICE: "config-binding-service" HOSTNAME: "dcae-hv-ves-collector" + CONFIG_BINDING_SERVICE_SERVICE_PORT: "10000" healthcheck: test: ./healthcheck.sh || exit 1 interval: 10s diff --git a/tools/performance/local/configuration/base.json b/tools/performance/local/configuration/base.json deleted file mode 100644 index 2a806adb..00000000 --- a/tools/performance/local/configuration/base.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "logLevel": "DEBUG", - "server.listenPort": 6061, - "server.idleTimeoutSec": 60, - "cbs.firstRequestDelaySec": 5, - "cbs.requestIntervalSec": 5, - "security.keys.keyStoreFile": "/etc/ves-hv/ssl/server.p12", - "security.keys.keyStorePasswordFile": "/etc/ves-hv/ssl/server.pass", - "security.keys.trustStoreFile": "/etc/ves-hv/ssl/trust.p12", - "security.keys.trustStorePasswordFile": "/etc/ves-hv/ssl/trust.pass" -}
\ No newline at end of file diff --git a/tools/performance/local/consul/configuration.hcl b/tools/performance/local/consul/configuration.hcl deleted file mode 100644 index f975955e..00000000 --- a/tools/performance/local/consul/configuration.hcl +++ /dev/null @@ -1,34 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * csit-dcaegen2-collectors-hv-ves - * ================================================================================ - * Copyright (C) 2019 NOKIA - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -server = true -bootstrap = true -ui = true -client_addr = "0.0.0.0" - -service { - # name under which hv-ves collector should seek cbs - # usually set as CONFIG_BINDING_SERVICE environment variable - Name = "CBS" - # address of CBS as seen by hv-ves collector - Address = "config-binding-service" - Port = 10000 -} - diff --git a/tools/performance/local/docker-compose.yml b/tools/performance/local/docker-compose.yml deleted file mode 100644 index 97fecc73..00000000 --- a/tools/performance/local/docker-compose.yml +++ /dev/null @@ -1,139 +0,0 @@ -version: "3.5" -services: - - message-router-zookeeper: - image: nexus3.onap.org:10001/onap/dmaap/zookeeper:4.0.0 - ports: - - "2181:2181" - - message-router-kafka-0: - image: nexus3.onap.org:10001/onap/dmaap/kafka111:0.0.6 - ports: - - "9092:9092" - - "9093:9093" - environment: - HOST_IP: 127.0.0.1 - KAFKA_BROKER_ID: 0 - ENDPOINT_PORT: 30490 - KAFKA_ZOOKEEPER_CONNECT: "message-router-zookeeper:2181" - KAFKA_AUTO_CREATE_TOPICS_ENABLE: "true" - KAFKA_DELETE_TOPIC_ENABLE: "true" - - KAFKA_LISTENERS: "INTERNAL_SASL_PLAINTEXT://0.0.0.0:9092,EXTERNAL_SASL_PLAINTEXT://0.0.0.0:9093" - KAFKA_ADVERTISED_LISTENERS: "INTERNAL_SASL_PLAINTEXT://message-router-kafka-0:9092,EXTERNAL_SASL_PLAINTEXT://message-router-kafka-0:9093" - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT,EXTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT" - KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL_SASL_PLAINTEXT" - KAFKA_SASL_ENABLED_MECHANISMS: "PLAIN" - KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: "PLAIN" - KAFKA_AUTHORIZER_CLASS_NAME: "org.onap.dmaap.kafkaAuthorize.KafkaCustomAuthorizer" - - aaf_locate_url: https://aaf-locate:8095 - KAFKA_LOG_DIRS: /opt/kafka/data - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 - KAFKA_DEFAULT_REPLICATION_FACTOR: 1 - KAFKA_NUM_PARTITIONS: 1 - volumes: - - /var/run/docker.sock:/var/run/docker.sock - depends_on: - - message-router-zookeeper - - consul-server: - image: docker.io/consul:1.0.6 - ports: - - "8500:8500" - volumes: - - ./consul/:/consul/config - - consul-bootstrap: - image: docker.io/consul:1.0.6 - restart: on-failure - command: ["kv", "put", "-http-addr=http://consul-server:8500", "dcae-hv-ves-collector", '{ - "streams_publishes": { - "perf3gpp": { - "type": "kafka", - "aaf_credentials": { - "username": "admin", - "password": "admin_secret" - }, - "kafka_info": { - "bootstrap_servers": "message-router-kafka-0:9093", - "topic_name": "HV_VES_PERF3GPP" - } - } - } - }' - ] - depends_on: - - consul-server - - config-binding-service: - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.4 - ports: - - "10000:10000" - environment: - CONSUL_HOST: "consul-server" - depends_on: - - consul-bootstrap - - ves-hv-collector: - image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:latest - ports: - - "6060:6060" - - "6061:6061/tcp" - environment: - JAVA_OPTS: "-Dio.netty.leakDetection.level=paranoid -Dlogback.configurationFile=/etc/ONAP/dcae-hv-ves-collector/logback.xml" - VESHV_CONFIGURATION_FILE: "/etc/ves-hv/configuration/base.json" - CONSUL_HOST: "consul-server" - CONFIG_BINDING_SERVICE: "CBS" - HOSTNAME: "dcae-hv-ves-collector" - healthcheck: - test: ./healthcheck.sh || exit 1 - interval: 10s - timeout: 3s - retries: 3 - start_period: 15s - depends_on: - - message-router-kafka-0 - - config-binding-service - volumes: - - ./configuration/:/etc/ves-hv/configuration/ - - ./logs:/var/log/ONAP/dcae-hv-ves-collector - - ../../ssl/:/etc/ves-hv/ssl/ - - kafka-processing-consumer: - image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-kafka-consumer - ports: - - "6063:6063/tcp" - command: ["--listen-port", "6063", "--kafka-topics", "HV_VES_PERF3GPP", "--kafka-bootstrap-servers", "message-router-kafka-0:9093"] - depends_on: - - message-router-kafka-0 - - kafka-offset-consumer: - image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-kafka-consumer - ports: - - "6062:6062/tcp" - command: ["--listen-port", "6062", "--kafka-topics", "HV_VES_PERF3GPP", "--kafka-bootstrap-servers", "message-router-kafka-0:9093", "--disable-processing"] - depends_on: - - message-router-kafka-0 - - prometheus: - image: prom/prometheus - ports: - - "9090:9090" - volumes: - - ./prometheus.yml:/etc/prometheus/prometheus.yml - - grafana: - image: grafana/grafana - ports: - - "3000:3000" - environment: - GF_AUTH_DISABLE_LOGIN_FORM: "true" - GF_AUTH_DISABLE_SIGNOUT_MENU: "true" - GF_AUTH_ANONYMOUS_ENABLED: "true" - GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin" - volumes: - - ./grafana/datasources:/etc/grafana/provisioning/datasources - - ./grafana/dashboards-providers:/etc/grafana/provisioning/dashboards - # defined in ./grafana/dashboards-providers/dasboard-providers.yaml - - ./grafana/dashboards:/var/lib/grafana/dashboards/hv-ves diff --git a/tools/performance/local/grafana/dashboards-providers/dashboard-providers.yaml b/tools/performance/local/grafana/dashboards-providers/dashboard-providers.yaml deleted file mode 100644 index 78da55c9..00000000 --- a/tools/performance/local/grafana/dashboards-providers/dashboard-providers.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: 1 - -providers: -- name: 'hv-ves-dashboards' - folder: '' - type: file - disableDeletion: false - updateIntervalSeconds: 10 - options: - path: /var/lib/grafana/dashboards/hv-ves
\ No newline at end of file diff --git a/tools/performance/local/grafana/dashboards/connections.json b/tools/performance/local/grafana/dashboards/connections.json deleted file mode 100644 index 2d0182c9..00000000 --- a/tools/performance/local/grafana/dashboards/connections.json +++ /dev/null @@ -1,573 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "Prometheus", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "gnetId": null, - "graphTooltip": 0, - "id": 1, - "links": [], - "panels": [ - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": true, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "Prometheus", - "format": "none", - "gauge": { - "maxValue": 10000, - "minValue": 0, - "show": true, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 9, - "w": 6, - "x": 0, - "y": 0 - }, - "id": 4, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(hvves_connections_active) by (value)", - "format": "time_series", - "instant": false, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "7000,9000", - "title": "Currently active connections", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": "Prometheus", - "fontSize": "100%", - "gridPos": { - "h": 9, - "w": 6, - "x": 6, - "y": 0 - }, - "id": 2, - "links": [], - "pageSize": 10, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "short" - } - ], - "targets": [ - { - "expr": "sum(hvves_connections_active) by (kubernetes_pod_name, value)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "B" - } - ], - "timeFrom": "1h", - "title": "Active connections per pod", - "transform": "timeseries_aggregations", - "type": "table" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "fill": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 0 - }, - "id": 6, - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(hvves_connections_active)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "Active connections total", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": "45 m", - "timeRegions": [], - "timeShift": null, - "title": "Active connections over time", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 0, - "y": 9 - }, - "id": 8, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(hvves_connections_total)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "", - "refId": "A" - } - ], - "thresholds": "", - "title": "Total connections", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "Prometheus", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 6, - "x": 6, - "y": 9 - }, - "id": 10, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(hvves_clients_rejected_total)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Clients rejected", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "0", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": "Prometheus", - "fontSize": "100%", - "gridPos": { - "h": 7, - "w": 6, - "x": 0, - "y": 12 - }, - "id": 11, - "links": [], - "pageSize": 10, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "short" - } - ], - "targets": [ - { - "expr": "sum(hvves_connections_total) by (kubernetes_pod_name, value)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "B" - } - ], - "timeFrom": "1h", - "title": "Total connections per pod", - "transform": "timeseries_aggregations", - "type": "table" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": "Prometheus", - "fontSize": "100%", - "gridPos": { - "h": 7, - "w": 6, - "x": 6, - "y": 12 - }, - "id": 12, - "links": [], - "pageSize": 10, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "short" - } - ], - "targets": [ - { - "expr": "sum(hvves_clients_rejected_total) by (kubernetes_pod_name, value)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "B" - } - ], - "timeFrom": "1h", - "title": "Rejected connections per pod", - "transform": "timeseries_aggregations", - "type": "table" - } - ], - "refresh": "1s", - "schemaVersion": 16, - "style": "dark", - "tags": [], - "templating": { - "list": [] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "1s", - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "HV-VES connections", - "uid": "bAy7xlwmk", - "version": 1 -}
\ No newline at end of file diff --git a/tools/performance/local/grafana/dashboards/performance_tests.json b/tools/performance/local/grafana/dashboards/performance_tests.json deleted file mode 100644 index 654fdc36..00000000 --- a/tools/performance/local/grafana/dashboards/performance_tests.json +++ /dev/null @@ -1,300 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "Prometheus", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "gnetId": null, - "graphTooltip": 0, - "iteration": 1563350058629, - "links": [], - "panels": [ - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "fill": 0, - "gridPos": { - "h": 10, - "w": 10, - "x": 0, - "y": 0 - }, - "id": 6, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "options": {}, - "percentage": false, - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "histogram_quantile(0.90, sum( rate(hv_kafka_consumer_travel_time_seconds_bucket[$time_range]) )by(le) )", - "format": "time_series", - "interval": "", - "intervalFactor": 1, - "legendFormat": "90th percentile of avg message travel time", - "refId": "A" - }, - { - "expr": "histogram_quantile(0.95, sum( rate(hv_kafka_consumer_travel_time_seconds_bucket[$time_range]) )by(le) )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "95th percentile of avg message travel time", - "refId": "B" - }, - { - "expr": "histogram_quantile(0.99, sum( rate(hv_kafka_consumer_travel_time_seconds_bucket[$time_range]) )by(le) )", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "99th percentile of avg message travel time", - "refId": "C" - }, - { - "expr": "rate(hv_kafka_consumer_travel_time_seconds_sum[$time_range])/rate(hv_kafka_consumer_travel_time_seconds_count[$time_range])", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "avg message travel time", - "refId": "D" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Avg message travel time", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorPostfix": false, - "colorPrefix": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 4, - "w": 6, - "x": 0, - "y": 10 - }, - "id": 8, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "options": {}, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "tableColumn": "", - "targets": [ - { - "expr": "hv_kafka_consumer_offset_partition_hv_ves_perf3gpp_0", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "timeFrom": null, - "timeShift": null, - "title": "Current offset on partition 0", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - } - ], - "refresh": "5s", - "schemaVersion": 18, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "allValue": null, - "current": { - "tags": [], - "text": "15m", - "value": "15m" - }, - "hide": 0, - "includeAll": false, - "label": null, - "multi": false, - "name": "time_range", - "options": [ - { - "selected": false, - "text": "5m", - "value": "5m" - }, - { - "selected": false, - "text": "10m", - "value": "10m" - }, - { - "selected": true, - "text": "15m", - "value": "15m" - }, - { - "selected": false, - "text": "30m", - "value": "30m" - }, - { - "selected": false, - "text": "1h", - "value": "1h" - } - ], - "query": "5m, 10m, 15m, 30m, 1h", - "skipUrlSync": false, - "type": "custom" - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "Performance tests", - "uid": "ErPSMaIZk", - "version": 3 -}
\ No newline at end of file diff --git a/tools/performance/local/grafana/dashboards/processing.json b/tools/performance/local/grafana/dashboards/processing.json deleted file mode 100644 index d74968cb..00000000 --- a/tools/performance/local/grafana/dashboards/processing.json +++ /dev/null @@ -1,926 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "Prometheus", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "gnetId": null, - "graphTooltip": 0, - "id": 2, - "links": [], - "panels": [ - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "Prometheus", - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 0, - "y": 0 - }, - "id": 2, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(hvves_messages_received_total) by (value)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Messages received", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 3, - "y": 0 - }, - "id": 4, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(hvves_messages_dropped_total)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Messages dropped", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 3, - "x": 6, - "y": 0 - }, - "id": 6, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(hvves_messages_sent_total)", - "format": "time_series", - "instant": true, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Messages Sent", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "avg" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "fill": 0, - "gridPos": { - "h": 12, - "w": 15, - "x": 9, - "y": 0 - }, - "id": 9, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sideWidth": 350, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "histogram_quantile(0.90, sum( rate(hvves_messages_processing_time_seconds_bucket[15m]) )by(le) )", - "format": "time_series", - "hide": false, - "instant": false, - "intervalFactor": 1, - "legendFormat": "90th percentile of processing time on pods", - "refId": "B" - }, - { - "expr": "rate(hvves_messages_processing_time_seconds_sum[15m])/rate(hvves_messages_processing_time_seconds_count[15m])", - "format": "time_series", - "hide": false, - "instant": false, - "interval": "", - "intervalFactor": 1, - "legendFormat": "{{ kubernetes_pod_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Single message processing time average", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "s", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "fill": 0, - "gridPos": { - "h": 9, - "w": 9, - "x": 0, - "y": 3 - }, - "id": 8, - "legend": { - "avg": false, - "current": false, - "hideEmpty": true, - "hideZero": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "rate(hvves_messages_latency_seconds_sum[1h])/rate(hvves_messages_latency_seconds_count[1h])", - "format": "time_series", - "hide": false, - "instant": false, - "intervalFactor": 1, - "legendFormat": "{{ kubernetes_pod_name }}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Latency", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "fontSize": "100%", - "gridPos": { - "h": 9, - "w": 5, - "x": 0, - "y": 12 - }, - "id": 11, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "short" - } - ], - "targets": [ - { - "expr": "sum(hvves_messages_received_total) by (kubernetes_pod_name, value)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "title": "Messages processed per pod", - "transform": "timeseries_aggregations", - "type": "table" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "fontSize": "100%", - "gridPos": { - "h": 5, - "w": 4, - "x": 5, - "y": 12 - }, - "id": 12, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "short" - } - ], - "targets": [ - { - "expr": "sum(hvves_messages_sent_topic_total) by (topic, value)", - "format": "time_series", - "intervalFactor": 1, - "legendFormat": "{{topic}}", - "refId": "A" - } - ], - "title": "Messages sent per topic", - "transform": "timeseries_aggregations", - "type": "table" - }, - { - "aliasColors": {}, - "bars": false, - "dashLength": 10, - "dashes": false, - "datasource": "Prometheus", - "fill": 0, - "gridPos": { - "h": 9, - "w": 9, - "x": 9, - "y": 12 - }, - "id": 16, - "legend": { - "alignAsTable": true, - "avg": true, - "current": true, - "hideEmpty": false, - "hideZero": false, - "max": true, - "min": true, - "rightSide": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "null", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(system_cpu_usage) by (kubernetes_pod_name)", - "format": "time_series", - "intervalFactor": 2, - "legendFormat": "{{kubernetes_pod_name}}", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": "20 m", - "timeRegions": [], - "timeShift": null, - "title": "System cpu usage", - "tooltip": { - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "transparent": false, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - }, - { - "text": "Avg", - "value": "avg" - } - ], - "datasource": "Prometheus", - "fontSize": "100%", - "gridPos": { - "h": 9, - "w": 6, - "x": 18, - "y": 12 - }, - "id": 22, - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "styles": [ - { - "alias": "Time", - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "alias": "", - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "short" - } - ], - "targets": [ - { - "expr": "(sum(container_memory_usage_bytes{pod_name=~\"dep-dcae-hv-ves-collector.*\"}) by (pod_name)) / 1024 / 1024 / 1024", - "format": "time_series", - "hide": false, - "instant": true, - "intervalFactor": 1, - "legendFormat": "{{ pod_name }}", - "refId": "A" - } - ], - "title": "Memory usage per pod [GB]", - "transform": "timeseries_aggregations", - "transparent": false, - "type": "table" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "format": "decbytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 2, - "w": 4, - "x": 5, - "y": 17 - }, - "id": 20, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(hvves_messages_received_payload_bytes_total)", - "format": "time_series", - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Total received payload bytes", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "#299c46", - "rgba(237, 129, 40, 0.89)", - "#d44a3a" - ], - "datasource": "Prometheus", - "format": "decbytes", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 2, - "w": 4, - "x": 5, - "y": 19 - }, - "id": 18, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(hvves_messages_received_payload_bytes_total)/sum(hvves_messages_received_total)", - "format": "time_series", - "hide": false, - "instant": false, - "intervalFactor": 1, - "refId": "A" - } - ], - "thresholds": "", - "title": "Average received payload bytes", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "0", - "value": "null" - } - ], - "valueName": "current" - } - ], - "refresh": "1s", - "schemaVersion": 16, - "style": "dark", - "tags": [], - "templating": { - "list": [] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "1s", - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "HV-VES processing", - "uid": "V94Kjlwmz", - "version": 1 -}
\ No newline at end of file diff --git a/tools/performance/local/grafana/datasources/prometheus.yaml b/tools/performance/local/grafana/datasources/prometheus.yaml deleted file mode 100644 index 80717b08..00000000 --- a/tools/performance/local/grafana/datasources/prometheus.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: 1 - -datasources: -- name: Prometheus - type: prometheus - access: proxy - url: http://prometheus:9090 - isDefault: true - editable: true - jsonData: - timeInterval: '5s' diff --git a/tools/performance/local/local-performance-test.sh b/tools/performance/local/local-performance-test.sh deleted file mode 100755 index 82287e6f..00000000 --- a/tools/performance/local/local-performance-test.sh +++ /dev/null @@ -1,193 +0,0 @@ -#!/usr/bin/env bash -# ============LICENSE_START======================================================= -# dcaegen2-collectors-veshv -# ================================================================================ -# Copyright (C) 2019 NOKIA -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= - -SCRIPT_DIRECTORY="$(pwd "$0")" -CERT_FILE=${CERT_FILE:-/ssl/client.p12} -CERT_PASS_FILE=${CERT_PASS_FILE:-/ssl/client.pass} -HV_VES_NETWORK=${HV_VES_NETWORK:-local_default} -VOLUME_MAPPING=${VOLUME_MAPPING:-$SCRIPT_DIRECTORY/../../ssl/:/ssl} -PRODUCER_IMAGE_NAME=${PRODUCER_IMAGE_NAME:-the-a-team-registry-local.esisoj70.emea.nsn-net.net/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-go-client:latest} - -PRODUCER_APP_NAME=hv-ves-producer -HV_VES_ADDRESS=ves-hv-collector:6061 -CONTAINERS_COUNT=1 -CLIENTS_PER_CONTAINER=1 -MSG_SIZE=16384 -MSG_COUNT=1000 -INTERVAL_MS=0 - -function usage() { - echo "" - echo "Run HV-VES performance test locally" - echo "Usage $0 setup|start|clean|help" - echo " setup : generate certs and set up docker components" - echo " start : run the performance test" - echo " Optional parameters:" - echo " --address : HV-VES address in host:port format (ves-hv-collector:6061)" - echo " --containers : number of docker containers to create (1)" - echo " --clients : number of clients in a single container (1)" - echo " --msg-size : size in bytes of a single message (16384)" - echo " --msg-count : amount of messages to sent by one client in single container (1000)" - echo " --interval : interval between messages (0)" - echo " clean : remove generated certs, HV-VES components and producers" - echo " help : print usage" - echo "Example invocations:" - echo "./local-performance-test.sh setup" - echo "./local-performance-test.sh start --containers 10 --clients 100 --msg-count 10000" - echo "./local-performance-test.sh clean" - exit 1 -} - -function setup_environment(){ - echo "Setting up" - cd ../../ssl - ./gen-certs.sh - cd "$SCRIPT_DIRECTORY" - docker-compose up -d - - echo "Waiting for components to be healthy.." - while [[ $(docker-compose ps | grep -c "unhealthy\|starting") -ne 0 ]] ; do - sleep 1 - done - - echo "All components ready" - exit 0 -} - -function start_performance_test(){ - - TEST_ID=$(date +%s) - create_containers ${CONTAINERS_COUNT} ${TEST_ID} & - - while :; do - ACTIVE_PRODUCERS=$(docker ps --format "table {{.ID}}\t{{.Status}}" -f "label=id=$TEST_ID") - ACTIVE_PRODUCERS_COUNT=$(echo "$ACTIVE_PRODUCERS" | grep -c "Up") - - clear - print_test_configuration - echo "Active producers ($ACTIVE_PRODUCERS_COUNT/$CONTAINERS_COUNT):" - echo "$ACTIVE_PRODUCERS" - - EXITED_CONTAINERS=$(docker ps -aq -f "label=id=$TEST_ID" -f status=exited | wc -l) - [[ ${EXITED_CONTAINERS} -eq ${CONTAINERS_COUNT} ]] && break - - sleep 1 - done - - clear - print_test_configuration - echo "Test finished" - # TODO put test result here - exit 0 -} - -function print_test_configuration(){ - echo "PERFORMANCE TEST IN PROGRESS" - echo "" - echo "Test configuration:" - echo "Containers count: $CONTAINERS_COUNT" - echo "Clients per container: $CLIENTS_PER_CONTAINER" - echo "Message size: $MSG_SIZE" - echo "Messages per client: $MSG_COUNT" - echo "Interval: $INTERVAL_MS" - echo "" -} - -function create_containers(){ - - for i in $(seq 1 ${1}); do - docker run -d -l id="$2" -l app="$PRODUCER_APP_NAME" -v "$VOLUME_MAPPING" --network="$HV_VES_NETWORK" "$PRODUCER_IMAGE_NAME" \ - --address "$HV_VES_ADDRESS" \ - --certfile "$CERT_FILE" \ - --certpass "$CERT_PASS_FILE" \ - --clients "$CLIENTS_PER_CONTAINER" \ - --msgsize "$MSG_SIZE" \ - --msgcount "$MSG_COUNT" \ - --intervalms "$INTERVAL_MS" > /dev/null - done -} - -function clean(){ - echo "Cleaning up" - - echo "Removing active producers" - docker rm --force $(docker ps -aqf "label=app=$PRODUCER_APP_NAME") - - echo "Clearing generated certs" - cd ../../ssl - ./gen-certs.sh clean - - cd "$SCRIPT_DIRECTORY" - - echo "Removing HV-VES components" - docker-compose down - exit 0 -} - -cd "$SCRIPT_DIRECTORY" - -if [[ $# -eq 0 ]]; then - usage -else - for arg in ${@} - do - case ${arg} in - setup) - setup_environment - ;; - start) - shift 1 - while [[ $(($#)) -gt 0 ]]; do - case "${1}" in - --address) - HV_VES_ADDRESS=${2} - ;; - --containers) - CONTAINERS_COUNT=${2} - ;; - --clients) - CLIENTS_PER_CONTAINER=${2} - ;; - --msg-size) - MSG_SIZE=${2} - ;; - --msg-count) - MSG_COUNT=${2} - ;; - --interval) - INTERVAL_MS=${2} - ;; - esac - shift 2 - done - start_performance_test - ;; - clean) - clean - ;; - help) - usage - ;; - *) - echo "Unknown action: ${arg}" >&2 - usage - ;; - esac - done -fi
\ No newline at end of file diff --git a/tools/performance/local/logs/.gitignore b/tools/performance/local/logs/.gitignore deleted file mode 100644 index 1287e9bd..00000000 --- a/tools/performance/local/logs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -** -!.gitignore diff --git a/tools/performance/local/prometheus.yml b/tools/performance/local/prometheus.yml deleted file mode 100644 index 074b2dca..00000000 --- a/tools/performance/local/prometheus.yml +++ /dev/null @@ -1,24 +0,0 @@ -global: - scrape_interval: 5s - external_labels: - monitor: 'my-monitor' - -scrape_configs: - - job_name: 'prometheus' - static_configs: - - targets: ['localhost:9090'] - - - job_name: 'kafka-processing-consumer' - metrics_path: '/monitoring/prometheus' - static_configs: - - targets: ['kafka-processing-consumer:6063'] - - - job_name: 'kafka-offset-consumer' - metrics_path: '/monitoring/prometheus' - static_configs: - - targets: ['kafka-offset-consumer:6062'] - - - job_name: 'ves-hv-collector' - metrics_path: '/monitoring/prometheus' - static_configs: - - targets: ['ves-hv-collector:6060'] |