Add Prometheus metrics rules (#3651)
diff --git a/heron/config/src/yaml/conf/aurora/metrics_sinks.yaml b/heron/config/src/yaml/conf/aurora/metrics_sinks.yaml
index 6530209..6cac2f1 100644
--- a/heron/config/src/yaml/conf/aurora/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/aurora/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled
diff --git a/heron/config/src/yaml/conf/examples/metrics_sinks.yaml b/heron/config/src/yaml/conf/examples/metrics_sinks.yaml
index 9d36164..cfcc7f0 100644
--- a/heron/config/src/yaml/conf/examples/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/examples/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled
diff --git a/heron/config/src/yaml/conf/kubernetes/metrics_sinks.yaml b/heron/config/src/yaml/conf/kubernetes/metrics_sinks.yaml
index d6c5a39..081f5c7 100644
--- a/heron/config/src/yaml/conf/kubernetes/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/kubernetes/metrics_sinks.yaml
@@ -76,13 +76,144 @@
"__time_spent_back_pressure_by_compid": SUM
prometheus-sink:
- class: "org.apache.heron.metricsmgr.sink.PrometheusSink"
- port: 8080 # The port on which to run (either port or port-file are mandatory)
- path: /metrics # The path on which to publish the metrics (mandatory)
- flat-metrics: true # By default the web-sink will publish a flat "name -> value" json map
- include-topology-name: true # Include topology name in metric name (default false)
- metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
- metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+ class: "org.apache.heron.metricsmgr.sink.PrometheusSink"
+ port: 8080 # The port on which to run (either port or port-file are mandatory)
+ path: /metrics # The path on which to publish the metrics (mandatory)
+ flat-metrics: true # By default the web-sink will publish a flat "name -> value" json map
+ include-topology-name: true # Include topology name in metric name (default false)
+ metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
+ metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+ rules:
+ # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+ - pattern: __jvm-(.+)/(.+)
+ name: jvm_$1_$2
+ attrNameSnakeCase: true
+ type: COUNTER
+ # "__execute-time-ns/pulsar-prod-4/default": "418764",
+ - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+ name: $1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ dest_component: "$2"
+ context: "$3"
+ # "__execute-time-ns/pulsar-prod-4": "418764",
+ - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+ name: $1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ context: "$2"
+ # StreamManager
+ # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+ - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+ name: $2
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ dest_component: "$1"
+ # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+ - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+ name: $1_$4
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ dest_container: "$2"
+ dest_task: "$3"
+ # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+ - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+ name: $1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ dest_container: "$2"
+ dest_task: "$3"
+ # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+ - pattern: PulsarSpout/(.+)/(.+)
+ name: pulsar_spout_$2
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ component: "$1"
+ - pattern: PulsarBolt/(.+)/(.+)
+ name: pulsar_bolt_$2
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ component: "$1"
+ # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+ - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ node_id: "$4"
+ # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+ - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+ - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ topic: "$4"
+ partition: "$5"
+ # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+ - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ topic: "$4"
+ # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+ - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+ name: kafka_consumer_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$2"
+ node_id: "$3"
+ - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+ name: kafka_consumer_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$2"
+ - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+ name: kafka_consumer_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$2"
+ # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+ - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+ name: kafka_offset_$3
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ topic: "$1"
+ partition: "$2"
+ # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+ - pattern: kafkaOffset/(.+)/(.+)
+ name: kafka_offset_$2
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ topic: "$1"
### Config for metricscache-sink
metricscache-sink:
diff --git a/heron/config/src/yaml/conf/local/metrics_sinks.yaml b/heron/config/src/yaml/conf/local/metrics_sinks.yaml
index 6530209..6cac2f1 100644
--- a/heron/config/src/yaml/conf/local/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/local/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled
diff --git a/heron/config/src/yaml/conf/localzk/metrics_sinks.yaml b/heron/config/src/yaml/conf/localzk/metrics_sinks.yaml
index 6530209..6cac2f1 100644
--- a/heron/config/src/yaml/conf/localzk/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/localzk/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled
diff --git a/heron/config/src/yaml/conf/marathon/metrics_sinks.yaml b/heron/config/src/yaml/conf/marathon/metrics_sinks.yaml
index 6530209..6cac2f1 100644
--- a/heron/config/src/yaml/conf/marathon/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/marathon/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled
diff --git a/heron/config/src/yaml/conf/mesos/metrics_sinks.yaml b/heron/config/src/yaml/conf/mesos/metrics_sinks.yaml
index 6530209..6cac2f1 100644
--- a/heron/config/src/yaml/conf/mesos/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/mesos/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled
diff --git a/heron/config/src/yaml/conf/nomad/metrics_sinks.yaml b/heron/config/src/yaml/conf/nomad/metrics_sinks.yaml
index 6a3c4fb..2e7d426 100644
--- a/heron/config/src/yaml/conf/nomad/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/nomad/metrics_sinks.yaml
@@ -84,6 +84,137 @@
include-topology-name: true # Include topology name in metric name (default false)
metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+ rules:
+ # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+ - pattern: __jvm-(.+)/(.+)
+ name: jvm_$1_$2
+ attrNameSnakeCase: true
+ type: COUNTER
+ # "__execute-time-ns/pulsar-prod-4/default": "418764",
+ - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+ name: $1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ dest_component: "$2"
+ context: "$3"
+ # "__execute-time-ns/pulsar-prod-4": "418764",
+ - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+ name: $1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ context: "$2"
+ # StreamManager
+ # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+ - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+ name: $2
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ dest_component: "$1"
+ # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+ - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+ name: $1_$4
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ dest_container: "$2"
+ dest_task: "$3"
+ # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+ - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+ name: $1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ dest_container: "$2"
+ dest_task: "$3"
+ # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+ - pattern: PulsarSpout/(.+)/(.+)
+ name: pulsar_spout_$2
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ component: "$1"
+ - pattern: PulsarBolt/(.+)/(.+)
+ name: pulsar_bolt_$2
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ component: "$1"
+ # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+ - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ node_id: "$4"
+ # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+ - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+ - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ topic: "$4"
+ partition: "$5"
+ # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+ - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ topic: "$4"
+ # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+ - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+ name: kafka_consumer_$2_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$3"
+ - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+ name: kafka_consumer_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$2"
+ node_id: "$3"
+ - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+ name: kafka_consumer_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$2"
+ - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+ name: kafka_consumer_$1
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ client_id: "$2"
+ # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+ - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+ name: kafka_offset_$3
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ topic: "$1"
+ partition: "$2"
+ # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+ - pattern: kafkaOffset/(.+)/(.+)
+ name: kafka_offset_$2
+ attrNameSnakeCase: true
+ type: COUNTER
+ labels:
+ topic: "$1"
### Config for metricscache-sink
metricscache-sink:
diff --git a/heron/config/src/yaml/conf/sandbox/metrics_sinks.yaml b/heron/config/src/yaml/conf/sandbox/metrics_sinks.yaml
index 6530209..6cac2f1 100644
--- a/heron/config/src/yaml/conf/sandbox/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/sandbox/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled
diff --git a/heron/config/src/yaml/conf/slurm/metrics_sinks.yaml b/heron/config/src/yaml/conf/slurm/metrics_sinks.yaml
index 6530209..6cac2f1 100644
--- a/heron/config/src/yaml/conf/slurm/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/slurm/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled
diff --git a/heron/config/src/yaml/conf/test/test_metrics_sinks.yaml b/heron/config/src/yaml/conf/test/test_metrics_sinks.yaml
index 6ae89b3..21add70 100644
--- a/heron/config/src/yaml/conf/test/test_metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/test/test_metrics_sinks.yaml
@@ -111,6 +111,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for scribe-sink
# scribe-sink:
diff --git a/heron/config/src/yaml/conf/yarn/metrics_sinks.yaml b/heron/config/src/yaml/conf/yarn/metrics_sinks.yaml
index 6530209..6cac2f1 100644
--- a/heron/config/src/yaml/conf/yarn/metrics_sinks.yaml
+++ b/heron/config/src/yaml/conf/yarn/metrics_sinks.yaml
@@ -114,6 +114,137 @@
# include-topology-name: true # Include topology name in metric name (default false)
# metrics-cache-max-size: 1000000 # Max number of metrics cached and published (default 1000000)
# metrics-cache-ttl-sec: 600 # Time in seconds after which a metric that was collected will stopped being published (default 600)
+# rules:
+# # __jvm-peak-usage/G1-Survivor-Space-committed": "9",
+# - pattern: __jvm-(.+)/(.+)
+# name: jvm_$1_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# # "__execute-time-ns/pulsar-prod-4/default": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$2"
+# context: "$3"
+# # "__execute-time-ns/pulsar-prod-4": "418764",
+# - pattern: __(?!jvm-+)(.+-count|.+-latency|.+-count|.+-time-ns)/(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# context: "$2"
+# # StreamManager
+# # "__client_stmgr-17/__bytes_to_stmgrs": "7841039",
+# - pattern: __(client_stmgr-.+)/__(.+_to_stmgrs)
+# name: $2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_component: "$1"
+# # "__connection_buffer_by_instanceid/container_1_pulsar-prod-9_201/bytes": "0.000000",
+# - pattern: __(connection_buffer_by_instanceid)/container_(.+)_(.+)/(.+)
+# name: $1_$4
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # "__time_spent_back_pressure_by_compid/container_1_pulsar-prod-5_151": "0",
+# - pattern: __(time_spent_back_pressure_by_compid)/container_(.+)_(.+)
+# name: $1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# dest_container: "$2"
+# dest_task: "$3"
+# # PulsarSpoutMetrics of PulsarSpout 'PulsarSpoutMetrics/pulsar-prod-4-0/consumerThroughput'
+# - pattern: PulsarSpout/(.+)/(.+)
+# name: pulsar_spout_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# - pattern: PulsarBolt/(.+)/(.+)
+# name: pulsar_bolt_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# component: "$1"
+# # name: "kafkaConsumer-request-size-max/consumer-node-metrics/client-id-spout/node-id-node-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(node)-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# node_id: "$4"
+# # name: "kafkaConsumer-commit-rate/consumer-coordinator-metrics/client-id-spout"
+# - pattern: kafkaConsumer-(.+)/consumer-(coordinator)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# # name: "kafkaConsumer-records-lag-max/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-lad-es/partition-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)/partition-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# partition: "$5"
+# # name: "kafkaConsumer-records-per-request-avg/consumer-fetch-manager-metrics/client-id-spout/topic-nginx-adp-cms-api"
+# - pattern: kafkaConsumer-(.+)/consumer-(fetch-manager)-metrics/client-id-(.+)/topic-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# topic: "$4"
+# # name: "kafkaConsumer-bytes-consumed-total/consumer-fetch-manager-metrics/client-id-consumer-1"
+# - pattern: kafkaConsumer-(.+)/consumer-(feath-manager)-metrics/client-id-(.+)
+# name: kafka_consumer_$2_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)/node-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# node_id: "$3"
+# - pattern: kafkaConsumer-(.+)/consumer-metrics/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# - pattern: kafkaConsumer-(.+)/app-info/client-id-(.+)
+# name: kafka_consumer_$1
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# client_id: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/partition_2/spoutLag'
+# - pattern: kafkaOffset/(.+)/partition_([0-9]+)/(.+)
+# name: kafka_offset_$3
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
+# partition: "$2"
+# # kafkaOffset of KafkaSpout 'kafkaOffset/topicName/totalSpoutLag'
+# - pattern: kafkaOffset/(.+)/(.+)
+# name: kafka_offset_$2
+# attrNameSnakeCase: true
+# type: COUNTER
+# labels:
+# topic: "$1"
### Config for graphite-sink
### Currently the graphite-sink is disabled