-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
30 changed files
with
2,311 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
97 changes: 97 additions & 0 deletions
97
oap-server/server-starter/src/main/resources/otel-rules/activemq/activemq-broker.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
# This will parse a textual representation of a duration. The formats | ||
# accepted are based on the ISO-8601 duration format {@code PnDTnHnMn.nS} | ||
# with days considered to be exactly 24 hours. | ||
# <p> | ||
# Examples: | ||
# <pre> | ||
# "PT20.345S" -- parses as "20.345 seconds" | ||
# "PT15M" -- parses as "15 minutes" (where a minute is 60 seconds) | ||
# "PT10H" -- parses as "10 hours" (where an hour is 3600 seconds) | ||
# "P2D" -- parses as "2 days" (where a day is 24 hours or 86400 seconds) | ||
# "P2DT3H4M" -- parses as "2 days, 3 hours and 4 minutes" | ||
# "P-6H3M" -- parses as "-6 hours and +3 minutes" | ||
# "-P6H3M" -- parses as "-6 hours and -3 minutes" | ||
# "-P-6H+3M" -- parses as "+6 hours and -3 minutes" | ||
# </pre> | ||
filter: "{ tags -> tags.job_name == 'activemq-monitoring' }" # The OpenTelemetry job name | ||
expSuffix: tag({tags -> tags.cluster = 'activemq::' + tags.cluster}).instance(['cluster'], ['brokerName'], Layer.ACTIVEMQ) | ||
metricPrefix: meter_activemq_broker | ||
metricsRules: | ||
# Uptime of the broker in day. | ||
- name: uptime | ||
exp: org_apache_activemq_Broker_UptimeMillis.max(['cluster','brokerName','service_instance_id']) | ||
# If slave broker 1 else 0. | ||
- name: state | ||
exp: org_apache_activemq_Broker_Slave.sum(['cluster','brokerName','service_instance_id']) | ||
# The number of clients connected to the broker currently. | ||
- name: current_connentions | ||
exp: org_apache_activemq_Broker_CurrentConnectionsCount.sum(['cluster','brokerName','service_instance_id']) | ||
# The number of producers currently attached to the broker. | ||
- name: current_producer_count | ||
exp: org_apache_activemq_Broker_ProducerCount.sum(['cluster','brokerName','service_instance_id']) | ||
# The number of consumers consuming messages from the broker. | ||
- name: current_consumer_count | ||
exp: org_apache_activemq_Broker_ConsumerCount.sum(['cluster','brokerName','service_instance_id']) | ||
# Number of message producers active on destinations. | ||
- name: producer_count | ||
exp: org_apache_activemq_Broker_TotalProducerCount.sum(['cluster','brokerName','service_instance_id']).increase("PT1M") | ||
# Number of message consumers subscribed to destinations. | ||
- name: consumer_count | ||
exp: org_apache_activemq_Broker_TotalConsumerCount.sum(['cluster','brokerName','service_instance_id']).increase("PT1M") | ||
# The total number of messages sent to the broker. | ||
- name: enqueue_count | ||
exp: org_apache_activemq_Broker_TotalEnqueueCount.sum(['cluster','brokerName','service_instance_id']).increase("PT1M") | ||
# The total number of messages the broker has delivered to consumers. | ||
- name: dequeue_count | ||
exp: org_apache_activemq_Broker_TotalDequeueCount.sum(['cluster','brokerName','service_instance_id']).increase("PT1M") | ||
# The total number of messages sent to the broker per second. | ||
- name: enqueue_rate | ||
exp: org_apache_activemq_Broker_TotalEnqueueCount.sum(['cluster','brokerName','service_instance_id']).rate("PT1M") | ||
# The total number of messages the broker has delivered to consumers per second. | ||
- name: dequeue_rate | ||
exp: org_apache_activemq_Broker_TotalDequeueCount.sum(['cluster','brokerName','service_instance_id']).rate("PT1M") | ||
# Percentage of configured memory used by the broker. | ||
- name: memory_percent_usage | ||
exp: org_apache_activemq_Broker_MemoryPercentUsage.sum(['cluster','brokerName','service_instance_id']) | ||
# Memory used by undelivered messages in bytes. | ||
- name: memory_usage | ||
exp: org_apache_activemq_Broker_MemoryUsageByteCount.sum(['cluster','brokerName','service_instance_id']) | ||
# Memory limited used for holding undelivered messages before paging to temporary storage. | ||
- name: memory_limit | ||
exp: org_apache_activemq_Broker_MemoryLimit.sum(['cluster','brokerName','service_instance_id']) | ||
# Percentage of available disk space used for persistent message storage. | ||
- name: store_percent_usage | ||
exp: org_apache_activemq_Broker_StorePercentUsage.sum(['cluster','brokerName','service_instance_id']) | ||
# Disk limited used for persistent messages before producers are blocked. | ||
- name: store_limit | ||
exp: org_apache_activemq_Broker_StoreLimit.sum(['cluster','brokerName','service_instance_id']) | ||
# Percentage of available disk space used for non-persistent message storage. | ||
- name: temp_percent_usage | ||
exp: org_apache_activemq_Broker_TempPercentUsage.sum(['cluster','brokerName','service_instance_id']) | ||
# Disk limited used for non-persistent messages and temporary data before producers are blocked. | ||
- name: temp_limit | ||
exp: org_apache_activemq_Broker_TempLimit.sum(['cluster','brokerName','service_instance_id']) | ||
# Average message size on this broker. | ||
- name: average_message_size | ||
exp: org_apache_activemq_Broker_AverageMessageSize.avg(['cluster','brokerName','service_instance_id']) | ||
# Max message size on this broker. | ||
- name: max_message_size | ||
exp: org_apache_activemq_Broker_MaxMessageSize.max(['cluster','brokerName','service_instance_id']) | ||
# Number of messages on this broker that have been dispatched but not acknowledged. | ||
- name: queue_size | ||
exp: org_apache_activemq_Broker_QueueSize.sum(['cluster','brokerName','destinationName']) |
95 changes: 95 additions & 0 deletions
95
oap-server/server-starter/src/main/resources/otel-rules/activemq/activemq-cluster.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
# This will parse a textual representation of a duration. The formats | ||
# accepted are based on the ISO-8601 duration format {@code PnDTnHnMn.nS} | ||
# with days considered to be exactly 24 hours. | ||
# <p> | ||
# Examples: | ||
# <pre> | ||
# "PT20.345S" -- parses as "20.345 seconds" | ||
# "PT15M" -- parses as "15 minutes" (where a minute is 60 seconds) | ||
# "PT10H" -- parses as "10 hours" (where an hour is 3600 seconds) | ||
# "P2D" -- parses as "2 days" (where a day is 24 hours or 86400 seconds) | ||
# "P2DT3H4M" -- parses as "2 days, 3 hours and 4 minutes" | ||
# "P-6H3M" -- parses as "-6 hours and +3 minutes" | ||
# "-P6H3M" -- parses as "-6 hours and -3 minutes" | ||
# "-P-6H+3M" -- parses as "+6 hours and -3 minutes" | ||
# </pre> | ||
|
||
filter: "{ tags -> tags.job_name == 'activemq-monitoring' }" # The OpenTelemetry job name | ||
expSuffix: tag({tags -> tags.cluster = 'activemq::' + tags.cluster}).service(['cluster'], Layer.ACTIVEMQ) | ||
metricPrefix: meter_activemq_cluster | ||
metricsRules: | ||
# The average system load, range:[0,10000]. | ||
- name: system_load_average | ||
exp: java_lang_OperatingSystem_SystemLoadAverage.avg(['cluster','service_instance_id'])*10000 | ||
# Threads currently used by the JVM. | ||
- name: thread_count | ||
exp: java_lang_Threading_ThreadCount.sum(['cluster','service_instance_id']) | ||
# The initial amount of heap memory available. | ||
- name: heap_memory_usage_init | ||
exp: java_lang_Memory_HeapMemoryUsage_init.sum(['cluster','service_instance_id']) | ||
# The memory is guaranteed to be available for the JVM to use. | ||
- name: heap_memory_usage_committed | ||
exp: java_lang_Memory_HeapMemoryUsage_committed.sum(['cluster','service_instance_id']) | ||
# The amount of JVM heap memory currently in use. | ||
- name: heap_memory_usage_used | ||
exp: java_lang_Memory_HeapMemoryUsage_used.sum(['cluster','service_instance_id']) | ||
# The maximum possible size of the heap memory. | ||
- name: heap_memory_usage_max | ||
exp: java_lang_Memory_HeapMemoryUsage_max.sum(['cluster','service_instance_id']) | ||
# The gc count of G1 Old Generation(JDK[9,17]). | ||
- name: gc_g1_old_collection_count | ||
exp: java_lang_G1_Old_Generation_CollectionCount.tagEqual('type','GarbageCollector').sum(['cluster','service_instance_id']).increase("PT1M") | ||
# The gc count of G1 Young Generation(JDK[9,17]). | ||
- name: gc_g1_young_collection_count | ||
exp: java_lang_G1_Young_Generation_CollectionCount.tagEqual('type','GarbageCollector').sum(['cluster','service_instance_id']).increase("PT1M") | ||
# The gc time spent in G1 Old Generation in milliseconds(JDK[9,17]). | ||
- name: gc_g1_old_collection_time | ||
exp: java_lang_G1_Old_Generation_CollectionTime.tagEqual('type','GarbageCollector').sum(['cluster','service_instance_id']).increase("PT1M") | ||
# The gc time spent in G1 Young Generation in milliseconds(JDK[9,17]). | ||
- name: gc_g1_young_collection_time | ||
exp: java_lang_G1_Young_Generation_CollectionTime.tagEqual('type','GarbageCollector').sum(['cluster','service_instance_id']).increase("PT1M") | ||
# The gc count of PS MarkSweep(JDK[6,8]). | ||
- name: gc_parallel_old_collection_count | ||
exp: java_lang_GarbageCollector_CollectionCount.tagEqual('name','PS MarkSweep').sum(['cluster','service_instance_id']).increase("PT1M") | ||
# The gc count of PS Scavenge(JDK[6,8]). | ||
- name: gc_parallel_young_collection_count | ||
exp: java_lang_GarbageCollector_CollectionCount.tagEqual('name','PS Scavenge').sum(['cluster','service_instance_id']).increase("PT1M") | ||
# The gc time spent in PS MarkSweep in milliseconds(JDK[6,8]). | ||
- name: gc_parallel_old_collection_time | ||
exp: java_lang_GarbageCollector_CollectionTime.tagEqual('name','PS MarkSweep').sum(['cluster','service_instance_id']).increase("PT1M") | ||
# The gc time spent in PS Scavenge in milliseconds(JDK[6,8]). | ||
- name: gc_parallel_young_collection_time | ||
exp: java_lang_GarbageCollector_CollectionTime.tagEqual('name','PS Scavenge').sum(['cluster','service_instance_id']).increase("PT1M") | ||
# Number of messages that have been sent to the broker per second. | ||
- name: enqueue_rate | ||
exp: org_apache_activemq_Broker_TotalEnqueueCount.sum((['cluster'])).rate("PT1M") | ||
# Number of messages that have been acknowledged or discarded on the broker per second. | ||
- name: dequeue_rate | ||
exp: org_apache_activemq_Broker_TotalDequeueCount.sum(['cluster']).rate("PT1M") | ||
# Number of messages that has been delivered to consumers per second. | ||
- name: dispatch_rate | ||
exp: org_apache_activemq_Broker_DispatchCount.sum(['cluster']).rate("PT1M") | ||
# Number of messages that have been expired per second. | ||
- name: expired_rate | ||
exp: org_apache_activemq_Broker_ExpiredCount.sum(['cluster']).rate("PT1M") | ||
# The average time a message was held on this cluster. | ||
- name: average_enqueue_time | ||
exp: org_apache_activemq_Broker_AverageEnqueueTime.avg(['cluster']) | ||
# The max time a message was held on this cluster. | ||
- name: max_enqueue_time | ||
exp: org_apache_activemq_Broker_MaxEnqueueTime.max(['cluster']) |
79 changes: 79 additions & 0 deletions
79
oap-server/server-starter/src/main/resources/otel-rules/activemq/activemq-destination.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
# This will parse a textual representation of a duration. The formats | ||
# accepted are based on the ISO-8601 duration format {@code PnDTnHnMn.nS} | ||
# with days considered to be exactly 24 hours. | ||
# <p> | ||
# Examples: | ||
# <pre> | ||
# "PT20.345S" -- parses as "20.345 seconds" | ||
# "PT15M" -- parses as "15 minutes" (where a minute is 60 seconds) | ||
# "PT10H" -- parses as "10 hours" (where an hour is 3600 seconds) | ||
# "P2D" -- parses as "2 days" (where a day is 24 hours or 86400 seconds) | ||
# "P2DT3H4M" -- parses as "2 days, 3 hours and 4 minutes" | ||
# "P-6H3M" -- parses as "-6 hours and +3 minutes" | ||
# "-P6H3M" -- parses as "-6 hours and -3 minutes" | ||
# "-P-6H+3M" -- parses as "+6 hours and -3 minutes" | ||
# </pre> | ||
filter: "{ tags -> tags.job_name == 'activemq-monitoring' }" # The OpenTelemetry job name | ||
expSuffix: tag({tags -> tags.cluster = 'activemq::' + tags.cluster}).endpoint(['cluster'], ['destinationName'], Layer.ACTIVEMQ) | ||
metricPrefix: meter_activemq_destination | ||
metricsRules: | ||
# Number of producers attached to this destination. | ||
- name: producer_count | ||
exp: org_apache_activemq_Broker_ProducerCount.sum(['cluster','destinationName','destinationType']) | ||
# Number of consumers subscribed to this destination. | ||
- name: consumer_count | ||
exp: org_apache_activemq_Broker_ConsumerCount.sum(['cluster','destinationName','destinationType']) | ||
# Number of consumers subscribed to the topics. | ||
- name: topic_consumer_count | ||
exp: org_apache_activemq_Broker_ConsumerCount.tagEqual('destinationType','Topic').sum(['cluster','destinationName']) | ||
# The number of messages that have not been acknowledged by a consumer. | ||
- name: queue_size | ||
exp: org_apache_activemq_Broker_QueueSize.sum(['cluster','destinationName','destinationType']) | ||
# Percentage of configured memory used by the destination. | ||
- name: memory_usage | ||
exp: org_apache_activemq_Broker_MemoryUsageByteCount.sum(['cluster','destinationName','destinationType']) | ||
# Percentage of configured memory used by the destination. | ||
- name: memory_percent_usage | ||
exp: org_apache_activemq_Broker_MemoryPercentUsage.sum(['cluster','destinationName','destinationType']) | ||
# The number of messages sent to the destination. | ||
- name: enqueue_count | ||
exp: org_apache_activemq_Broker_EnqueueCount.sum(['cluster','destinationName','destinationType']) | ||
# The number of messages the destination has delivered to consumers. | ||
- name: dequeue_count | ||
exp: org_apache_activemq_Broker_DequeueCount.sum(['cluster','destinationName','destinationType']) | ||
# The average time a message was held on this destination. | ||
- name: average_enqueue_time | ||
exp: org_apache_activemq_Broker_AverageEnqueueTime.sum(['cluster','destinationName','destinationType']) | ||
# The max time a message was held on this destination. | ||
- name: max_enqueue_time | ||
exp: org_apache_activemq_Broker_MaxEnqueueTime.sum(['cluster','destinationName','destinationType']) | ||
# Number of messages that has been delivered to consumers. | ||
- name: dispatch_count | ||
exp: org_apache_activemq_Broker_DispatchCount.sum(['cluster','destinationName','destinationType']) | ||
# Number of messages that have been expired. | ||
- name: expired_count | ||
exp: org_apache_activemq_Broker_ExpiredCount.sum(['cluster','destinationName','destinationType']) | ||
# Number of messages that have been dispatched to but not acknowledged by consumers. | ||
- name: inflight_count | ||
exp: org_apache_activemq_Broker_InFlightCount.sum(['cluster','destinationName','destinationType']) | ||
# Average message size on this destination. | ||
- name: average_message_size | ||
exp: org_apache_activemq_Broker_AverageMessageSize.avg(['cluster','destinationName','destinationType']) | ||
# Max message size on this destination. | ||
- name: max_message_size | ||
exp: org_apache_activemq_Broker_MaxMessageSize.max(['cluster','destinationName','destinationType']) |
Oops, something went wrong.