| # 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> |
| fetcherInterval: PT15S |
| fetcherTimeout: PT10S |
| metricsPath: /metrics |
| staticConfig: |
| # targets will be labeled as "instance" |
| targets: |
| - url: http://localhost:1234 |
| sslCaFilePath: |
| labels: |
| service: oap-server |
| expSuffix: tag({tags -> tags.service = 'oap::' + tags.service}).instance(['service'], ['instance']) |
| metricPrefix: meter_oap |
| metricsRules: |
| - name: instance_cpu_percentage |
| exp: (process_cpu_seconds_total * 100).sum(['service', 'instance']).rate('PT1M') |
| - name: instance_jvm_memory_bytes_used |
| exp: jvm_memory_bytes_used.sum(['service', 'instance']) |
| - name: instance_jvm_young_gc_count |
| exp: jvm_gc_collection_seconds_count.tagMatch('gc', 'PS Scavenge|Copy|ParNew|G1 Young Generation').sum(['service', 'instance']).increase('PT1M') |
| - name: instance_jvm_young_gc_time |
| exp: jvm_gc_collection_seconds_sum.tagMatch('gc', 'PS Scavenge|Copy|ParNew|G1 Young Generation').sum(['service', 'instance']) * 1000 |
| - name: instance_jvm_old_gc_count |
| exp: jvm_gc_collection_seconds_count.tagMatch('gc', 'PS MarkSweep|MarkSweepCompact|ConcurrentMarkSweep|G1 Old Generation').sum(['service', 'instance']).increase('PT1M') |
| - name: instance_jvm_old_gc_time |
| exp: jvm_gc_collection_seconds_sum.tagMatch('gc', 'PS MarkSweep|MarkSweepCompact|ConcurrentMarkSweep|G1 Old Generation').sum(['service', 'instance']) * 1000 |
| - name: instance_trace_count |
| exp: trace_in_latency_count.sum(['service', 'instance']).increase('PT1M') |
| - name: instance_trace_latency_percentile |
| exp: trace_in_latency.sum(['le', 'service', 'instance']).increase('PT1M').histogram().histogram_percentile([50,70,90,99]) |
| - name: instance_trace_analysis_error_count |
| exp: trace_analysis_error_count.sum(['service', 'instance']).increase('PT1M') |
| - name: instance_mesh_count |
| exp: mesh_analysis_latency_count.sum(['service', 'instance']).increase('PT1M') |
| - name: instance_mesh_latency_percentile |
| exp: mesh_analysis_latency.sum(['le', 'service', 'instance']).increase('PT1M').histogram().histogram_percentile([50,70,90,99]) |
| - name: instance_mesh_analysis_error_count |
| exp: mesh_analysis_error_count.sum(['service', 'instance']).increase('PT1M') |
| - name: instance_metrics_first_aggregation |
| exp: metrics_aggregation.tagEqual('dimensionality', 'minute', 'level', '1').sum(['service', 'instance']).increase('PT5M') |
| - name: instance_metrics_second_aggregation |
| exp: metrics_aggregation.tagEqual('dimensionality', 'minute', 'level', '2').sum(['service', 'instance']).increase('PT5M') |
| - name: instance_persistence_execute_percentile |
| exp: persistence_timer_bulk_execute_latency.sum(['le', 'service', 'instance']).increase('PT5M').histogram().histogram_percentile([50,70,90,99]) |
| - name: instance_persistence_prepare_percentile |
| exp: persistence_timer_bulk_prepare_latency.sum(['le', 'service', 'instance']).increase('PT5M').histogram().histogram_percentile([50,70,90,99]) |
| - name: instance_persistence_error_count |
| exp: persistence_timer_bulk_error_count.sum(['service', 'instance']).increase('PT5M') |
| - name: instance_persistence_execute_count |
| exp: persistence_timer_bulk_execute_latency_count.sum(['service', 'instance']).increase('PT5M') |
| - name: instance_persistence_prepare_count |
| exp: persistence_timer_bulk_prepare_latency_count.sum(['service', 'instance']).increase('PT5M') |
| - name: jvm_thread_live_count |
| exp: jvm_threads_current.sum(['service', 'instance']) |
| - name: jvm_thread_daemon_count |
| exp: jvm_threads_daemon.sum(['service', 'instance']) |
| - name: jvm_thread_peak_count |
| exp: jvm_threads_peak.sum(['service', 'instance']) |
| - name: jvm_thread_runnable_count |
| exp: jvm_threads_state.tagMatch('state', 'RUNNABLE').sum(['service', 'instance']) |
| - name: jvm_thread_blocked_count |
| exp: jvm_threads_state.tagMatch('state', 'BLOCKED').sum(['service', 'instance']) |
| - name: jvm_thread_waiting_count |
| exp: jvm_threads_state.tagMatch('state', 'WAITING').sum(['service', 'instance']) |
| - name: jvm_thread_timed_waiting_count |
| exp: jvm_threads_state.tagMatch('state', 'TIMED_WAITING').sum(['service', 'instance']) |
| - name: jvm_class_loaded_count |
| exp: jvm_classes_loaded.sum(['service', 'instance']) |
| - name: jvm_class_total_unloaded_count |
| exp: jvm_classes_unloaded_total.sum(['service', 'instance']) |
| - name: jvm_class_total_loaded_count |
| exp: jvm_classes_loaded_total.sum(['service', 'instance']) |