mirror of
https://github.com/logos-messaging/logos-messaging-simulator.git
synced 2026-01-05 23:43:11 +00:00
Adapt to latest nwaku master changes on configuration
This commit is contained in:
parent
91da824974
commit
b1a73d27f1
@ -75,7 +75,7 @@ services:
|
|||||||
- simulation
|
- simulation
|
||||||
|
|
||||||
contract-repo-deployer:
|
contract-repo-deployer:
|
||||||
image: node:hydrogen-bullseye
|
image: node:hydrogen-bookworm
|
||||||
labels:
|
labels:
|
||||||
com.centurylinklabs.watchtower.enable: '${WATCHTOWER_ENABLED:-true}'
|
com.centurylinklabs.watchtower.enable: '${WATCHTOWER_ENABLED:-true}'
|
||||||
environment:
|
environment:
|
||||||
@ -116,10 +116,11 @@ services:
|
|||||||
ipv4_address: 10.2.0.100
|
ipv4_address: 10.2.0.100
|
||||||
|
|
||||||
servicenode:
|
servicenode:
|
||||||
image: ${NWAKU_IMAGE:-wakuorg/nwaku:latest}
|
image: ${SERVICENODE_IMAGE:-wakuorg/nwaku:latest}
|
||||||
# container_name: servicenode
|
# container_name: servicenode
|
||||||
cpuset: ${SERVICENODE_CPU_CORES:-4}
|
cpuset: ${SERVICENODE_CPU_CORES:-4}
|
||||||
mem_limit: ${SERVICENODE_MEM_LIMIT:-512m}
|
mem_limit: ${SERVICENODE_MEM_LIMIT:-512m}
|
||||||
|
memswap_limit: ${SERVICENODE_MEM_LIMIT:-512m}
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
labels:
|
labels:
|
||||||
com.centurylinklabs.watchtower.enable: '${WATCHTOWER_ENABLED:-true}'
|
com.centurylinklabs.watchtower.enable: '${WATCHTOWER_ENABLED:-true}'
|
||||||
@ -150,6 +151,29 @@ services:
|
|||||||
simulation:
|
simulation:
|
||||||
ipv4_address: 10.2.0.101
|
ipv4_address: 10.2.0.101
|
||||||
|
|
||||||
|
relaynode:
|
||||||
|
image: ${SERVICENODE_IMAGE:-wakuorg/nwaku:latest}
|
||||||
|
restart: on-failure
|
||||||
|
labels:
|
||||||
|
com.centurylinklabs.watchtower.enable: '${WATCHTOWER_ENABLED:-true}'
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:8643:8645 # Service node REST-API
|
||||||
|
entrypoint: sh
|
||||||
|
environment:
|
||||||
|
<<:
|
||||||
|
- *rln_env
|
||||||
|
- *bootstrap_env
|
||||||
|
command:
|
||||||
|
- '/opt/run_relaynode.sh'
|
||||||
|
volumes:
|
||||||
|
- ./run_relaynode.sh:/opt/run_relaynode.sh:Z
|
||||||
|
- privatekeys-volume:/shared
|
||||||
|
depends_on:
|
||||||
|
contract-repo-deployer:
|
||||||
|
condition: service_completed_successfully
|
||||||
|
networks:
|
||||||
|
- simulation
|
||||||
|
|
||||||
nwaku:
|
nwaku:
|
||||||
image: ${NWAKU_IMAGE:-wakuorg/nwaku:latest}
|
image: ${NWAKU_IMAGE:-wakuorg/nwaku:latest}
|
||||||
restart: on-failure
|
restart: on-failure
|
||||||
|
|||||||
@ -2051,13 +2051,13 @@
|
|||||||
"text": "lpt-receivernode-1:8003",
|
"text": "lpt-receivernode-1:8003",
|
||||||
"value": "lpt-receivernode-1:8003"
|
"value": "lpt-receivernode-1:8003"
|
||||||
},
|
},
|
||||||
"definition": "label_values({instance=~\".*receivernode.*\"},instance)",
|
"definition": "label_values({instance=~\".*receiver.*\"},instance)",
|
||||||
"includeAll": false,
|
"includeAll": false,
|
||||||
"name": "receiver",
|
"name": "receiver",
|
||||||
"options": [],
|
"options": [],
|
||||||
"query": {
|
"query": {
|
||||||
"qryType": 1,
|
"qryType": 1,
|
||||||
"query": "label_values({instance=~\".*receivernode.*\"},instance)",
|
"query": "label_values({instance=~\".*receiver.*\"},instance)",
|
||||||
"refId": "PrometheusVariableQueryEditor-VariableQuery"
|
"refId": "PrometheusVariableQueryEditor-VariableQuery"
|
||||||
},
|
},
|
||||||
"refresh": 1,
|
"refresh": 1,
|
||||||
|
|||||||
741
monitoring/configuration/dashboards/nimgc.json
Normal file
741
monitoring/configuration/dashboards/nimgc.json
Normal file
@ -0,0 +1,741 @@
|
|||||||
|
{
|
||||||
|
"annotations": {
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"builtIn": 1,
|
||||||
|
"datasource": {
|
||||||
|
"type": "grafana",
|
||||||
|
"uid": "-- Grafana --"
|
||||||
|
},
|
||||||
|
"enable": true,
|
||||||
|
"hide": true,
|
||||||
|
"iconColor": "rgba(0, 211, 255, 1)",
|
||||||
|
"name": "Annotations & Alerts",
|
||||||
|
"type": "dashboard"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"description": "Measuring performance of request/response nwaku protocols.\nLightpush, Filter and Store request processing times are measured.",
|
||||||
|
"editable": true,
|
||||||
|
"fiscalYearStartMonth": 0,
|
||||||
|
"graphTooltip": 0,
|
||||||
|
"id": 2,
|
||||||
|
"links": [],
|
||||||
|
"panels": [
|
||||||
|
{
|
||||||
|
"collapsed": false,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 1,
|
||||||
|
"w": 24,
|
||||||
|
"x": 0,
|
||||||
|
"y": 0
|
||||||
|
},
|
||||||
|
"id": 9,
|
||||||
|
"panels": [],
|
||||||
|
"title": "Lightpush performance in scope of Nim Memory Management",
|
||||||
|
"type": "row"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"axisBorderShow": false,
|
||||||
|
"axisCenteredZero": false,
|
||||||
|
"axisColorMode": "text",
|
||||||
|
"axisLabel": "",
|
||||||
|
"axisPlacement": "auto",
|
||||||
|
"barAlignment": 0,
|
||||||
|
"barWidthFactor": 0.6,
|
||||||
|
"drawStyle": "line",
|
||||||
|
"fillOpacity": 0,
|
||||||
|
"gradientMode": "none",
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"insertNulls": false,
|
||||||
|
"lineInterpolation": "linear",
|
||||||
|
"lineWidth": 1,
|
||||||
|
"pointSize": 5,
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
},
|
||||||
|
"showPoints": "auto",
|
||||||
|
"spanNulls": false,
|
||||||
|
"stacking": {
|
||||||
|
"group": "A",
|
||||||
|
"mode": "none"
|
||||||
|
},
|
||||||
|
"thresholdsStyle": {
|
||||||
|
"mode": "off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "red",
|
||||||
|
"value": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 8,
|
||||||
|
"w": 13,
|
||||||
|
"x": 0,
|
||||||
|
"y": 1
|
||||||
|
},
|
||||||
|
"id": 11,
|
||||||
|
"options": {
|
||||||
|
"legend": {
|
||||||
|
"calcs": [],
|
||||||
|
"displayMode": "list",
|
||||||
|
"placement": "bottom",
|
||||||
|
"showLegend": true
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"hideZeros": false,
|
||||||
|
"mode": "single",
|
||||||
|
"sort": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pluginVersion": "12.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"editorMode": "builder",
|
||||||
|
"expr": "rate(waku_service_requests_total{service = \"/vac/waku/lightpush/2.0.0-beta1\", instance=\"servicenode:8008\"}[$__rate_interval])",
|
||||||
|
"legendFormat": "{{service}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"disableTextWrap": false,
|
||||||
|
"editorMode": "builder",
|
||||||
|
"expr": "rate(waku_service_requests_total{service=\"/vac/waku/filter-subscribe/2.0.0-beta1\", instance=\"servicenode:8008\"}[$__rate_interval])",
|
||||||
|
"fullMetaSearch": false,
|
||||||
|
"hide": false,
|
||||||
|
"includeNullMetadata": true,
|
||||||
|
"legendFormat": "{{service}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "B",
|
||||||
|
"useBackend": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Lightpush and filter request rate",
|
||||||
|
"type": "timeseries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"axisBorderShow": false,
|
||||||
|
"axisCenteredZero": false,
|
||||||
|
"axisColorMode": "text",
|
||||||
|
"axisLabel": "",
|
||||||
|
"axisPlacement": "auto",
|
||||||
|
"barAlignment": 0,
|
||||||
|
"barWidthFactor": 0.6,
|
||||||
|
"drawStyle": "line",
|
||||||
|
"fillOpacity": 0,
|
||||||
|
"gradientMode": "none",
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"insertNulls": false,
|
||||||
|
"lineInterpolation": "linear",
|
||||||
|
"lineWidth": 1,
|
||||||
|
"pointSize": 5,
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
},
|
||||||
|
"showPoints": "auto",
|
||||||
|
"spanNulls": false,
|
||||||
|
"stacking": {
|
||||||
|
"group": "A",
|
||||||
|
"mode": "none"
|
||||||
|
},
|
||||||
|
"thresholdsStyle": {
|
||||||
|
"mode": "off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "red",
|
||||||
|
"value": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"unit": "decbytes"
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 30,
|
||||||
|
"w": 11,
|
||||||
|
"x": 13,
|
||||||
|
"y": 1
|
||||||
|
},
|
||||||
|
"id": 15,
|
||||||
|
"options": {
|
||||||
|
"legend": {
|
||||||
|
"calcs": [
|
||||||
|
"lastNotNull",
|
||||||
|
"max",
|
||||||
|
"min"
|
||||||
|
],
|
||||||
|
"displayMode": "table",
|
||||||
|
"placement": "bottom",
|
||||||
|
"showLegend": true,
|
||||||
|
"sortBy": "Max",
|
||||||
|
"sortDesc": true
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"hideZeros": false,
|
||||||
|
"mode": "single",
|
||||||
|
"sort": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pluginVersion": "12.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"disableTextWrap": false,
|
||||||
|
"editorMode": "builder",
|
||||||
|
"expr": "nim_gc_heap_instance_occupied_bytes{instance=\"servicenode:8008\"}",
|
||||||
|
"fullMetaSearch": false,
|
||||||
|
"includeNullMetadata": true,
|
||||||
|
"legendFormat": "{{type_name}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "A",
|
||||||
|
"useBackend": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Heap allocation per objects",
|
||||||
|
"type": "timeseries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"custom": {
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 6,
|
||||||
|
"w": 13,
|
||||||
|
"x": 0,
|
||||||
|
"y": 9
|
||||||
|
},
|
||||||
|
"id": 1,
|
||||||
|
"options": {
|
||||||
|
"calculate": false,
|
||||||
|
"cellGap": 1,
|
||||||
|
"color": {
|
||||||
|
"exponent": 0.5,
|
||||||
|
"fill": "dark-orange",
|
||||||
|
"mode": "scheme",
|
||||||
|
"reverse": true,
|
||||||
|
"scale": "exponential",
|
||||||
|
"scheme": "Reds",
|
||||||
|
"steps": 64
|
||||||
|
},
|
||||||
|
"exemplars": {
|
||||||
|
"color": "rgba(255,0,255,0.7)"
|
||||||
|
},
|
||||||
|
"filterValues": {
|
||||||
|
"le": 1e-9
|
||||||
|
},
|
||||||
|
"legend": {
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
"rowsFrame": {
|
||||||
|
"layout": "auto"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"mode": "single",
|
||||||
|
"showColorScale": false,
|
||||||
|
"yHistogram": false
|
||||||
|
},
|
||||||
|
"yAxis": {
|
||||||
|
"axisPlacement": "left",
|
||||||
|
"reverse": false,
|
||||||
|
"unit": "s"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pluginVersion": "12.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"disableTextWrap": false,
|
||||||
|
"editorMode": "builder",
|
||||||
|
"exemplar": false,
|
||||||
|
"expr": "sum by(le) (increase(waku_service_request_handling_duration_seconds_bucket{instance=\"servicenode:8008\", service=\"/vac/waku/lightpush/2.0.0-beta1\"}[$__rate_interval]))",
|
||||||
|
"format": "heatmap",
|
||||||
|
"fullMetaSearch": false,
|
||||||
|
"includeNullMetadata": true,
|
||||||
|
"instant": false,
|
||||||
|
"interval": "",
|
||||||
|
"legendFormat": "{{le}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "A",
|
||||||
|
"useBackend": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Lightpush request performance",
|
||||||
|
"type": "heatmap"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"axisBorderShow": false,
|
||||||
|
"axisCenteredZero": false,
|
||||||
|
"axisColorMode": "text",
|
||||||
|
"axisLabel": "",
|
||||||
|
"axisPlacement": "auto",
|
||||||
|
"barAlignment": 0,
|
||||||
|
"barWidthFactor": 0.6,
|
||||||
|
"drawStyle": "line",
|
||||||
|
"fillOpacity": 25,
|
||||||
|
"gradientMode": "opacity",
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"insertNulls": false,
|
||||||
|
"lineInterpolation": "linear",
|
||||||
|
"lineWidth": 1,
|
||||||
|
"pointSize": 5,
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
},
|
||||||
|
"showPoints": "auto",
|
||||||
|
"spanNulls": false,
|
||||||
|
"stacking": {
|
||||||
|
"group": "A",
|
||||||
|
"mode": "none"
|
||||||
|
},
|
||||||
|
"thresholdsStyle": {
|
||||||
|
"mode": "off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "red",
|
||||||
|
"value": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"unit": "decbytes"
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 16,
|
||||||
|
"w": 13,
|
||||||
|
"x": 0,
|
||||||
|
"y": 15
|
||||||
|
},
|
||||||
|
"id": 5,
|
||||||
|
"options": {
|
||||||
|
"legend": {
|
||||||
|
"calcs": [
|
||||||
|
"lastNotNull"
|
||||||
|
],
|
||||||
|
"displayMode": "table",
|
||||||
|
"placement": "bottom",
|
||||||
|
"showLegend": true
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"hideZeros": false,
|
||||||
|
"mode": "single",
|
||||||
|
"sort": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pluginVersion": "12.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"disableTextWrap": false,
|
||||||
|
"editorMode": "builder",
|
||||||
|
"expr": "nim_gc_mem_bytes{instance=\"servicenode:8008\"}",
|
||||||
|
"format": "time_series",
|
||||||
|
"fullMetaSearch": false,
|
||||||
|
"includeNullMetadata": true,
|
||||||
|
"legendFormat": "Nim gc mem bytes of {{instance}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "A",
|
||||||
|
"useBackend": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"disableTextWrap": false,
|
||||||
|
"editorMode": "builder",
|
||||||
|
"expr": "nim_gc_mem_occupied_bytes{instance=\"servicenode:8008\"}",
|
||||||
|
"fullMetaSearch": false,
|
||||||
|
"hide": false,
|
||||||
|
"includeNullMetadata": true,
|
||||||
|
"instant": false,
|
||||||
|
"legendFormat": "Nim gc occupied bytes of {{instance}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "B",
|
||||||
|
"useBackend": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"disableTextWrap": false,
|
||||||
|
"editorMode": "builder",
|
||||||
|
"expr": "nim_gc_heap_instance_occupied_summed_bytes{instance=\"servicenode:8008\"}",
|
||||||
|
"fullMetaSearch": false,
|
||||||
|
"hide": false,
|
||||||
|
"includeNullMetadata": true,
|
||||||
|
"instant": false,
|
||||||
|
"legendFormat": "Nim gc heap bytes of {{instance}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "C",
|
||||||
|
"useBackend": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"disableTextWrap": false,
|
||||||
|
"editorMode": "builder",
|
||||||
|
"expr": "process_virtual_memory_bytes{instance=\"servicenode:8008\"}",
|
||||||
|
"fullMetaSearch": false,
|
||||||
|
"hide": false,
|
||||||
|
"includeNullMetadata": true,
|
||||||
|
"instant": false,
|
||||||
|
"legendFormat": "Process virtual memory of {{instance}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "D",
|
||||||
|
"useBackend": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "NIM GC Memory",
|
||||||
|
"type": "timeseries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"axisBorderShow": false,
|
||||||
|
"axisCenteredZero": false,
|
||||||
|
"axisColorMode": "text",
|
||||||
|
"axisLabel": "",
|
||||||
|
"axisPlacement": "auto",
|
||||||
|
"barAlignment": 0,
|
||||||
|
"barWidthFactor": 0.6,
|
||||||
|
"drawStyle": "line",
|
||||||
|
"fillOpacity": 0,
|
||||||
|
"gradientMode": "none",
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"insertNulls": false,
|
||||||
|
"lineInterpolation": "linear",
|
||||||
|
"lineWidth": 1,
|
||||||
|
"pointSize": 5,
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
},
|
||||||
|
"showPoints": "auto",
|
||||||
|
"spanNulls": false,
|
||||||
|
"stacking": {
|
||||||
|
"group": "A",
|
||||||
|
"mode": "none"
|
||||||
|
},
|
||||||
|
"thresholdsStyle": {
|
||||||
|
"mode": "off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "red",
|
||||||
|
"value": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"unit": "percentunit"
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 8,
|
||||||
|
"w": 13,
|
||||||
|
"x": 0,
|
||||||
|
"y": 31
|
||||||
|
},
|
||||||
|
"id": 14,
|
||||||
|
"options": {
|
||||||
|
"legend": {
|
||||||
|
"calcs": [],
|
||||||
|
"displayMode": "list",
|
||||||
|
"placement": "bottom",
|
||||||
|
"showLegend": true
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"hideZeros": false,
|
||||||
|
"mode": "single",
|
||||||
|
"sort": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pluginVersion": "12.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"editorMode": "code",
|
||||||
|
"expr": "rate(container_cpu_usage_seconds_total{container_label_com_docker_compose_service=\"servicenode\"}[$__rate_interval])",
|
||||||
|
"legendFormat": "{{container_label_com_docker_compose_service}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "A"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "CPU usage",
|
||||||
|
"type": "timeseries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"axisBorderShow": false,
|
||||||
|
"axisCenteredZero": false,
|
||||||
|
"axisColorMode": "text",
|
||||||
|
"axisGridShow": true,
|
||||||
|
"axisLabel": "",
|
||||||
|
"axisPlacement": "auto",
|
||||||
|
"barAlignment": 0,
|
||||||
|
"barWidthFactor": 0.6,
|
||||||
|
"drawStyle": "line",
|
||||||
|
"fillOpacity": 27,
|
||||||
|
"gradientMode": "opacity",
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"insertNulls": false,
|
||||||
|
"lineInterpolation": "linear",
|
||||||
|
"lineStyle": {
|
||||||
|
"fill": "solid"
|
||||||
|
},
|
||||||
|
"lineWidth": 1,
|
||||||
|
"pointSize": 5,
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
},
|
||||||
|
"showPoints": "auto",
|
||||||
|
"spanNulls": false,
|
||||||
|
"stacking": {
|
||||||
|
"group": "A",
|
||||||
|
"mode": "none"
|
||||||
|
},
|
||||||
|
"thresholdsStyle": {
|
||||||
|
"mode": "off"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mappings": [],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"color": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "red",
|
||||||
|
"value": 80
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"unit": "decbytes"
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
},
|
||||||
|
"gridPos": {
|
||||||
|
"h": 8,
|
||||||
|
"w": 11,
|
||||||
|
"x": 13,
|
||||||
|
"y": 31
|
||||||
|
},
|
||||||
|
"id": 7,
|
||||||
|
"options": {
|
||||||
|
"legend": {
|
||||||
|
"calcs": [
|
||||||
|
"lastNotNull"
|
||||||
|
],
|
||||||
|
"displayMode": "list",
|
||||||
|
"placement": "bottom",
|
||||||
|
"showLegend": true
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"hideZeros": false,
|
||||||
|
"mode": "single",
|
||||||
|
"sort": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pluginVersion": "12.0.0",
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "PBFA97CFB590B2093"
|
||||||
|
},
|
||||||
|
"disableTextWrap": false,
|
||||||
|
"editorMode": "code",
|
||||||
|
"exemplar": false,
|
||||||
|
"expr": "container_memory_usage_bytes{container_label_com_docker_compose_service=\"servicenode\"}",
|
||||||
|
"format": "time_series",
|
||||||
|
"fullMetaSearch": false,
|
||||||
|
"hide": false,
|
||||||
|
"includeNullMetadata": true,
|
||||||
|
"instant": false,
|
||||||
|
"legendFormat": "{{container_label_com_docker_compose_service}}",
|
||||||
|
"range": true,
|
||||||
|
"refId": "B",
|
||||||
|
"useBackend": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"title": "Container memory usage",
|
||||||
|
"type": "timeseries"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"collapsed": false,
|
||||||
|
"gridPos": {
|
||||||
|
"h": 1,
|
||||||
|
"w": 24,
|
||||||
|
"x": 0,
|
||||||
|
"y": 39
|
||||||
|
},
|
||||||
|
"id": 8,
|
||||||
|
"panels": [],
|
||||||
|
"title": "General load",
|
||||||
|
"type": "row"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"preload": false,
|
||||||
|
"refresh": "auto",
|
||||||
|
"schemaVersion": 41,
|
||||||
|
"tags": [],
|
||||||
|
"templating": {
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"allowCustomValue": false,
|
||||||
|
"current": {
|
||||||
|
"text": "servicenode:8008",
|
||||||
|
"value": "servicenode:8008"
|
||||||
|
},
|
||||||
|
"definition": "label_values(libp2p_peers{instance=~\".*servicenode.*\"},instance)",
|
||||||
|
"label": "nwaku-instance",
|
||||||
|
"name": "nwaku_instance",
|
||||||
|
"options": [],
|
||||||
|
"query": {
|
||||||
|
"qryType": 1,
|
||||||
|
"query": "label_values(libp2p_peers{instance=~\".*servicenode.*\"},instance)",
|
||||||
|
"refId": "PrometheusVariableQueryEditor-VariableQuery"
|
||||||
|
},
|
||||||
|
"refresh": 1,
|
||||||
|
"regex": "",
|
||||||
|
"type": "query"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"time": {
|
||||||
|
"from": "now-15m",
|
||||||
|
"to": "now"
|
||||||
|
},
|
||||||
|
"timepicker": {},
|
||||||
|
"timezone": "browser",
|
||||||
|
"title": "Nim GC performance testing",
|
||||||
|
"uid": "cegfnbzrn2yv4cnimgc",
|
||||||
|
"version": 1
|
||||||
|
}
|
||||||
@ -13,7 +13,7 @@ exec /usr/bin/wakunode\
|
|||||||
--rest-allow-origin="waku-org.github.io"\
|
--rest-allow-origin="waku-org.github.io"\
|
||||||
--rest-allow-origin="localhost:*"\
|
--rest-allow-origin="localhost:*"\
|
||||||
--max-connections=300\
|
--max-connections=300\
|
||||||
--dns-discovery=true\
|
--dns-discovery=false\
|
||||||
--discv5-discovery=true\
|
--discv5-discovery=true\
|
||||||
--discv5-enr-auto-update=True\
|
--discv5-enr-auto-update=True\
|
||||||
--log-level=DEBUG\
|
--log-level=DEBUG\
|
||||||
@ -23,5 +23,3 @@ exec /usr/bin/wakunode\
|
|||||||
--nat=extip:${IP}\
|
--nat=extip:${IP}\
|
||||||
--shard=0\
|
--shard=0\
|
||||||
--cluster-id=66
|
--cluster-id=66
|
||||||
|
|
||||||
# --pubsub-topic=/waku/2/rs/66/0\
|
|
||||||
@ -46,5 +46,3 @@ exec /usr/bin/wakunode\
|
|||||||
--shard=0\
|
--shard=0\
|
||||||
--cluster-id=66\
|
--cluster-id=66\
|
||||||
--nodekey=5358f02c157accb30a6c1d5920e778604de12e23d6009512be44f72f1a64d828
|
--nodekey=5358f02c157accb30a6c1d5920e778604de12e23d6009512be44f72f1a64d828
|
||||||
|
|
||||||
# --pubsub-topic=/waku/2/rs/66/0\
|
|
||||||
@ -141,15 +141,13 @@ exec /usr/bin/wakunode\
|
|||||||
--rln-relay-tree-path="rlnv2_tree1"\
|
--rln-relay-tree-path="rlnv2_tree1"\
|
||||||
--rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC\
|
--rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC\
|
||||||
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT\
|
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT\
|
||||||
--dns-discovery=true\
|
--dns-discovery=false\
|
||||||
--discv5-discovery=true\
|
--discv5-discovery=true\
|
||||||
--discv5-enr-auto-update=True\
|
--discv5-enr-auto-update=True\
|
||||||
--log-level=DEBUG\
|
--log-level=INFO\
|
||||||
--metrics-server=True\
|
--metrics-server=True\
|
||||||
--metrics-server-address=0.0.0.0\
|
--metrics-server-address=0.0.0.0\
|
||||||
--discv5-bootstrap-node=${BOOTSTRAP_ENR}\
|
--discv5-bootstrap-node=${BOOTSTRAP_ENR}\
|
||||||
--nat=extip:${IP}\
|
--nat=extip:${IP}\
|
||||||
--shard=0\
|
--shard=0\
|
||||||
--cluster-id=66
|
--cluster-id=66
|
||||||
|
|
||||||
#--pubsub-topic=/waku/2/rs/66/0\
|
|
||||||
161
run_relaynode.sh
Executable file
161
run_relaynode.sh
Executable file
@ -0,0 +1,161 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Check Linux Distro Version - it can differ depending on the nwaku image used
|
||||||
|
OS=$(cat /etc/os-release)
|
||||||
|
if echo $OS | grep -q "Debian"; then
|
||||||
|
echo "The operating system is Debian."
|
||||||
|
apt update
|
||||||
|
apt install -y dnsutils
|
||||||
|
apt install -y jq
|
||||||
|
elif echo $OS | grep -q "Alpine"; then
|
||||||
|
echo "The operating system is Alpine."
|
||||||
|
apk add bind-tools
|
||||||
|
apk add jq
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -f .env; then
|
||||||
|
echo "Using .env file"
|
||||||
|
. $(pwd)/.env
|
||||||
|
fi
|
||||||
|
|
||||||
|
IP=$(ip a | grep "inet " | grep -Fv 127.0.0.1 | sed 's/.*inet \([^/]*\).*/\1/')
|
||||||
|
|
||||||
|
# Function to extract IP address from URL, resolve the IP and replace it in the original URL
|
||||||
|
get_ip_address_and_replace() {
|
||||||
|
local url=$1
|
||||||
|
local domain_name=$(echo $RPC_URL | awk -F[/:] '{print $4}')
|
||||||
|
local ip_address=$(dig +short $domain_name)
|
||||||
|
valid_rpc_url="$(echo "$url" | sed "s/$domain_name/$ip_address/g")"
|
||||||
|
echo $valid_rpc_url
|
||||||
|
}
|
||||||
|
|
||||||
|
# the format of the RPC URL is checked in the generateRlnKeystore command and hostnames are not valid
|
||||||
|
pattern="^(https?):\/\/((localhost)|([\w_-]+(?:(?:\.[\w_-]+)+)))(:[0-9]{1,5})?([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])*"
|
||||||
|
# Perform regex matching
|
||||||
|
if echo "$RPC_URL" | grep -q "$pattern"; then
|
||||||
|
echo "RPC URL is valid"
|
||||||
|
else
|
||||||
|
echo "RPC URL is invalid: $RPC_URL. Attempting to resolve hostname."
|
||||||
|
resolved_rpc_url="$(get_ip_address_and_replace $RPC_URL)"
|
||||||
|
if [ -z "$resolved_rpc_url" ]; then
|
||||||
|
echo -e "Failed to retrieve IP address for $RPC_URL\n"
|
||||||
|
else
|
||||||
|
echo -e "Resolved RPC URL for $RPC_URL: $resolved_rpc_url"
|
||||||
|
RPC_URL="$resolved_rpc_url"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
#Function to get the index of the container and use it to retrieve a private key to be used to generate the keystore, allowing for either dash or underscore container name format (for docker-compose backward compatibility)
|
||||||
|
get_private_key(){
|
||||||
|
|
||||||
|
# Read the JSON file
|
||||||
|
json_content=$(cat /shared/anvil-config.txt)
|
||||||
|
|
||||||
|
# Check if json_content has a value
|
||||||
|
if [ -z "$json_content" ]; then
|
||||||
|
echo "Error: Failed to read the JSON file or the file is empty." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract private_keys json array using jq
|
||||||
|
private_keys=$(echo "$json_content" | jq -r '.private_keys[]')
|
||||||
|
|
||||||
|
CNTR=`dig -x $IP +short | cut -d'.' -f1`
|
||||||
|
INDEX=`echo $CNTR | sed 's/.*[-_]\([0-9]*\)/\1/'`
|
||||||
|
|
||||||
|
if [ $? -ne 0 ] || [ -z "$INDEX" ]; then
|
||||||
|
echo "Error: Failed to determine the replica index from IP." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# iterate through list of private keys and get the one corresponding to the container index
|
||||||
|
# we need to iterate because array objects cannot be used in /bin/ash (Alpine) and a separate script would need to be called to use bash
|
||||||
|
current_index=1
|
||||||
|
for key in $private_keys
|
||||||
|
do
|
||||||
|
if [ $current_index -eq $INDEX ]; then
|
||||||
|
pk=$key
|
||||||
|
echo $key
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
current_index=$((current_index+1))
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$pk" ]; then
|
||||||
|
echo "Error: Failed to get private key for the container with index=$INDEX." >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if test -f .$RLN_CREDENTIAL_PATH; then
|
||||||
|
echo "$RLN_CREDENTIAL_PATH already exists. Use it instead of creating a new one."
|
||||||
|
else
|
||||||
|
private_key="$(get_private_key)"
|
||||||
|
echo "Private key: $private_key"
|
||||||
|
|
||||||
|
echo "Generating RLN keystore"
|
||||||
|
/usr/bin/wakunode generateRlnKeystore \
|
||||||
|
--rln-relay-eth-client-address="$RPC_URL" \
|
||||||
|
--rln-relay-eth-private-key=$private_key \
|
||||||
|
--rln-relay-eth-contract-address=$RLN_CONTRACT_ADDRESS \
|
||||||
|
--rln-relay-cred-path=$RLN_CREDENTIAL_PATH \
|
||||||
|
--rln-relay-cred-password=$RLN_CREDENTIAL_PASSWORD \
|
||||||
|
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT \
|
||||||
|
--rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC \
|
||||||
|
--log-level=DEBUG \
|
||||||
|
--execute
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "I am a nwaku node"
|
||||||
|
|
||||||
|
RETRIES=${RETRIES:=10}
|
||||||
|
|
||||||
|
while [ -z "${BOOTSTRAP_ENR}" ] && [ ${RETRIES} -ge 0 ]; do
|
||||||
|
BOOTSTRAP_ENR=$(wget -qO- http://bootstrap:8645/debug/v1/info --header='Content-Type:application/json' 2> /dev/null | sed 's/.*"enrUri":"\([^"]*\)".*/\1/');
|
||||||
|
echo "Bootstrap node not ready, retrying (retries left: ${RETRIES})"
|
||||||
|
sleep 1
|
||||||
|
RETRIES=$(( $RETRIES - 1 ))
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "${BOOTSTRAP_ENR}" ]; then
|
||||||
|
echo "Could not get BOOTSTRAP_ENR and none provided. Failing"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Using bootstrap node: ${BOOTSTRAP_ENR}"
|
||||||
|
echo "My IP is: ${IP}"
|
||||||
|
echo "Run with RLN ${RLN_ENABLED}"
|
||||||
|
|
||||||
|
exec /usr/bin/wakunode\
|
||||||
|
--relay=true\
|
||||||
|
--lightpush=true\
|
||||||
|
--max-connections=250\
|
||||||
|
--rest=true\
|
||||||
|
--rest-admin=true\
|
||||||
|
--rest-address=0.0.0.0\
|
||||||
|
--rest-port=8645\
|
||||||
|
--rest-allow-origin="waku-org.github.io"\
|
||||||
|
--rest-allow-origin="localhost:*"\
|
||||||
|
--rln-relay=${RLN_ENABLED}\
|
||||||
|
--rln-relay-dynamic=true\
|
||||||
|
--rln-relay-eth-client-address="$RPC_URL"\
|
||||||
|
--rln-relay-eth-contract-address=$RLN_CONTRACT_ADDRESS\
|
||||||
|
--rln-relay-cred-path=$RLN_CREDENTIAL_PATH\
|
||||||
|
--rln-relay-cred-password=$RLN_CREDENTIAL_PASSWORD\
|
||||||
|
--rln-relay-tree-path="rlnv2_tree1"\
|
||||||
|
--rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC\
|
||||||
|
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT\
|
||||||
|
--dns-discovery=false\
|
||||||
|
--discv5-discovery=true\
|
||||||
|
--discv5-enr-auto-update=True\
|
||||||
|
--log-level=DEBUG\
|
||||||
|
--metrics-server=True\
|
||||||
|
--metrics-server-address=0.0.0.0\
|
||||||
|
--discv5-bootstrap-node=${BOOTSTRAP_ENR}\
|
||||||
|
--nat=extip:${IP}\
|
||||||
|
--shard=0\
|
||||||
|
--num-shards-in-network=1\
|
||||||
|
--cluster-id=66
|
||||||
|
|
||||||
|
#--pubsub-topic=/waku/2/rs/66/0\
|
||||||
@ -155,19 +155,18 @@ exec /usr/bin/wakunode\
|
|||||||
--rln-relay-tree-path="rlnv2_tree1"\
|
--rln-relay-tree-path="rlnv2_tree1"\
|
||||||
--rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC\
|
--rln-relay-epoch-sec=$RLN_RELAY_EPOCH_SEC\
|
||||||
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT\
|
--rln-relay-user-message-limit=$RLN_RELAY_MSG_LIMIT\
|
||||||
--dns-discovery=true\
|
--dns-discovery=false\
|
||||||
--discv5-discovery=true\
|
--discv5-discovery=true\
|
||||||
--discv5-enr-auto-update=True\
|
--discv5-enr-auto-update=True\
|
||||||
--discv5-bootstrap-node=${BOOTSTRAP_ENR}\
|
--discv5-bootstrap-node=${BOOTSTRAP_ENR}\
|
||||||
--log-level=INFO\
|
--log-level=DEBUG\
|
||||||
--metrics-server=True\
|
--metrics-server=True\
|
||||||
--metrics-server-address=0.0.0.0\
|
--metrics-server-address=0.0.0.0\
|
||||||
--nat=extip:${IP}\
|
--nat=extip:${IP}\
|
||||||
--tcp-port:60001\
|
--tcp-port:60001\
|
||||||
--nodekey=e3416f0b00005aa3ebc9cd42797b3847bfbf4fe810edaa6a1fc65e755638b7fb\
|
--nodekey=e3416f0b00005aa3ebc9cd42797b3847bfbf4fe810edaa6a1fc65e755638b7fb\
|
||||||
--shard=0\
|
--shard=0\
|
||||||
|
--num-shards-in-network=1\
|
||||||
--cluster-id=66\
|
--cluster-id=66\
|
||||||
--store-message-db-url="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/postgres"\
|
--store-message-db-url="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/postgres"\
|
||||||
${STORE_RETENTION_POLICY}\
|
${STORE_RETENTION_POLICY}
|
||||||
|
|
||||||
#--pubsub-topic=/waku/2/rs/66/0\
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user