| /* |
| * Copyright (C) 2022 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| syntax = "proto2"; |
| |
| package perfetto.protos; |
| |
| // measure max IRQ runtime and IRQ tasks running over threshold. |
| message AndroidIrqRuntimeMetric { |
| message IrqSlice { |
| // IRQ name |
| optional string irq_name = 1; |
| // timestamp |
| optional int64 ts = 2; |
| // runtime of IRQ task |
| optional int64 dur = 3; |
| } |
| message ThresholdMetric { |
| // Threshold value |
| optional string threshold = 1; |
| // over threshold count |
| optional int64 over_threshold_count = 2; |
| // anomaly ratio (over threshold count / total count) |
| optional double anomaly_ratio= 3; |
| } |
| message IrqRuntimeMetric { |
| // max runtime of IRQ tasks |
| optional int64 max_runtime = 1; |
| // total IRQ tasks |
| optional int64 total_count = 2; |
| // over threshold metric |
| optional ThresholdMetric threshold_metric = 3; |
| // information for top 10 IRQ tasks |
| repeated IrqSlice longest_irq_slices = 4; |
| } |
| |
| // metrics for hardirq and softirq |
| optional IrqRuntimeMetric hw_irq = 1; |
| optional IrqRuntimeMetric sw_irq = 2; |
| } |
| |