| // 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. |
| |
| namespace cpp impala |
| namespace java org.apache.impala.thrift |
| |
| // NOTE: The definitions in this file are part of the binary format of the Impala query |
| // profiles. They should preserve backwards compatibility and as such some rules apply |
| // when making changes. Please see RuntimeProfile.thrift for more details. |
| |
| |
| // Metric and counter data types. |
| // |
| // WARNING (IMPALA-8236): Adding new values to TUnit and using them in TCounter will break |
| // old decoders of thrift profiles. The workaround is to only use the following units in |
| // anything that is serialised into a TCounter: |
| // UNIT, UNIT_PER_SECOND, CPU_TICKS, BYTES, BYTES_PER_SECOND, TIME_NS, DOUBLE_VALUE |
| enum TUnit { |
| // A dimensionless numerical quantity |
| UNIT = 0 |
| // Rate of a dimensionless numerical quantity |
| UNIT_PER_SECOND = 1 |
| CPU_TICKS = 2 |
| BYTES = 3 |
| BYTES_PER_SECOND = 4 |
| TIME_NS = 5 |
| DOUBLE_VALUE = 6 |
| // No units at all, may not be a numerical quantity |
| NONE = 7 |
| TIME_MS = 8 |
| TIME_S = 9 |
| TIME_US = 10 |
| // 100th of a percent, used to express ratios etc., range from 0 to 10000, pretty |
| // printed as integer percentages from 0 to 100. |
| BASIS_POINTS = 11 |
| } |
| |
| // The kind of value that a metric represents. |
| enum TMetricKind { |
| // May go up or down over time |
| GAUGE = 0 |
| // A strictly increasing value |
| COUNTER = 1 |
| // Fixed; will never change |
| PROPERTY = 2 |
| STATS = 3 |
| SET = 4 |
| HISTOGRAM = 5 |
| } |